SCTP Programmer's Guide
An SCTP application can use ancillary data structures to communicate certain aspects
of an association, such as:
• Treating a user date if it cannot be sent in a certain time
• Specifying the number of inbound streams to be advertised during association
setup
SCTP provides the following ancillary data structures:
• SCTP Initiation Structure
• SCTP Header Information
The following sections discuss these ancillary data structures in detail.
SCTP Initiation Structure (SCTP_INIT)
When an application calls sendmsg() using a one-to-many style socket API, it uses
an SCTP initiation structure to set the protocol parameters for a new association. The
SCTP initiation structure is represented by the sctp_initmsg ancillary data structure.
The name of the ancillary data type is SCTP_INIT, and the data type is defined at the
IPPROTO_SCTP level.
Following is the data structure for the sctp_initmsg structure:
struct sctp_initmsg {
uint16_t sinit_num_ostreams;
uint16_t sinit_max_instreams;
uint16_t sinit_max_attempts;
uint16_t sinit_max_init_timeo;
};
where:
sinit_num_ostreams
Represents the number of outbound streams.
sinit_num_ostreams
Represents the number of inbound streams to be
supported.
sinit_max_instreams Represents the maximum number of times INIT must
be transmitted before giving up an association setup.
sinit_max_init_timeo
Represents the largest time out value to use in
attempting a INIT.
The values provided by an application are for a association and overrides the default
values.
SCTP Header Information (SCTP_SNDRCV)
An application uses the SCTP header information to describe the SCTP header
information of a message that is received through the recvmsg() call, and to specify
the SCTP options for the sendmsg() call. The SCTP header information is represented
by the sctp_sndrcvinfo ancillary data structure. The name of the ancillary data
type is SCTP_SNDRCV, and the data type is defined at the IPPROTO_SCTP level.
SCTP Ancillary Data Structures 59