Under most circumstances,
sends data when it is presented; when outstanding data has not
yet been acknowledged, it gathers small amounts of output to be
sent in a single packet once an acknowledgement is received.
For some clients, such as window systems that send a stream of
mouse events which receive no replies, this packetization may
cause significant delays.
The boolean option
defeats this algorithm.
This option returns specific information about an associations
"Retransmission Time Out".
It can also be used to change the default values.
This option returns specific information about the requested
This option allows you to get or set the default sending
parameters when an association is implicitly setup.
It allows you to change such things as the maximum number of
streams allowed inbound and the number of streams requested
of the peer.
For the one-to-many model
associations are setup implicitly.
This option allows the user to specify a default number of idle
seconds to allow the association be maintained.
After the idle timer (where no user message have been sent or have
been received from the peer) the association will be gracefully
The default for this value is 0, or unlimited (i.e., no automatic
The dynamic address extension allows a peer to also request a
particular address of its be made into the primary address.
This option allows the caller to make such a request to a peer.
Note that if the peer does not also support the dynamic address
extension, this call will fail.
Note the caller must provide a valid local address that the peer has
been told about during association setup or dynamically.
This option allows the setting of the primary address
that the caller wishes to send to.
The caller provides the address of a peer that is to be made primary.
The dynamic address extension also allows a user to
pass a 32 bit opaque value upon association setup.
This option allows a user to set or get this value.
will fragment user messages into multiple pieces that
will fit on the network and then later, upon reception, reassemble
the pieces into a single user message.
If this option is enabled instead, any send that exceeds the path
maximum transfer unit (P-MTU) will fail and the message will NOT be
This option will allow a user to set or get specific
peer address parameters.
When a user does not use one of the extended send
a set of default values apply to each send.
These values include things like the stream number to send
to as well as the per-protocol id.
This option lets a caller both get and set these values.
If the user changes these default values, then these new values will
be used as the default whenever no information is provided by the
sender (i.e., the non-extended API is used).
has non-data events that it can communicate
to its application.
By default these are all disabled since they arrive in the data path
with a special flag
set upon the received message.
This option lets a caller
both get what events are current being received
as well as set different events that they may be interested
supports both IPV4 and IPV6.
An association may span both IPV4 and IPV6 addresses since
By default, when opening an IPV6 socket, when
data arrives on the socket from a peers
V4 address the V4 address will be presented with an address family
If this is undesirable, then this option
can be enabled which will then convert all V4 addresses
into mapped V6 representations.
chooses its message fragmentation point
based upon the smallest P-MTU of the peer.
This option lets the caller set it to a smaller value.
Note that while the user can change this value, if the P-MTU
is smaller than the value set by the user, then the P-MTU
value will override any user setting.
This option lets the user both set and get the
delayed ack time (in milliseconds) that
The default is 200 milliseconds.
at times may need to start delivery of a
very large message before the entire message has
By default SCTP waits until the incoming
message is larger than one fourth of the receive
This option allows the stacks value
to be overridden with a smaller value.
at times will start partial delivery (as mentioned above).
In the normal case successive reads will continue to return
the rest of the message, blocking if needed, until all of
that message is read.
However this means other messages may have arrived and be ready
for delivery and be blocked behind the message being partially
If this option is enabled, when a partial delivery
message has no more data to be received, then a subsequent
read may return a different message that is ready for delivery.
By default this option is off since the user must be using the
extended APIs to be able to tell the difference between
messages (via the stream and stream sequence number).
By default only the dynamic addressing chunks are
This option lets a user request an
additional chunk be authenticated as well.
Note that successive calls to this option will work and continue
to add more chunks that require authentication.
Note that this option only effects future associations and
not existing ones.
This option allows a user to specify a shared
key that can be later used to authenticate
This option will let you get or set the list of
HMAC algorithms used to authenticate peers.
Note that the HMAC values are in priority order where
the first HMAC identifier is the most preferred
and the last is the least preferred.
This option allows you to make a key active for
the generation of authentication information.
Note that the peer must have the same key or else the
data will be discarded.
This option allows you to delete an old key.
The sockets api document allows an extended
send/receive information structure to be used.
The extended structure includes additional fields
related to the next message to be received (after the
current receive completes) if such information is known.
By default the system will not pass this information.
This option allows the user to request this information.
By default when bound to all address and the system administrator has
enables automatic dynamic addresses, the
stack will automatically generate address changes into add and
delete requests to any peers by setting this option to
This option allows an endpoint to disable that behavior.
implements micro-burst control so that as the congestion window
opens up no large burst of packets can be generated.
The default burst limit is four.
This option lets the user change this value.
Many sctp extended calls have a context field.
The context field is a 32 bit opaque value that will be returned in
This option lets the caller set the default
context value to use when none is provided by the user.
By default, a single send is a complete message.
generates an implied record boundary.
If this option is enabled, then all sends are part of the same message
until the user indicates an end of record with the
passed in the sctp_sndrcvinfo flags field.
This effectively makes all sends part of the same message
until the user specifies differently.
This means that a caller must NOT change the stream number until
is passed to
else an error will be returned.
This option is a read only option that returns
various status information about the specified association.
This read only option returns information about a peer
This read only option returns a list of the chunks
the peer requires to be authenticated.
This read only option returns a list of the locally
required chunks that must be authenticated.
This socket option is used to cause a stream sequence
number or all stream sequence numbers to be reset.
Note that the peer
endpoint must also support the stream reset extension