sl_receive_confirm subroutine

Purpose

Receive a confirm primitive from a specified signaling process.

Library

The signaling interface library (libsl.a).

C syntax

#include <slsigpr.h> 
... 
SL_RET_CODE 	          sl_receive_confirm(
    SL_PROC_TYPE      	sl_proc_type,
    int              	 iseq_no,
    int              	 timeout,
    SL_CONFIRM_ST *	   psignalingConfirm
); 

Description

This subroutine receives the confirm primitive for the request specified by iseq_no, from the signaling process specified by sl_proc_type. If the return value is SLRC_OK, the confirm primitive is returned in the structure pointed to by psignalingConfirm.

Before receiving the confirm primitive, a request primitive must be sent using the sl_send_request() subroutine, which returns a sequence number. This sequence number is used to identify the request when receiving the confirm primitive.

Parameters

sl_proc_type
The signaling process type.
iseq_no
The sequence number of the corresponding request primitive, as returned by the sl_send_request() subroutine.
timeout
> 0
Specifies how long to wait, in seconds, if there is no primitive available. The maximum value that can be specified is SL_MAX_RECEIVE_CONFIRM_TIMEOUT.
= 0
Specifies that the subroutine should return immediately if no primitive is available.
< 0
Specifies that the subroutine should not return until a primitive is available.
psignalingConfirm
Pointer to the primitive structure that will be filled in with the received confirm primitive on return.

Return values

SLRC_OK
Successful.
SLRC_INVALID_SL_TYPE
The value of sl_proc_type is not one of those defined in the SL_PROC_TYPE enumeration.
SLRC_INVALID_TIMEOUT
Invalid timeout.
SLRC_INVALID_ARGS
Invalid parameter value: psignalingConfirm==NULL .
SLRC_NOT_INSTALLED
The signaling process specified by sl_proc_type is not installed. Either the signaling process has not opened the signaling interface, or the signaling process has terminated.
SLRC_TIMEOUT
No primitive was received before the timeout expired.
SLRC_INTERRUPT
A system call was interrupted. Retry the call.
SLRC_NO_DATA
There is no confirm primitive that matches the specified sequence number.
SLRC_NOT_REGISTERED
The signaling process has not registered with the signaling interface, by calling the sl_register() subroutine.
SLRC_ERRNO
An AIX error has occurred. Check the value of errno for more information.
SLRC_ERROR_READING_CONFIG
An error occurred reading the Blueworx Voice Response signaling interface configuration.

Related information