PK_ATTRIB_reset_cb_f_t   

typedef void                (*PK_ATTRIB_reset_cb_f_t)
(
--- received arguments ---
PK_ATTRIB_t                   attrib,      --- the attribute with a changed
                                           --- field
PK_ATTDEF_t                   attdef,      --- attribute definition of 'attrib'
PK_PMARK_t                    pmark,       --- current pmark
PK_ATTRIB_field_id_t          field_id,    --- identifier of field within
                                           --- attribute
PK_ATTRIB_field_t             field_type,  --- field type
int                           n_values,    --- length of field
PK_ATTRIB_field_values_t      values,      --- current contents of field
PK_ATTRIB_field_change_t      change_type, --- whether the field is new
                                           --- or modified
PK_POINTER_t                  context,     --- pointer to user data
--- returned arguments ---
PK_ATTRIB_reset_cb_r_t *const result       --- result
);



This declares the type of the callback function which is given to
PK_PARTITION_reset_attribs.

Used in:

PK_PARTITION_reset_attribs


When this function is called, the partition has been rolled to 'pmark'
from its preceding pmark. The attribute definition of 'attrib' is one
of those given to PK_PARTITION_reset_attribs and, during the roll, the
field identified by 'field_id' has been created or modified
('change_type' indicates which). The current contents of the field are
given in 'values'. The callback function can, if required, supply
revised values for the field by setting the contents of 'result'.  If
the status field of 'result' is PK_ATTRIB_reset_continue_c and the
'n_values' field is not zero, then, on return from the callback, the
contents of the values field are used to reset attribute's field
values, without the change being recorded in a delta. After this, in
all following states of the partition for which the field does not
change it will now have these revised values.  The number and type of
the replacement values must be the same as the original values in the
field.

If the field values do not need to be changed, the 'status' field of
'result' should be set to PK_ATTRIB_reset_continue_c and its
'n_values' field should be set to zero.

If the status returned is PK_ATTRIB_reset_failed_c, then the scan of
the partition will stop, and PK_PARTITION_reset_attribs will return
PK_ERROR_reset_failed.

If the field in the attribute is of type PK_ATTRIB_field_string_c,
then 'values' is an array of 'n_values' characters which does not
include a null character. It is not permitted to reduce the length of
the string by inserting a null char in the 'values' field of the
result.  Similar remarks apply to fields of type
PK_ATTRIB_field_ustring_c.