Server IP : 172.67.216.182 / Your IP : 172.70.208.135 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/include/netinet/ |
Upload File : |
/* src/include/netinet/sctp.h. Generated from sctp.h.in by configure. */ /* SCTP kernel Implementation: User API extensions. * * sctp.h * * Distributed under the terms of the LGPL v2.1 as described in * http://www.gnu.org/copyleft/lesser.txt * * This file is part of the user library that offers support for the * Linux Kernel SCTP Implementation. The main purpose of this * code is to provide the SCTP Socket API mappings for user * application to interface with SCTP in kernel. * * This header represents the structures and constants needed to support * the SCTP Extension to the Sockets API. * * (C) Copyright IBM Corp. 2001, 2004 * Copyright (c) 1999-2000 Cisco, Inc. * Copyright (c) 1999-2001 Motorola, Inc. * * Written or modified by: * La Monte H.P. Yarroll <[email protected]> * R. Stewart <[email protected]> * K. Morneau <[email protected]> * Q. Xie <[email protected]> * Karl Knutson <[email protected]> * Jon Grimm <[email protected]> * Daisy Chang <[email protected]> * Inaky Perez-Gonzalez <[email protected]> * Sridhar Samudrala <[email protected]> * Vlad Yasevich <[email protected]> */ #ifndef __linux_sctp_h__ #define __linux_sctp_h__ #include <stdint.h> #include <linux/types.h> #include <sys/socket.h> #include <linux/sctp.h> #ifdef __cplusplus extern "C" { #endif /* Socket option layer for SCTP */ #ifndef SOL_SCTP #define SOL_SCTP 132 #endif #ifndef IPPROTO_SCTP #define IPPROTO_SCTP 132 #endif /* 9. Preprocessor constants */ #define HAVE_SCTP #define HAVE_KERNEL_SCTP #define HAVE_SCTP_MULTIBUF #define HAVE_SCTP_NOCONNECT #define HAVE_SCTP_PRSCTP #define HAVE_SCTP_ADDIP #define HAVE_SCTP_CANSET_PRIMARY #define HAVE_SCTP_STREAM_RESET_EVENT 1 #define HAVE_SCTP_STREAM_RECONFIG 1 #define HAVE_SCTP_PEELOFF_FLAGS 1 #define HAVE_SCTP_PDAPI_EVENT_PDAPI_STREAM 1 #define HAVE_SCTP_PDAPI_EVENT_PDAPI_SEQ 1 #define HAVE_SCTP_SENDV 1 #define HAVE_SCTP_AUTH_NO_AUTH 1 #define HAVE_SCTP_SPP_IPV6_FLOWLABEL 1 #define HAVE_SCTP_SPP_DSCP 1 int sctp_bindx(int sd, struct sockaddr *addrs, int addrcnt, int flags); int sctp_connectx(int sd, struct sockaddr *addrs, int addrcnt, sctp_assoc_t *id); int sctp_peeloff(int sd, sctp_assoc_t assoc_id); int sctp_peeloff_flags(int sd, sctp_assoc_t assoc_id, unsigned flags); /* Prototype for the library function sctp_opt_info defined in * API 7. Socket Options. */ int sctp_opt_info(int sd, sctp_assoc_t id, int opt, void *arg, socklen_t *size); /* Get all peer address on a socket. This is a new SCTP API * described in the section 8.3 of the Sockets API Extensions for SCTP. * This is implemented using the getsockopt() interface. */ int sctp_getpaddrs(int sd, sctp_assoc_t id, struct sockaddr **addrs); /* Frees all resources allocated by sctp_getpaddrs(). This is a new SCTP API * described in the section 8.4 of the Sockets API Extensions for SCTP. */ int sctp_freepaddrs(struct sockaddr *addrs); /* Get all locally bound address on a socket. This is a new SCTP API * described in the section 8.5 of the Sockets API Extensions for SCTP. * This is implemented using the getsockopt() interface. */ int sctp_getladdrs(int sd, sctp_assoc_t id, struct sockaddr **addrs); /* Frees all resources allocated by sctp_getladdrs(). This is a new SCTP API * described in the section 8.6 of the Sockets API Extensions for SCTP. */ int sctp_freeladdrs(struct sockaddr *addrs); /* This library function assists the user with the advanced features * of SCTP. This is a new SCTP API described in the section 8.7 of the * Sockets API Extensions for SCTP. This is implemented using the * sendmsg() interface. */ int sctp_sendmsg(int s, const void *msg, size_t len, struct sockaddr *to, socklen_t tolen, uint32_t ppid, uint32_t flags, uint16_t stream_no, uint32_t timetolive, uint32_t context); /* This library function assist the user with sending a message without * dealing directly with the CMSG header. */ int sctp_send(int s, const void *msg, size_t len, const struct sctp_sndrcvinfo *sinfo, int flags); /* This library function assists the user with the advanced features * of SCTP. This is a new SCTP API described in the section 8.8 of the * Sockets API Extensions for SCTP. This is implemented using the * recvmsg() interface. */ int sctp_recvmsg(int s, void *msg, size_t len, struct sockaddr *from, socklen_t *fromlen, struct sctp_sndrcvinfo *sinfo, int *msg_flags); /* Return the address length for an address family. */ int sctp_getaddrlen(sa_family_t family); #ifdef HAVE_SCTP_SENDV /* sendv infotype */ enum { SCTP_SENDV_NOINFO, SCTP_SENDV_SNDINFO, SCTP_SENDV_PRINFO, SCTP_SENDV_AUTHINFO, SCTP_SENDV_SPA }; /* sendv_flags */ #define SCTP_SEND_SNDINFO_VALID 0x1 #define SCTP_SEND_PRINFO_VALID 0x2 #define SCTP_SEND_AUTHINFO_VALID 0x4 #endif struct sctp_sendv_spa { uint32_t sendv_flags; struct sctp_sndinfo sendv_sndinfo; #ifdef HAVE_SCTP_SENDV struct sctp_prinfo sendv_prinfo; struct sctp_authinfo sendv_authinfo; #endif }; #ifdef HAVE_SCTP_SENDV int sctp_sendv(int s, const struct iovec *iov, int iovcnt, struct sockaddr *addrs, int addrcnt, void *info, socklen_t infolen, unsigned int infotype, int flags); /* recvv infotype */ enum { SCTP_RECVV_NOINFO, SCTP_RECVV_RCVINFO, SCTP_RECVV_NXTINFO, SCTP_RECVV_RN }; struct sctp_recvv_rn { struct sctp_rcvinfo recvv_rcvinfo; struct sctp_nxtinfo recvv_nxtinfo; }; int sctp_recvv(int s, const struct iovec *iov, int iovlen, struct sockaddr *from, socklen_t *fromlen, void *info, socklen_t *infolen, unsigned int *infotype, int *flags); #endif #ifdef __cplusplus } #endif #endif /* __linux_sctp_h__ */