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_SUCCESS||The user freed all data structures.|
|USER_DEFAULT||The user has no memory to free.|