An application calls ct_callback to install a client or server-message callback.
If an application installs callbacks at the context level, all connection structures allocated within the context inherit the callbacks.
To “deinstall an existing callback routine, call ct_callback with action as CS_SET and func as NULL.
To replace an existing callback routine with a new one, call ct_callback with action as CS_SET install the new routine. ct_callback replaces the existing callback with the new callback.
To obtain a pointer to an existing callback, call ct_callback with action as CS_SET and func as the address of a CS_VOID * variable. ct_callback places the address of the callback in the variable.