sctp_bindx函数:允许SCTP套接字捆绑一个特定地址子集
#include <netinet/sctp.h>
// 若成功返回0,出错返回-1
int sctp_bindx(int sockfd, const struct sockaddr *addrs, int addrcnt, int flags);
sctp_connectx函数:用于连接到一个多宿对端主机
#include <netinet/sctp.h>
// 若成功返回0,出错返回-1
int sctp_connectx(int sockfd, const struct *addr, int addrcnt);
sctp_getpaddrs函数:使用SCTP时它仅仅返回主目的地址,使用sctp_getpaddrs用于获取对端所有地址
#include <netinet/sctp.h>
// 若成功返回存放在addrs中的对端地址数,出错返回-1
int sctp_getpaddrs(int sockfd, sctp_assoc_t id, struct sockaddr **addrs);
sctp_freepaddrs函数:用于释放sctp_getpaddrs函数分配的资源
#include <netinet/sctp.h>
void sctp_freepaddrs(struct sockaddr *addrs);
sctp_getladdrs函数:获取属于某个关联的本地地址
#include <netinet/sctp.h>
// 若成功返回存放在addrs中的本端地址数,出错返回-1
int sctp_getladdrs(int sockfd, sctp_assoc_t id, struct sockaddr **addrs);
sctp_freeladdrs函数:用于释放sctp_getladdrs函数分配的资源
#include <netinet/sctp.h>
void sctp_freeladdrs(struct sockaddr *addrs);
sctp_sendmsg函数:SCTP通过让使用者提供更多参数,来简化使用伴随辅助数据的sendmsg函数
#include <netinet/sctp.h>
// 若成功返回所写的字节数,出错返回-1
sszie_t sctp_sendmsg(int sockfd, const void *msg, size_t msgsz,
const struct sockaddr *to, socklen_t tolen,
uint32_t ppid,
uint32_t flags, uint16_t stream,
uint32_t timetolive, uint32_t context);
sctp_recvmsg函数:SCTP通过让使用者提供更多参数,来简化使用伴随辅助数据的recvmsg函数
#include <netinet/sctp.h>
// 若成功返回所读的字节数,出错返回-1
sszie_t sctp_recvmsg(int sockfd, const void *msg, size_t msgsz,
struct sockaddr *from, socklen_t fromlen,
struct sctp_sndrcvinfo *sinfo,
int *msg_flags);
sctp_opt_info函数:用于那些无法为SCTP使用getsockopt函数的实现提供的
#include <netinet/sctp.h>
// 若成功返回0,出错返回-1
int sctp_opt_info(int sockfd, sctp_assoc_t assoc_id, int opt, void *arg, socklen_t *siz);
sctp_peeloff函数:从一个一到多式套接字中抽取一个关联,构成单独一个一到一式套接字
#include <netinet/sctp.h>
// 若成功返回一个新的套接字描述符,出错返回-1
int sctp_peeloff(int sockfd, sctp_assoc_t id);
最新评论