webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
|
#include <netinet/sctp_os.h>
#include <netinet/sctp_pcb.h>
#include <netinet/sctputil.h>
#include <netinet/sctp_var.h>
#include <netinet/sctp_sysctl.h>
#include <netinet/sctp_input.h>
#include <netinet/sctp_peeloff.h>
#include <arpa/inet.h>
Classes | |
struct | sctp_generic_sendmsg_args |
struct | sctp_generic_recvmsg_args |
Macros | |
#define | MAXLEN_MBUF_CHAIN 32 |
#define | copyin(u, k, len) copy_from_user(k, u, len) |
#define | copyout(k, u, len) copy_to_user(u, k, len) |
#define | SCTP_SMALL_IOVEC_SIZE 2 |
#define | SCTP_STACK_BUF_SIZE 2048 |
#define | PREAMBLE_FORMAT "\n%c %02d:%02d:%02d.%06ld " |
#define | PREAMBLE_LENGTH 19 |
#define | HEADER "0000 " |
#define | TRAILER "# SCTP_PACKET\n" |
#define | USRSCTP_SYSCTL_SET_DEF(__field) |
#define | USRSCTP_SYSCTL_GET_DEF(__field) |
Functions | |
MALLOC_DEFINE (M_PCB, "sctp_pcb", "sctp pcb") | |
MALLOC_DEFINE (M_SONAME, "sctp_soname", "sctp soname") | |
int | sctp_sosend (struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *top, struct mbuf *control, int flags, struct proc *p) |
int | sctp_attach (struct socket *so, int proto, uint32_t vrf_id) |
int | sctpconn_attach (struct socket *so, int proto, uint32_t vrf_id) |
void | usrsctp_init (uint16_t port, int(*conn_output)(void *addr, void *buffer, size_t length, uint8_t tos, uint8_t set_df), void(*debug_printf)(const char *format,...)) |
void | socantrcvmore_locked (struct socket *so) |
void | socantrcvmore (struct socket *so) |
void | socantsendmore_locked (struct socket *so) |
void | socantsendmore (struct socket *so) |
int | sbwait (struct sockbuf *sb) |
void | sofree (struct socket *so) |
void | soabort (struct socket *so) |
void | soisconnecting (struct socket *so) |
void | soisdisconnecting (struct socket *so) |
void | wakeup (void *ident, struct socket *so) |
void | wakeup_one (void *ident) |
void | soisconnected (struct socket *so) |
struct socket * | sonewconn (struct socket *head, int connstatus) |
int | copyiniov (struct iovec *iovp, u_int iovcnt, struct iovec **iov, int error) |
int | uiomove (void *cp, int n, struct uio *uio) |
int | getsockaddr (struct sockaddr **namp, caddr_t uaddr, size_t len) |
int | usrsctp_getsockopt (struct socket *so, int level, int option_name, void *option_value, socklen_t *option_len) |
sctp_assoc_t | usrsctp_getassocid (struct socket *sock, struct sockaddr *sa) |
ssize_t | userspace_sctp_sendmsg (struct socket *so, const void *data, size_t len, struct sockaddr *to, socklen_t tolen, u_int32_t ppid, u_int32_t flags, u_int16_t stream_no, u_int32_t timetolive, u_int32_t context) |
ssize_t | usrsctp_sendv (struct socket *so, const void *data, size_t len, struct sockaddr *to, int addrcnt, void *info, socklen_t infolen, unsigned int infotype, int flags) |
ssize_t | userspace_sctp_sendmbuf (struct socket *so, struct mbuf *mbufdata, size_t len, struct sockaddr *to, socklen_t tolen, u_int32_t ppid, u_int32_t flags, u_int16_t stream_no, u_int32_t timetolive, u_int32_t context) |
ssize_t | userspace_sctp_recvmsg (struct socket *so, void *dbuf, size_t len, struct sockaddr *from, socklen_t *fromlenp, struct sctp_sndrcvinfo *sinfo, int *msg_flags) |
ssize_t | usrsctp_recvv (struct socket *so, void *dbuf, size_t len, struct sockaddr *from, socklen_t *fromlenp, void *info, socklen_t *infolen, unsigned int *infotype, int *msg_flags) |
int | socreate (int dom, struct socket **aso, int type, int proto, struct ucred *cred, struct thread *td) |
struct socket * | userspace_socket (int domain, int type, int protocol) |
struct socket * | usrsctp_socket (int domain, int type, int protocol, int(*receive_cb)(struct socket *sock, union sctp_sockstore addr, void *data, size_t datalen, struct sctp_rcvinfo, int flags, void *ulp_info), int(*send_cb)(struct socket *sock, uint32_t sb_free), uint32_t sb_threshold, void *ulp_info) |
int | sbreserve_locked (struct sockbuf *sb, u_long cc, struct socket *so) |
int | soreserve (struct socket *so, u_long sndcc, u_long rcvcc) |
void | sowakeup (struct socket *so, struct sockbuf *sb) |
int | sobind (struct socket *so, struct sockaddr *nam) |
int | usrsctp_bind (struct socket *so, struct sockaddr *name, int namelen) |
int | userspace_bind (struct socket *so, struct sockaddr *name, int namelen) |
int | solisten (struct socket *so, int backlog) |
int | solisten_proto_check (struct socket *so) |
void | solisten_proto (struct socket *so, int backlog) |
int | usrsctp_listen (struct socket *so, int backlog) |
int | userspace_listen (struct socket *so, int backlog) |
int | soaccept (struct socket *so, struct sockaddr **nam) |
int | user_accept (struct socket *head, struct sockaddr **name, socklen_t *namelen, struct socket **ptr_accept_ret_sock) |
struct socket * | usrsctp_accept (struct socket *so, struct sockaddr *aname, socklen_t *anamelen) |
struct socket * | userspace_accept (struct socket *so, struct sockaddr *aname, socklen_t *anamelen) |
struct socket * | usrsctp_peeloff (struct socket *head, sctp_assoc_t id) |
int | sodisconnect (struct socket *so) |
int | usrsctp_set_non_blocking (struct socket *so, int onoff) |
int | usrsctp_get_non_blocking (struct socket *so) |
int | soconnect (struct socket *so, struct sockaddr *nam) |
int | user_connect (struct socket *so, struct sockaddr *sa) |
int | usrsctp_connect (struct socket *so, struct sockaddr *name, int namelen) |
int | userspace_connect (struct socket *so, struct sockaddr *name, int namelen) |
void | usrsctp_close (struct socket *so) |
void | userspace_close (struct socket *so) |
int | usrsctp_shutdown (struct socket *so, int how) |
int | userspace_shutdown (struct socket *so, int how) |
int | usrsctp_finish (void) |
int | userspace_finish (void) |
int | sctp_setopt (struct socket *so, int optname, void *optval, size_t optsize, void *p) |
int | usrsctp_setsockopt (struct socket *so, int level, int option_name, const void *option_value, socklen_t option_len) |
int | userspace_setsockopt (struct socket *so, int level, int option_name, const void *option_value, socklen_t option_len) |
int | sctp_getopt (struct socket *so, int optname, void *optval, size_t *optsize, void *p) |
int | userspace_getsockopt (struct socket *so, int level, int option_name, void *option_value, socklen_t *option_len) |
int | usrsctp_set_ulpinfo (struct socket *so, void *ulp_info) |
int | usrsctp_bindx (struct socket *so, struct sockaddr *addrs, int addrcnt, int flags) |
int | usrsctp_connectx (struct socket *so, const struct sockaddr *addrs, int addrcnt, sctp_assoc_t *id) |
int | usrsctp_getpaddrs (struct socket *so, sctp_assoc_t id, struct sockaddr **raddrs) |
void | usrsctp_freepaddrs (struct sockaddr *addrs) |
int | usrsctp_getladdrs (struct socket *so, sctp_assoc_t id, struct sockaddr **raddrs) |
void | usrsctp_freeladdrs (struct sockaddr *addrs) |
void | usrsctp_register_address (void *addr) |
void | usrsctp_deregister_address (void *addr) |
char * | usrsctp_dumppacket (const void *buf, size_t len, int outbound) |
void | usrsctp_freedumpbuffer (char *buf) |
void | usrsctp_conninput (void *addr, const void *buffer, size_t length, uint8_t ecn_bits) |
void | usrsctp_get_stat (struct sctpstat *stat) |
Variables | |
userland_mutex_t | accept_mtx |
userland_cond_t | accept_cond |
u_long | sb_max = SB_MAX |
u_long | sb_max_adj |
#define HEADER "0000 " |
#define MAXLEN_MBUF_CHAIN 32 |
#define PREAMBLE_FORMAT "\n%c %02d:%02d:%02d.%06ld " |
#define PREAMBLE_LENGTH 19 |
#define SCTP_SMALL_IOVEC_SIZE 2 |
#define SCTP_STACK_BUF_SIZE 2048 |
#define TRAILER "# SCTP_PACKET\n" |
#define USRSCTP_SYSCTL_GET_DEF | ( | __field | ) |
#define USRSCTP_SYSCTL_SET_DEF | ( | __field | ) |
int copyiniov | ( | struct iovec * | iovp, |
u_int | iovcnt, | ||
struct iovec ** | iov, | ||
int | error | ||
) |
int getsockaddr | ( | struct sockaddr ** | namp, |
caddr_t | uaddr, | ||
size_t | len | ||
) |
MALLOC_DEFINE | ( | M_PCB | , |
"sctp_pcb" | , | ||
"sctp pcb" | |||
) |
MALLOC_DEFINE | ( | M_SONAME | , |
"sctp_soname" | , | ||
"sctp soname" | |||
) |
int sbreserve_locked | ( | struct sockbuf * | sb, |
u_long | cc, | ||
struct socket * | so | ||
) |
int sbwait | ( | struct sockbuf * | sb | ) |
int sctp_sosend | ( | struct socket * | so, |
struct sockaddr * | addr, | ||
struct uio * | uio, | ||
struct mbuf * | top, | ||
struct mbuf * | control, | ||
int | flags, | ||
struct proc * | p | ||
) |
int soaccept | ( | struct socket * | so, |
struct sockaddr ** | nam | ||
) |
int sobind | ( | struct socket * | so, |
struct sockaddr * | nam | ||
) |
int soconnect | ( | struct socket * | so, |
struct sockaddr * | nam | ||
) |
int socreate | ( | int | dom, |
struct socket ** | aso, | ||
int | type, | ||
int | proto, | ||
struct ucred * | cred, | ||
struct thread * | td | ||
) |
int sodisconnect | ( | struct socket * | so | ) |
int solisten | ( | struct socket * | so, |
int | backlog | ||
) |
int solisten_proto_check | ( | struct socket * | so | ) |
int soreserve | ( | struct socket * | so, |
u_long | sndcc, | ||
u_long | rcvcc | ||
) |
int user_accept | ( | struct socket * | head, |
struct sockaddr ** | name, | ||
socklen_t * | namelen, | ||
struct socket ** | ptr_accept_ret_sock | ||
) |
int user_connect | ( | struct socket * | so, |
struct sockaddr * | sa | ||
) |
struct socket* userspace_accept | ( | struct socket * | so, |
struct sockaddr * | aname, | ||
socklen_t * | anamelen | ||
) |
int userspace_bind | ( | struct socket * | so, |
struct sockaddr * | name, | ||
int | namelen | ||
) |
int userspace_connect | ( | struct socket * | so, |
struct sockaddr * | name, | ||
int | namelen | ||
) |
int userspace_finish | ( | void | ) |
int userspace_getsockopt | ( | struct socket * | so, |
int | level, | ||
int | option_name, | ||
void * | option_value, | ||
socklen_t * | option_len | ||
) |
int userspace_listen | ( | struct socket * | so, |
int | backlog | ||
) |
ssize_t userspace_sctp_recvmsg | ( | struct socket * | so, |
void * | dbuf, | ||
size_t | len, | ||
struct sockaddr * | from, | ||
socklen_t * | fromlenp, | ||
struct sctp_sndrcvinfo * | sinfo, | ||
int * | msg_flags | ||
) |
ssize_t userspace_sctp_sendmbuf | ( | struct socket * | so, |
struct mbuf * | mbufdata, | ||
size_t | len, | ||
struct sockaddr * | to, | ||
socklen_t | tolen, | ||
u_int32_t | ppid, | ||
u_int32_t | flags, | ||
u_int16_t | stream_no, | ||
u_int32_t | timetolive, | ||
u_int32_t | context | ||
) |
ssize_t userspace_sctp_sendmsg | ( | struct socket * | so, |
const void * | data, | ||
size_t | len, | ||
struct sockaddr * | to, | ||
socklen_t | tolen, | ||
u_int32_t | ppid, | ||
u_int32_t | flags, | ||
u_int16_t | stream_no, | ||
u_int32_t | timetolive, | ||
u_int32_t | context | ||
) |
int userspace_setsockopt | ( | struct socket * | so, |
int | level, | ||
int | option_name, | ||
const void * | option_value, | ||
socklen_t | option_len | ||
) |
int userspace_shutdown | ( | struct socket * | so, |
int | how | ||
) |
struct socket* userspace_socket | ( | int | domain, |
int | type, | ||
int | protocol | ||
) |
int usrsctp_bind | ( | struct socket * | so, |
struct sockaddr * | name, | ||
int | namelen | ||
) |
int usrsctp_bindx | ( | struct socket * | so, |
struct sockaddr * | addrs, | ||
int | addrcnt, | ||
int | flags | ||
) |
int usrsctp_connect | ( | struct socket * | so, |
struct sockaddr * | name, | ||
int | namelen | ||
) |
int usrsctp_connectx | ( | struct socket * | so, |
const struct sockaddr * | addrs, | ||
int | addrcnt, | ||
sctp_assoc_t * | id | ||
) |
int usrsctp_finish | ( | void | ) |
void usrsctp_freedumpbuffer | ( | char * | buf | ) |
void usrsctp_freeladdrs | ( | struct sockaddr * | addrs | ) |
void usrsctp_freepaddrs | ( | struct sockaddr * | addrs | ) |
int usrsctp_get_non_blocking | ( | struct socket * | so | ) |
sctp_assoc_t usrsctp_getassocid | ( | struct socket * | sock, |
struct sockaddr * | sa | ||
) |
int usrsctp_getladdrs | ( | struct socket * | so, |
sctp_assoc_t | id, | ||
struct sockaddr ** | raddrs | ||
) |
int usrsctp_getpaddrs | ( | struct socket * | so, |
sctp_assoc_t | id, | ||
struct sockaddr ** | raddrs | ||
) |
int usrsctp_getsockopt | ( | struct socket * | so, |
int | level, | ||
int | option_name, | ||
void * | option_value, | ||
socklen_t * | option_len | ||
) |
void usrsctp_init | ( | uint16_t | port, |
int(*)(void *addr, void *buffer, size_t length, uint8_t tos, uint8_t set_df) | conn_output, | ||
void(*)(const char *format,...) | debug_printf | ||
) |
int usrsctp_listen | ( | struct socket * | so, |
int | backlog | ||
) |
struct socket* usrsctp_peeloff | ( | struct socket * | head, |
sctp_assoc_t | id | ||
) |
ssize_t usrsctp_recvv | ( | struct socket * | so, |
void * | dbuf, | ||
size_t | len, | ||
struct sockaddr * | from, | ||
socklen_t * | fromlenp, | ||
void * | info, | ||
socklen_t * | infolen, | ||
unsigned int * | infotype, | ||
int * | msg_flags | ||
) |
ssize_t usrsctp_sendv | ( | struct socket * | so, |
const void * | data, | ||
size_t | len, | ||
struct sockaddr * | to, | ||
int | addrcnt, | ||
void * | info, | ||
socklen_t | infolen, | ||
unsigned int | infotype, | ||
int | flags | ||
) |
int usrsctp_set_non_blocking | ( | struct socket * | so, |
int | onoff | ||
) |
int usrsctp_setsockopt | ( | struct socket * | so, |
int | level, | ||
int | option_name, | ||
const void * | option_value, | ||
socklen_t | option_len | ||
) |
int usrsctp_shutdown | ( | struct socket * | so, |
int | how | ||
) |
struct socket* usrsctp_socket | ( | int | domain, |
int | type, | ||
int | protocol, | ||
int(*)(struct socket *sock, union sctp_sockstore addr, void *data, size_t datalen, struct sctp_rcvinfo, int flags, void *ulp_info) | receive_cb, | ||
int(*)(struct socket *sock, uint32_t sb_free) | send_cb, | ||
uint32_t | sb_threshold, | ||
void * | ulp_info | ||
) |
userland_cond_t accept_cond |
userland_mutex_t accept_mtx |
u_long sb_max = SB_MAX |