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.