int user_free_cg(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 from this function). |
USER_ERROR | Ignored. |
USER_SUCCESS | The user freed all data structures. |
USER_DEFAULT | The user has no memory to free. |