4 * Europagate, 1994-1995.
7 * Revision 1.10 1995/03/30 07:32:46 adam
8 * New log-level: GW_LOG_NOTICE. New 2709 function: iso2709_mk.
10 * Revision 1.9 1995/03/29 11:44:25 adam
11 * New functions: iso2709_a_.. for record manipulation.
13 * Revision 1.8 1995/03/28 16:06:42 adam
14 * New function: iso2709_out.
16 * Revision 1.7 1995/03/27 12:50:40 adam
17 * New level: GW_LOG_ERRNO.
19 * Revision 1.6 1995/03/08 12:36:35 adam
20 * New function: dbc2709_cvt.
22 * Revision 1.5 1995/02/23 08:32:12 adam
25 * Revision 1.3 1995/02/10 17:05:14 adam
26 * New function iso2709_display to display MARC records in a
27 * line-by-line format. The iso2709_cvt function no longer
28 * prints the record to stderr.
30 * Revision 1.2 1995/02/10 16:50:25 adam
31 * Indicator field moved to 'struct iso2709_dir' from 'struct
33 * Function iso2709_rm implemented - to delete a MARC record.
35 * Revision 1.1.1.1 1995/02/09 17:27:12 adam
36 * Initial version of email gateway under CVS control.
43 typedef struct iso2709_rec *Iso2709Rec;
44 typedef struct iso2709_anchor *Iso2709Anchor;
46 char *iso2709_read (FILE *inf);
47 Iso2709Rec iso2709_cvt (const char *buf);
48 Iso2709Rec iso2709_mk (void);
49 void iso2709_rm (Iso2709Rec rec);
50 void iso2709_display (Iso2709Rec rec, FILE *out);
51 int iso2709_out (Iso2709Rec p, char **buf, int size);
53 Iso2709Anchor iso2709_a_mk (Iso2709Rec rec);
54 void iso2709_a_rm (Iso2709Anchor anchor);
55 int iso2709_a_first (Iso2709Anchor anchor);
56 int iso2709_a_next_line (Iso2709Anchor anchor);
57 int iso2709_a_next_field (Iso2709Anchor anchor);
58 int iso2709_a_next (Iso2709Anchor anchor);
59 int iso2709_a_info_field (Iso2709Anchor anchor,
60 char **tag, char **indicator,
61 char **identifier, char **data);
62 int iso2709_a_info_line (Iso2709Anchor anchor,
63 char **tag, char **indicator);
64 int iso2709_a_delete_field (Iso2709Anchor anchor);
65 int iso2709_a_delete_line (Iso2709Anchor anchor);
66 int iso2709_a_insert (Iso2709Anchor anchor,
67 const char *tag, const char *indicator,
68 const char *identifier, const char *data);
69 int iso2709_a_search (Iso2709Anchor anchor,
70 const char *tag_p, const char *indicator_p,
71 const char *identifier_p);