~ubuntu-branches/debian/experimental/ion/experimental

« back to all changes in this revision

Viewing changes to ici/include/sdr.h

  • Committer: Package Import Robot
  • Author(s): Leo Iannacone
  • Date: 2012-02-01 09:46:31 UTC
  • Revision ID: package-import@ubuntu.com-20120201094631-qpfwehc1b7ftkjgx
Tags: upstream-2.5.3~dfsg1
ImportĀ upstreamĀ versionĀ 2.5.3~dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 
 
3
        sdr.h:  definitions supporting use of an abstract Spacecraft
 
4
                Data Recorder.  The underlying principle is that an
 
5
                SDR provides standardized support for user data
 
6
                organization at object granularity and direct
 
7
                access to persistent user data objects, rather than
 
8
                supporting user data organization only at file
 
9
                granularity and requiring the user to implement
 
10
                access to the data objects accreted within those
 
11
                files.  An SDR is a preallocated region of notionally
 
12
                persistent shared memory with a flat address space.
 
13
 
 
14
        Author: Scott Burleigh, JPL
 
15
        
 
16
        Modification History:
 
17
        Date      Who   What
 
18
        06-05-07  SCB   Split into multiple separable modules.
 
19
        09-01-02  SCB   Added "trace" functions.
 
20
        08-01-01  APS   Initial delivery to Ball.
 
21
 
 
22
        Copyright (c) 2001-2007 California Institute of Technology.
 
23
        ALL RIGHTS RESERVED.  U.S. Government Sponsorship
 
24
        acknowledged.
 
25
 
 
26
                                                                        */
 
27
#ifndef _SDR_H_
 
28
#define _SDR_H_
 
29
 
 
30
#include "sdrstring.h"
 
31
#include "sdrlist.h"
 
32
 
 
33
#ifdef __cplusplus
 
34
extern "C" {
 
35
#endif
 
36
 
 
37
/*      Functions for operating on the SDR Object catalogue.            */
 
38
 
 
39
#define sdr_catlg(sdr, name, type, object) \
 
40
Sdr_catlg(__FILE__, __LINE__, sdr, name, type, object)
 
41
extern void             Sdr_catlg(char *file, int line,
 
42
                                Sdr sdr, char *name, int type, Object object);
 
43
 
 
44
extern Object           sdr_find(Sdr sdr, char *name, int *type);
 
45
 
 
46
#define sdr_uncatlg(sdr, name) \
 
47
Sdr_uncatlg(__FILE__, __LINE__, sdr, name)
 
48
extern void             Sdr_uncatlg(char *file, int line,
 
49
                                Sdr sdr, char *name);
 
50
 
 
51
extern Object           sdr_read_catlg(Sdr sdr, char *name, int *type,
 
52
                                Object *object, Object previous_entry);
 
53
                        /*      Returns address of catalogue entry, a
 
54
                                list element; content of entry is
 
55
                                copied into name, type, object.  The
 
56
                                returned address can be supplied as
 
57
                                previous_entry in a subsequent
 
58
                                sdr_read_catlg call to get the
 
59
                                next entry in the catalog.  If
 
60
                                previous_entry is zero, first
 
61
                                catalogue entry is read.                */
 
62
#ifdef __cplusplus
 
63
}
 
64
#endif
 
65
 
 
66
#endif  /* _SDR_H_ */