#include <io-reg.h> int contig_register_init(GapIO *io);
Initialises the contig register lists. This is only performed once, upon opening of a new database. The registration lists are automatically extended when new contigs are created.
The function returns 0 for succes, -1 for error.
int register_id(); Returns: the id (always a non zero value).
Returns a new id number for use as the id field to be sent to a
contig_register
call. Each time this function is called a new number
is returned.
int contig_register(GapIO *io, int contig, void (*func)(GapIO *io, int contig, void *fdata, reg_data *jdata), void *fdata, int id, int flags, int type); Returns: 0 for success -1 for error.
Registers "func(io, contig, fdata, jdata)" with the specified contig. This doesn't check whether the (func,fdata) pair already exist for this contig.
int contig_deregister(GapIO *io, int contig, void (*func)(GapIO *io, int contig, void *fdata, reg_data *jdata), void *fdata); Returns: 0 for success -1 for error.
Deregisters "func(io, contig, fdata, jdata)" from the specified contig. The (func,fdata) pair must match exactly to deregister.
void contig_notify(GapIO *io, int contig, reg_data *jdata);
Sends a notification request to all items registered with the specified contig.
int contig_register_join(GapIO *io, int cfrom, int cto); Returns: 0 for success -1 for error.
Joins two registration lists. This adds all items listed on the registration list for contig 'cfrom' to the registration list for contig 'cto'. Entries that are registered on both lists are not duplicated. The 'cfrom' registration list is left intact.