void pchange_struct_id(
Pint orig_struct_id /* original structure identifier */ Pint result_struct_id /* result structure identifier */
)
This function changes the number referring to a structure in the centralized structure store (CSS). It does not change the references existing between the other structures and the old structure. In fact, the effect of CHANGE STRUCTURE IDENTIFIER depends on the old structure state and on the resulting structure state when the function is called.
For the old structure:
If no reference is made to orig_struct_id in the CSS, then CHANGE STRUCTURE IDENTIFIER destroys orig_struct_id.
If other structures in the CSS refer to orig_struct_id, then orig_struct_id continues to exist but as an empty structure.
If orig_struct_id is the open structure, then orig_struct_id continues to exist but is emptied and element pointer is set to zero.
If orig_struct_id is posted, it remains posted but as an empty structure.
For the resulting structure:
If result_struct_id does not exist, it is then created and contains all the elements of orig_struct_id.
If orig_struct_id does not exist, then result_struct_id is an empty structure.
If result_struct_id exists, all its elements are replaced by those of orig_struct_id. None of result_struct_id's references is modified.
If result_struct_id is the open structure, result_struct_id is closed. All its elements are replaced by those of orig_struct_id. result_struct_id is again opened and element pointer points to the same element as before.
If result_struct_id is posted, it remains posted, but the visual aspect of the workstation is modified according to the workstation update state.
open structure, copy all elements from structure, change structure reference, change structure identifier and references, inquire structure identifiers, inquire structure status