b78e5826bc9169bd170f4a430603a8f139108beb
[egate.git] / include / iso2709p.h
1 /*
2  * Record management
3  *
4  * Europagate, 1994-1995.
5  *
6  * $Log: iso2709p.h,v $
7  * Revision 1.5  1995/02/23 08:32:12  adam
8  * Changed header.
9  *
10  * Revision 1.3  1995/02/15  17:43:08  adam
11  * Minor changes to the ccl interface. Bug fix in iso2709 module.
12  *
13  * Revision 1.2  1995/02/10  16:50:26  adam
14  * Indicator field moved to 'struct iso2709_dir' from 'struct
15  * iso2709_field'.
16  * Function iso2709_rm implemented - to delete a MARC record.
17  *
18  * Revision 1.1.1.1  1995/02/09  17:27:12  adam
19  * Initial version of email gateway under CVS control.
20  *
21  */
22
23 #ifndef ISO2709P_H
24 #define ISO2709P_H
25
26 #include <iso2709.h>
27
28 struct iso2709_field {
29     char *identifier;
30     char *data;
31     struct iso2709_field *next;
32 };
33
34 struct iso2709_dir {
35     char tag[4];
36     int  length;
37     int  offset;
38     char *indicator;
39     struct iso2709_dir *next;
40     struct iso2709_field *fields;
41 };
42
43 struct iso2709_rec {
44     int  record_length;
45     char record_status[2];
46     char implementation_codes[5];
47     int  indicator_length;
48     int  identifier_length;
49     int  base_address;
50     char user_systems[4];
51
52     int  length_data_entry;
53     int  length_starting;
54     int  length_implementation;
55     char future_use[2];
56
57     struct iso2709_dir *directory;
58 };
59
60 #define ISO2709_RS 035
61 #define ISO2709_FS 036
62 #define ISO2709_IDFS 037
63
64
65 #endif