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