Call a connection’s completion callback.
CS_RETCODE ct_wakeup(connection, cmd, function, status) CS_CONNECTION *connection; CS_COMMAND *cmd; CS_INT function; CS_RETCODE status;
A pointer to the CS_CONNECTION structure whose completion callback will be called. A CS_CONNECTION structure contains information about a particular client/server connection.
Either connection or cmd must be non-NULL.
If connection is supplied, its completion callback is called. If connection is NULL, cmd’s parent connection’s completion callback is called.
If connection is supplied, it is passed as the connection parameter to the completion callback. If connection is NULL, cmd’s parent connection is passed as the connection parameter to the completion callback.
A pointer to the CS_COMMAND structure managing a client/server operation.
Either connection or cmd must be non-NULL.
If connection is NULL, cmd’s parent connection’s completion callback is called.
cmd is passed as the command parameter to the completion callback. If cmd is NULL then NULL is passed for the command parameter.
A symbolic value indicating which routine has completed. function can be a user-defined value. function is passed as the function parameter to the completion callback. Table 3-63 lists the symbolic values that are legal for function:
Value of function |
Meaning |
---|---|
BLK_ROWXFER |
blk_rowxfer has completed. |
BLK_SENDROW |
blk_sendrow has completed. |
BLK_SENDTEXT |
blk_sendtext has completed. |
BLK_TEXTXFER |
blk_textxfer has completed |
CT_CANCEL |
ct_cancel has completed. |
CT_CLOSE |
ct_close has completed. |
CT_CONNECT |
ct_connect has completed. |
CT_DS_LOOKUP |
ct_ds_lookup has completed. |
CT_FETCH |
ct_fetch has completed. |
CT_GET_DATA |
ct_get_data has completed. |
CT_OPTIONS |
ct_options has completed. |
CT_RECVPASSTHRU |
ct_recvpassthru has completed. |
CT_RESULTS |
ct_results has completed. |
CT_SEND |
ct_send has completed. |
CT_SEND_DATA |
ct_send_data has completed. |
CT_SENDPASSTHRU |
ct_sendpassthru has completed. |
A user-defined value. This value must be greater than or equal to CT_USER_FUNC. |
A user-defined function has completed. |
The return status of the completed routine. This value is passed as the status parameter to the completion callback.
ct_wakeup returns the following values:
Return value |
Meaning |
---|---|
CS_SUCCEED |
The routine completed successfully. |
CS_FAIL |
The routine failed. |
CS_BUSY |
An asynchronous operation is already pending for this connection. See “Asynchronous programming”. |
...CODE DELETED.....
/* Force a wakeup on the connection handle */
retstat = ct_wakeup(connection, NULL,
EX_ASYNC_QUERY, status);
if (retstat != CS_SUCCEED)
{
return retstat;
}
...CODE DELETED.....
This code excerpt is from the ex_alib.c sample program.
ct_wakeup is intended for use in applications that create an asynchronous layer on top of Client-Library.
An application cannot call ct_wakeup if the CS_DISABLE_POLL property is set to CS_TRUE.
“Asynchronous programming”, “Callbacks”, ct_callback, ct_poll