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