Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sctp_opt_info(3) [freebsd man page]

SCTP_OPT_INFO(3)					   BSD Library Functions Manual 					  SCTP_OPT_INFO(3)

sctp_opt_info -- get SCTP socket information LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_opt_info(int sd, sctp_assoc_t id, int opt, void *arg, socklen_t *size); DESCRIPTION
The sctp_opt_info() call provides a multi-os compatible method for getting specific getsockopt() data where an association identification needs to be passed into the operating system. For FreeBSD a direct getsockopt() may be used, since FreeBSD has the ability to pass informa- tion into the operating system on a getsockopt() call. Other operating systems may not have this ability. For those who wish to write por- table code amongst multiple operating systems this call should be used for the following SCTP socket options. SCTP_RTOINFO SCTP_ASSOCINFO SCTP_PRIMARY_ADDR SCTP_PEER_ADDR_PARAMS SCTP_DEFAULT_SEND_PARAM SCTP_MAX_SEG SCTP_AUTH_ACTIVE_KEY SCTP_DELAYED_SACK SCTP_MAX_BURST SCTP_CONTEXT SCTP_EVENT SCTP_DEFAULT_SNDINFO SCTP_DEFAULT_PRINFO SCTP_STATUS SCTP_GET_PEER_ADDR_INFO SCTP_PEER_AUTH_CHUNKS SCTP_LOCAL_AUTH_CHUNKS RETURN VALUES
The call returns 0 on success and -1 upon error. ERRORS
The sctp_opt_info() function can return the following errors: [EINVAL] The argument arg value was invalid. [EOPNOTSUPP] The argument opt was not one of the above listed SCTP socket options. [EBADF] The argument s is not a valid descriptor. [ENOTSOCK] The argument s is not a socket. SEE ALSO
getsockopt(2), sctp(4) BUGS
Because the structure used for arg of the SCTP_MAX_BURST socket option has changed in FreeBSD 9.0 and higher, using SCTP_MAX_BURST as opt is only supported in FreeBSD 9.0 and higher. BSD
June 18, 2011 BSD

Check Out this Related Man Page

sctp_opt_info(3SOCKET)													    sctp_opt_info(3SOCKET)

