This is a union of all the possible confirm primitives. There is one variant of the union for each possible request.
typedef union {
struct _call_setup_confirm_st {
size_t sizetLength ;
SL_REPLY_CODE ReplyCode ;
SL_CALL_REF slCallReference ;
int iChannelNo ;
int iVpackNo ;
int iChannelGroup ;
SL_CALL_PROGRESS_TYPE tone_type ;
int tone_id ;
SL_APPL_INFO_ST slApplInfo ;
} call_setup_confirm_st ;
and so on:
...
} call_answer_confirm_st ;
...
} call_transfer_confirm_st ;
...
} SL_CONFIRM_PARM_ST, *SL_CONFIRM_PARM_SP ;
typedef SL_CONFIRM_PARM_ST * PSL_CONFIRM_PARM_ST ;
The individual fields of this data structure are defined under the corresponding primitive definitions in Signaling interface primitives. See Table 2 for a list of confirm primitives. A general rule that applies to all confirm primitives is that if the ReplyCode field is set to SL_REPLY_NOT_IMPLEMENTED, the remaining fields of the primitive are undefined. See Unrecognized primitives.