The following table lists the types of callbacks, and when they are called:
Callback type |
When called |
How called |
---|---|---|
Client message |
In response to a Client-Library error or informational message |
When Client-Library generates an error or informational message, Client-Library automatically triggers the client message callback. |
Completion |
When an asynchronous Client-Library routine completes |
An asynchronous routine completion can occur at any time. On platforms that support signal- or thread-driven I/O, the completion callback is called automatically when the completion occurs. On platforms that do not support signal- or thread-driven I/O, an application must use ct_poll to find out if any routines have completed. |
Directory |
During a directory search that began when the application called ct_ds_lookup |
Called automatically by Client-Library to pass the application the directory objects that were found in the search. On an asynchronous connection, called before the completion callback. On a synchronous connection, called before ct_ds_lookup returns. Client-Library invokes the callback repeatedly until:
|
Encryption |
During the connection process, in response to a server request for an encrypted password |
If password encryption is enabled and an encryption callback is installed, then Client-Library automatically triggers the encryption callback when a server requests an encrypted password during a connection attempt. If encryption is enabled and an encryption callback is not installed, then Client-Library performs the default password encryption. For details, see “Encryption callbacks”. |
Negotiation |
During the connection process:
|
If a connection’s CS_SEC_NEGOTIATE property is CS_TRUE, then Client-Library automatically triggers the negotiation callback when a server requests login security labels during a connection attempt. If a connection’s CS_SEC_CHALLENGE property is CS_TRUE, then Client-Library automatically triggers the negotiation callback when a server issues a challenge during a connection attempt. For details, see “Negotiation callbacks”. |
Notification |
When an Open Server notification arrives |
An Open Server notification can arrive at any time. Client-Library reads the notification information and calls the applications’s notification callback. The CS_ASYNC_NOTIFS property determines how the notification callback is triggered. See the description of this property under “Asynchronous notifications” and “Notification callbacks”. |
Security session |
During the connection process, when the connection uses network-based security services |
Invoked automatically by ct_connect in response to a security session challenge from the target server. For details, see “Security session callbacks”.
|
Server message |
In response to a server error or informational message |
Server messages occur as the result of specific commands. When an application processes the results of a command, Client-Library reads any error or informational messages related to the command, automatically triggering the server message callback. For details, see “Server message callbacks”. |
Signal |
In response to an operating-system signal |
When a signal handler has been installed with ct_callback and a signal arrives, Client-Library’s own signal handler automatically calls the signal callback. On platforms that support signals, applications must call ct_callback to install any needed signal handlers. For details on signal callbacks, see “Signal callbacks”. |