int user_free_cp(void **user)
The user has to free all the data structures within user, and also free user itself. The user can use the built-in macro FREE that checks the existence of a pointer before freeing it.
void **user | INOUT | Pointer to the user-defined data structure (should be NULL on exit). |
USER_ERROR | Ignored. |
USER_SUCCESS | The user freed all data structures. |
USER_DEFAULT | There is nothing to be freed. |