403Webshell
Server IP : 172.67.216.182  /  Your IP : 162.158.163.172
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/include/netinet/sctp.h
/* 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__ */

Youez - 2016 - github.com/yon3zu
LinuXploit