NPA_Exchange_Message

Provides a communication link between two different versions of a HAM in order to facilitate software hot replacement.

Thread Context:Non-Blocking

Syntax

    LONG NPA_Exchange_Message (
       LONG   npaHandle,
       LONG   messageLength,
       void  *message
       );
    
    

Parameters

npaHandle
(IN) The HAM's handle for using the NPA APIs, assigned during NPA_Register_HAM_Module.
messageLength
(IN) Size, in bytes, of the message (data buffer) being passed or received.
message
(IN) Points to the message (data buffer) being passed or received.

Return Values

The following table lists return values and descriptions.

zero

Successful

nonzero

Unsuccessful

Remarks

NPA_Exchange_Message is used to exchange I/O configuration information between an older version of a module and the updated version that will replace it by calling HAM_Software_Hot_Replace.

Calling NPA_Exchange_Message is dependent on the return values of NPA_Register_HAM_Module.

If the return value is zero, it indicates that the load event is either an initial load of the module or a new instance of the module. If the return value equals zero, normal initialization and registration should take place, excluding a call to NPA_Exchange_Message.

If the return value is one, it indicates that the module currently being loaded should hot-replace the already loaded module having the same novellAssignedModuleID value. If the return value equals one, NPA_Exchange_Message needs to be called in order for the two modules to communicate with each other. NPA_Exchange_Message should be called within the context of HAM_Load.