PK_ATTDEF_callback_fns_t   


typedef void (*PK_ATTDEF_split_callback_f_t)
    ( PK_ENTITY_t old_entity,
      int n_attribs, const PK_ATTRIB_t attribs[],
      PK_ENTITY_t new_entity );

typedef void (*PK_ATTDEF_merge_callback_f_t)
    ( PK_ENTITY_t live_entity,
      int n_live_attribs, const PK_ATTRIB_t live_attribs[],
      PK_ENTITY_t doomed_entity,
      int n_doomed_attribs, const PK_ATTRIB_t doomed_attribs[] );

typedef void (*PK_ATTDEF_delete_callback_f_t)
    ( PK_ENTITY_t entity,
      int n_attribs, const PK_ATTRIB_t attribs[] );

typedef void (*PK_ATTDEF_copy_callback_f_t)
    ( PK_ENTITY_t old_entity,
      int n_attribs, const PK_ATTRIB_t attribs[],
      PK_ENTITY_t new_entity );

typedef void (*PK_ATTDEF_transmit_callback_f_t)
    ( PK_ENTITY_t entity,
      int n_attribs, const PK_ATTRIB_t attribs[] );

typedef void (*PK_ATTDEF_receive_callback_f_t)
    ( PK_ENTITY_t entity,
      int n_attribs, const PK_ATTRIB_t attribs[] );

typedef struct PK_ATTDEF_callback_fns_s
    {
    PK_ATTDEF_split_callback_f_t    split_fn;
    PK_ATTDEF_merge_callback_f_t    merge_fn;
    PK_ATTDEF_delete_callback_f_t   delete_fn;
    PK_ATTDEF_copy_callback_f_t     copy_fn;
    PK_ATTDEF_transmit_callback_f_t transmit_fn;
    PK_ATTDEF_receive_callback_f_t  receive_fn;
    }
    PK_ATTDEF_callback_fns_t;



This data structure holds pointers to the functions the application wishes to
register with the PK using PK_ATTDEF_register_callbacks or
PK_ATTDEF_register_cb. Any of these may be NULL.