Previous Topic: Setting the Logging Level to Tracing


User Exits

User exits are a mechanism to customize certain default behaviors. The Client Manager currently supports the following exits:

User Exit Name

Source Code

Description

ci_cm_id

cicmclx.c

Client Manager unique ID (supports the use of Multi-Instance Client Manager) This user exit allows a unique Windows IPC API mailslot name to be created for each instance of the Client created for each instance of the Client Manager that executes in a multi-user environment. This unique mailslot name used by a Client Manager instance must also be used by those clients expecting to connect to this same Client Manager instance. The matching of mailslot names is accomplished because both the Client Manager and the Client Manager CoopFlow runtime code use the same Multi-Instance user exit dll.

CI_CM_DPC_Flow_Complete_Comm_Error

cicmclx.c

Client side cooperative flow Client Manager communication error exit allows a user to indicate that a failed cooperative flow be retried. This user exit is invoked when a synchronous cooperative flow to a Client Manager completes with a communication error. The communication errors seen most often by GUI applications include 609, 619, and 629 failures.

DECRYPT

decrexit.c

Decrypts the CFB from a client if the data in the enhanced security offset area is to be used, the target server environment has a derived Security_Level of Remote, and the CFB data is encrypted.

CIDE_INIT

cidexit.c

Conversation Instance Data – Initialize. Used to disable or enable CIDE_PROC calls. See the CIDE_PROC user exit.

CIDE_PROC

cidexit.c

Conversation Instance Data – Process. Used to modify certain fields of the Conversation Instance data prior to the conversation supporting a cooperative flow being created

For those transports that use UserID and Password as part of their protocol (currently LU6.2), this set of user exit functions is provided to facilitate any required adjustments of the UserID and Password prior to being sent to the transport layer. The CPI/C API performs the ASCII to EBCDIC translation of the UserID and Password as part of its conversation protocol.

IEFDP_InitDir

iefdir.c

Directory Services – Initialize. Used to disable or enable subsequent Directory services calls. This and the following two user exits is how the Client Manager implements Transaction Routing. Transaction Routing is a process that allows cooperative flow data to be routed from a Distributed Process Client (DPC) to a programmatically determined Distributed Process Server (DPS).
Note: The "Transaction Routing" chapter in this guide discusses Transaction Routing and directory services in detail.

IEFDP_SearchDir

Iefdir.c

The Directory Services - Search. Implementation of the transaction server search algorithm.

IEFDP_CleanUpDir

Iefdir.c

Directory Services – Cleanup. Allows for deallocation of resources that may have been allocated to support directory services.

RSCUserEntry()

iorscclx.cxx

An optional user exit which will provide access to and modification of CA Gen user and application data.

Note: While routines supported by this exit do allow data to be modified, the total length of the data buffer cannot be changed. It is up to the user to maintain data integrity.

Note: For more information about user exits, see the User Exit Reference Guide.