Restrictions on Client-Library calls in callbacks

All callback routines are limited as to which Client-Library routines they can call, as indicated in the following table:

Table 2-2: Callbacks can call these Client-Library routines

Callback type

Callable routines

Permitted use

All callback routines

ct_config

To retrieve information only.

ct_con_props

To retrieve information or to set the CS_USERDATA property only.

ct_cmd_props

To retrieve information only. The CS_USERDATA property can be set on command structures allocated with ct_cmd_alloc.

The CS_USERDATA property cannot be set on command structures obtained by the call’s to ct_con_props(CS_EED_CMD) or ct_con_props(CS_NOTIF_CMD).

ct_cancel (CS_CANCEL_ATTN)

Server message

ct_bind, ct_describe, ct_fetch, ct_get_data, ct_res_info

The routines must be called with the command structure returned by the callback’s ct_con_props(CS_EED_CMD) call.

See “Extended error data”.

Notification

ct_bind, ct_describe, ct_fetch, ct_get_data, ct_res_info(CS_NUMDATA)

The routines must be called with the command structure returned by the callback’s ct_con_props(CS_NOTIF_CMD) call.

This command structure allows the application to retrieve parameter values associated with the notification event. See “Registered procedures”.

Completion

Any Client-Library or CS-Library routine except cs_objects(CS_SET), ct_init, ct_exit, ct_poll, ct_setloginfo, and ct_getloginfo.

Notecs_objects(CS_SET) is not asynchronous-safe, and ct_init, ct_exit, ct_setloginfo, and ct_getloginfo perform system-level memory allocation or deallocation, and should not be used.

Directory

ct_ds_dropobj, ct_ds_objinfo.

To drop or inspect a directory object.