sctp_opt_info - examine SCTP level options for an SCTP endpoint SYNOPSIS
cc [ flag... ] file... -lsocket -lnsl -lsctp [ library... ] #include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_opt_info(int sock, sctp_assoc_t id, int opt, void *arg, socklen_t *len); The sctp_opt_info() returns SCTP level options associated with the SCTP socket sock. If sock is a one-to-many style socket, id refers to the association of interest. If sock is a one-to-one socket or if sock is a branched-off one-to-many style socket, id is ignored. The opt parameter specifies the SCTP option to get. The arg structure is an option-specific structure buffer allocated by the caller. The len parameter is the length of the option specified. Following are the currently supported values for the opt parameter. When one of the options below specifies an association id, the id is relevant for only one-to-many style SCTP sockets. The associatation id can be ignored for one-to-one style or branched-off one-to-many style SCTP sockets. SCTP_RTOINFO Returns the protocol parameters used to initialize and bind retransmission timeout (RTO) tunable. The following structure is used to access these parameters: struct sctp_rtoinfo { sctp_assoc_t srto_assoc_id; uint32_t srto_initial; uint32_t srto_max; uint32_t srto_min; }; where: srto_assoc_id Association ID specified by the caller srto_initial Initial RTO value srto_max Maximum value for the RTO srto_min Minimum value for the RTO SSCTP_ASSOCINFO Returns association-specific parameters. The following structure is used to access the parameters: struct sctp_assocparams { sctp_assoc_t sasoc_assoc_id; uint16_t sasoc_asocmaxrxt; uint16_t sasoc_number_peer_destinations; uint32_t sasoc_peer_rwnd; uint32_t sasoc_local_rwnd; uint32_t sasoc_cookie_life; }; where: srto_assoc_id Association ID specified by the caller sasoc_asocmaxrxt Maximum retransmission count for the association sasoc_number_peer_destinations Number of addresses the peer has sasoc_peer_rwnd Current value of the peer's receive window sasoc_local_rwnd Last reported receive window sent to the peer sasoc_cookie_life Association cookie lifetime used when issuing cookies All parameters with time values are in milliseconds. SCTP_DEFAULT_SEND_PARAM Returns the default set of parameters used by the sendto() function on this association. The following structure is used to access the parameters: struct sctp_sndrcvinfo { uint16_t sinfo_stream; uint16_t sinfo_ssn; uint16_t sinfo_flags; uint32_t sinfo_ppid; uint32_t sinfo_context; uint32_t sinfo_timetolive; uint32_t sinfo_tsn; uint32_t sinfo_cumtsn; sctp_assoc_t sinfo_assoc_id; }; where: sinfo_stream Default stream for sendmsg() sinfo_ssn Always returned as 0 sinfo_flags Default flags for sendmsg() that include the following: MSG_UNORDERED MSG_ADDR_OVER MSG_ABORT MSG_EOF MSG_PR_SCTP sinfo_ppid Default payload protocol identifier for sendmsg() sinfo_context Default context for sendmsg() sinfo_timetolive Time to live in milliseconds for a message on the sending side. The message expires if the sending side does not start the first transmission for the message within the specified time period. If the sending side starts the first transmission before the time period expires, the message is sent as a normal reliable message. A value of 0 indicates that the message does not expire. When MSG_PR_SCTP is set in sinfo_flags, the message expires if it is not acknowledged within the time period. sinfo_tsn Always returned as 0 sinfo_cumtsn Always returned as 0 sinfo_assoc_id Association ID specified by the caller SCTP_PEER_ADDR_PARAMS Returns the parameters for a specified peer address of the association. The following structure is used to access the parameters: struct sctp_paddrparams { sctp_assoc_t spp_assoc_id; struct sockaddr_storage spp_address; uint32_t spp_hbinterval; uint16_t spp_pathmaxrxt; }; where: spp_assoc_id Association ID specified by the caller spp_address Peer's address spp_hbinterval Heartbeat interval in milliseconds spp_pathmaxrxt Maximum number of retransmissions to an address before it is considered unreachable SCTP_STATUS Returns the current status information about the association. The following structure is used to access the parameters: struct sctp_status { sctp_assoc_t sstat_assoc_id; int32_t sstat_state; uint32_t sstat_rwnd; uint16_t sstat_unackdata; uint16_t sstat_penddata; uint16_t sstat_instrms; uint16_t sstat_outstrms; uint16_t sstat_fragmentation_point; struct sctp_paddrinfo sstat_primary; }; where: sstat_assoc_id Association ID specifed by the caller sstat_state Current state of the association which might be one of the following: SCTP_CLOSED SCTP_BOUND SCTP_LISTEN SCTP_COOKIE_WAIT SCTP_COOKIE_ECHOED SCTP_ESTABLISHED SCTP_SHUTDOWN_PENDING SCTP_SHUTDOWN_SENT SCTP_SHUTDOWN_RECEIVED SCTP_SHUTDOWN_ACK_SENT sstat_rwnd Current receive window of the association peer sstat_unackdata Number of unacked DATA chunks sstat_penddata Number of DATA chunks pending receipt sstat_instrms Number of inbound streams sstat_outstrms Number of outbound streams sstat_fragmentation_point Size at which SCTP fragmentation occurs sstat_primary Information about the primary peer address sstat_primary has the following structure struct sctp_paddrinfo { sctp_assoc_t spinfo_assoc_id; struct sockaddr_storage spinfo_address; int32_t spinfo_state; uint32_t spinfo cwnd; uint32_t spinfo_srtt; uint32_t spinfo_rto; uint32_t spinfo_mtu; }; where: spinfo_assoc_id Association ID specified by the caller spinfo_address Primary peer address spinfo_state State of the peer address: SCTP_ACTIVE or SCTP_INACTIVE spinfo_cwnd Congestion window of the peer address spinfo_srtt Smoothed round-trip time calculation of the peer address spinfo_rto Current retransmission timeout value of the peer address in milliseconds spinfo_mtu P-MTU of the address Upon successful completion, the sctp_opt_info() function returns 0. Otherwise, the function returns -1 and sets errno to indicate the error. The sctp_opt_info() call fails under the following conditions. EBADF The sock argument is an invalid file descriptor. ENOTSOCK The sock argument is not a socket. EINVAL The association id is invalid for a one-to-many style SCTP socket. EINVAL The input buffer length is insufficient for the option specified. EINVAL The peer address is invalid or does not belong to the association. EAFNOSUPPORT The address family for the peer's address is other than AF_INET or AF_INET6. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ in.h(3HEAD), libsctp(3LIB), getsockopt(3SOCKET), setsockopt(3SOCKET), socket(3SOCKET), inet(7P), inet6(7P), ip(7P), ip6(7P), sctp(7P) 25 Feb 2005 sctp_opt_info(3SOCKET)
Man Page

Featured Tech Videos