In order to shorten code, especially when requesting which notifications
should be accepted using the contig_register call, the following
macros may be of use. They are used to group the various notifications.
#define REG_REQUIRED (REG_QUERY_NAME | REG_DELETE | REG_QUIT | REG_PARAMS)
#define REG_DATA_CHANGE (REG_JOIN_TO | REG_LENGTH | REG_COMPLEMENT)
#define REG_OPS (REG_GET_OPS | REG_INVOKE_OP)
#define REG_LOCKS (REG_GET_LOCK | REG_SET_LOCK)
#define REG_REGISTERS (REG_REGISTER | REG_DEREGISTER)
#define REG_BUFFER (REG_BUFFER_START | REG_BUFFER_END)
#define REG_ALL (REG_REQUIRED | REG_DATA_CHANGE | REG_OPS | REG_LOCKS\
| REG_ORDER | REG_CURSOR_NOTIFY | REG_NUMBER_CHANGE \
| REG_ANNO | REG_REGISTERS | REG_HIGHLIGHT_READ \
| REG_BUFFER)
In the following descriptions, we outline the different notifications in the format of name followed by the name within the reg_data structure, the structure itself, and the description.