- char *name; /* Name of record type */
- void (*init)(void); /* Init function - called once */
- int (*extract)(struct recExtractCtrl *ctrl); /* Extract proc */
- int (*retrieve)(struct recRetrieveCtrl *ctrl); /* Retrieve proc */
-} *RecType;
+ char *name; /* Name of record type */
+ void (*init)(RecType recType); /* Init function - called once */
+ void (*destroy)(RecType recType); /* Destroy function */
+ int (*extract)(struct recExtractCtrl *ctrl); /* Extract proc */
+ int (*retrieve)(struct recRetrieveCtrl *ctrl); /* Retrieve proc */
+ void *clientData; /* data handle */
+};
+
+typedef struct recTypes *RecTypes;
+
+RecTypes recTypes_init (data1_handle dh);
+void recTypes_destroy (RecTypes recTypes);
+void recTypes_default_handlers (RecTypes recTypes);
+
+RecType recType_byName (RecTypes rts, const char *name, char *subType);