/* * Copyright 2013 Google Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ /* * Author: ncardwell@google.com (Neal Cardwell) * * Definitions of strace-style symbols for FreeBSD. * Allows us to map from symbolic strings to integers for system call inputs. */ #if defined(__FreeBSD__) #include "symbols.h" #include <errno.h> #include <fcntl.h> #include <netinet/in.h> #include <netinet/udp.h> #include <poll.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/unistd.h> #include "tcp.h" /* A table of platform-specific string->int mappings. */ struct int_symbol platform_symbols_table[] = { /* /usr/include/sys/socket.h */ { SO_DEBUG, "SO_DEBUG" }, { SO_ACCEPTCONN, "SO_ACCEPTCONN" }, { SO_REUSEADDR, "SO_REUSEADDR" }, { SO_KEEPALIVE, "SO_KEEPALIVE" }, { SO_DONTROUTE, "SO_DONTROUTE" }, { SO_BROADCAST, "SO_BROADCAST" }, { SO_USELOOPBACK, "SO_USELOOPBACK" }, { SO_LINGER, "SO_LINGER" }, { SO_OOBINLINE, "SO_OOBINLINE" }, { SO_REUSEPORT, "SO_REUSEPORT" }, { SO_TIMESTAMP, "SO_TIMESTAMP" }, { SO_NOSIGPIPE, "SO_NOSIGPIPE" }, { SO_ACCEPTFILTER, "SO_ACCEPTFILTER" }, { SO_BINTIME, "SO_BINTIME" }, { SO_NO_OFFLOAD, "SO_NO_OFFLOAD" }, { SO_NO_DDP, "SO_NO_DDP" }, #ifdef SO_REUSEPORT_LB { SO_REUSEPORT_LB, "SO_REUSEPORT_LB" }, #endif { SO_SNDBUF, "SO_SNDBUF" }, { SO_RCVBUF, "SO_RCVBUF" }, { SO_SNDLOWAT, "SO_SNDLOWAT" }, { SO_RCVLOWAT, "SO_RCVLOWAT" }, { SO_SNDTIMEO, "SO_SNDTIMEO" }, { SO_RCVTIMEO, "SO_RCVTIMEO" }, { SO_ERROR, "SO_ERROR" }, { SO_TYPE, "SO_TYPE" }, { SO_LABEL, "SO_LABEL" }, { SO_PEERLABEL, "SO_PEERLABEL" }, { SO_LISTENQLIMIT, "SO_LISTENQLIMIT" }, { SO_LISTENQLEN, "SO_LISTENQLEN" }, { SO_LISTENINCQLEN, "SO_LISTENINCQLEN" }, { SO_SETFIB, "SO_SETFIB" }, #ifdef SO_USER_COOKIE { SO_USER_COOKIE, "SO_USER_COOKIE" }, #endif #ifdef SO_PROTOCOL { SO_PROTOCOL, "SO_PROTOCOL" }, #endif #ifdef SO_PROTOTYPE { SO_PROTOTYPE, "SO_PROTOTYPE" }, #endif #ifdef SO_TS_CLOCK { SO_TS_CLOCK, "SO_TS_CLOCK" }, #endif #ifdef SO_MAX_PACING_RATE { SO_MAX_PACING_RATE, "SO_MAX_PACING_RATE" }, #endif #ifdef SO_DOMAIN { SO_DOMAIN, "SO_DOMAIN" }, #endif /* /usr/include/sys/sockio.h */ { SIOCSHIWAT, "SIOCSHIWAT" }, { SIOCGHIWAT, "SIOCGHIWAT" }, { SIOCSLOWAT, "SIOCSLOWAT" }, { SIOCGLOWAT, "SIOCGLOWAT" }, { SIOCATMARK, "SIOCATMARK" }, { SIOCSPGRP, "SIOCSPGRP" }, { SIOCGPGRP, "SIOCGPGRP" }, /* /usr/include/netinet/in.h */ { IP_OPTIONS, "IP_OPTIONS" }, { IP_HDRINCL, "IP_HDRINCL" }, { IP_TOS, "IP_TOS" }, { IP_TTL, "IP_TTL" }, { IP_RECVOPTS, "IP_RECVOPTS" }, { IP_RECVRETOPTS, "IP_RECVRETOPTS" }, { IP_RECVDSTADDR, "IP_RECVDSTADDR" }, { IP_SENDSRCADDR, "IP_SENDSRCADDR" }, { IP_RETOPTS, "IP_RETOPTS" }, { IP_PORTRANGE, "IP_PORTRANGE" }, { IP_RECVIF, "IP_RECVIF" }, #ifdef IP_RSS_LISTEN_BUCKET { IP_RSS_LISTEN_BUCKET, "IP_RSS_LISTEN_BUCKET" }, #endif { IP_RECVTTL, "IP_RECVTTL" }, { IP_MINTTL, "IP_MINTTL," }, { IP_DONTFRAG, "IP_DONTFRAG" }, { IP_RECVTOS, "IP_RECVTOS" }, #ifdef IP_FLOWID { IP_FLOWID, "IP_FLOWID" }, #endif #ifdef IP_FLOWTYPE { IP_FLOWTYPE, "IP_FLOWTYPE" }, #endif #ifdef IP_RSSBUCKETID { IP_RSSBUCKETID, "IP_RSSBUCKETID" }, #endif #ifdef IP_RECVFLOWID { IP_RECVFLOWID, "IP_RECVFLOWID" }, #endif #ifdef IP_RECVRSSBUCKETID { IP_RECVRSSBUCKETID, "IP_RECVRSSBUCKETID" }, #endif /* /usr/include/netinet6/in6.h */ { IPV6_UNICAST_HOPS, "IPV6_UNICAST_HOPS" }, { IPV6_PORTRANGE, "IPV6_PORTRANGE" }, { IPV6_CHECKSUM, "IPV6_CHECKSUM" }, { IPV6_V6ONLY, "IPV6_V6ONLY" }, { IPV6_RECVPKTINFO, "IPV6_RECVPKTINFO" }, { IPV6_RECVHOPLIMIT, "IPV6_RECVHOPLIMIT" }, { IPV6_RECVRTHDR, "IPV6_RECVRTHDR" }, { IPV6_RECVHOPOPTS, "IPV6_RECVHOPOPTS" }, { IPV6_RECVDSTOPTS, "IPV6_RECVDSTOPTS" }, { IPV6_USE_MIN_MTU, "IPV6_USE_MIN_MTU" }, { IPV6_RECVPATHMTU, "IPV6_RECVPATHMTU" }, { IPV6_PATHMTU, "IPV6_PATHMTU" }, { IPV6_HOPLIMIT, "IPV6_HOPLIMIT" }, { IPV6_RECVTCLASS, "IPV6_RECVTCLASS" }, { IPV6_AUTOFLOWLABEL, "IPV6_AUTOFLOWLABEL" }, { IPV6_TCLASS, "IPV6_TCLASS" }, { IPV6_DONTFRAG, "IPV6_DONTFRAG" }, #ifdef IPV6_RSS_LISTEN_BUCKET { IPV6_RSS_LISTEN_BUCKET, "IPV6_RSS_LISTEN_BUCKET" }, #endif #ifdef IPV6_FLOWID { IPV6_FLOWID, "IPV6_FLOWID" }, #endif #ifdef IPV6_FLOWTYPE { IPV6_FLOWTYPE, "IPV6_FLOWTYPE" }, #endif #ifdef IPV6_RSSBUCKETID { IPV6_RSSBUCKETID, "IPV6_RSSBUCKETID" }, #endif #ifdef IPV6_RECVFLOWID { IPV6_RECVFLOWID, "IPV6_RECVFLOWID" }, #endif #ifdef IPV6_RECVRSSBUCKETID { IPV6_RECVRSSBUCKETID, "IPV6_RECVRSSBUCKETID" }, #endif /* /usr/include/netinet/sctp.h and /usr/include/netinet/sctp_uio.h */ { SCTP_RTOINFO, "SCTP_RTOINFO" }, { SCTP_ASSOCINFO, "SCTP_ASSOCINFO" }, { SCTP_INITMSG, "SCTP_INITMSG" }, { SCTP_INIT, "SCTP_INIT" }, { SCTP_NODELAY, "SCTP_NODELAY" }, { SCTP_AUTOCLOSE, "SCTP_AUTOCLOSE" }, { SCTP_PRIMARY_ADDR, "SCTP_PRIMARY_ADDR" }, { SCTP_ADAPTATION_LAYER, "SCTP_ADAPTATION_LAYER" }, { SCTP_DISABLE_FRAGMENTS, "SCTP_DISABLE_FRAGMENTS" }, { SCTP_DEFAULT_SEND_PARAM, "SCTP_DEFAULT_SEND_PARAM" }, { SCTP_I_WANT_MAPPED_V4_ADDR, "SCTP_I_WANT_MAPPED_V4_ADDR" }, { SCTP_MAXSEG, "SCTP_MAXSEG" }, { SCTP_HMAC_IDENT, "SCTP_HMAC_IDENT" }, { SCTP_AUTH_ACTIVE_KEY, "SCTP_AUTH_ACTIVE_KEY" }, { SCTP_DELAYED_SACK, "SCTP_DELAYED_SACK" }, { SCTP_PARTIAL_DELIVERY_POINT, "SCTP_PARTIAL_DELIVERY_POINT" }, { SCTP_AUTO_ASCONF, "SCTP_AUTO_ASCONF" }, { SCTP_MAX_BURST, "SCTP_MAX_BURST" }, { SCTP_CONTEXT, "SCTP_CONTEXT" }, { SCTP_PEER_ADDR_PARAMS, "SCTP_PEER_ADDR_PARAMS" }, { SCTP_EVENT, "SCTP_EVENT" }, { SCTP_EXPLICIT_EOR, "SCTP_EXPLICIT_EOR" }, { SCTP_REUSE_PORT, "SCTP_REUSE_PORT" }, { SCTP_EVENTS, "SCTP_EVENTS" }, { SCTP_DEFAULT_SNDINFO, "SCTP_DEFAULT_SNDINFO" }, { SCTP_DEFAULT_PRINFO, "SCTP_DEFAULT_PRINFO" }, { SCTP_STATUS, "SCTP_STATUS" }, { SCTP_GET_PEER_ADDR_INFO, "SCTP_GET_PEER_ADDR_INFO" }, { SCTP_PEER_AUTH_CHUNKS, "SCTP_PEER_AUTH_CHUNKS" }, { SCTP_LOCAL_AUTH_CHUNKS, "SCTP_LOCAL_AUTH_CHUNKS" }, { SCTP_GET_ASSOC_NUMBER, "SCTP_GET_ASSOC_NUMBER" }, { SCTP_GET_ASSOC_ID_LIST, "SCTP_GET_ASSOC_ID_LIST" }, { SCTP_SET_PEER_PRIMARY_ADDR, "SCTP_SET_PEER_PRIMARY_ADDR" }, { SCTP_AUTH_CHUNK, "SCTP_AUTH_CHUNK" }, { SCTP_AUTH_KEY, "SCTP_AUTH_KEY" }, { SCTP_AUTH_DEACTIVATE_KEY, "SCTP_AUTH_DEACTIVATE_KEY" }, { SCTP_AUTH_DELETE_KEY, "SCTP_AUTH_DELETE_KEY" }, { SCTP_FRAGMENT_INTERLEAVE, "SCTP_FRAGMENT_INTERLEAVE" }, { SCTP_EXPLICIT_EOR, "SCTP_EXPLICIT_EOR" }, #if defined(SCTP_INTERLEAVING_SUPPORTED) { SCTP_INTERLEAVING_SUPPORTED, "SCTP_INTERLEAVING_SUPPORTED" }, #endif { SCTP_REMOTE_UDP_ENCAPS_PORT, "SCTP_REMOTE_UDP_ENCAPS_PORT" }, { SCTP_CLOSED, "SCTP_CLOSED" }, { SCTP_BOUND, "SCTP_BOUND" }, { SCTP_LISTEN, "SCTP_LISTEN" }, { SCTP_COOKIE_WAIT, "SCTP_COOKIE_WAIT" }, { SCTP_COOKIE_ECHOED, "SCTP_COOKIE_ECHOED" }, { SCTP_ESTABLISHED, "SCTP_ESTABLISHED" }, { SCTP_SHUTDOWN_SENT, "SCTP_SHUTDOWN_SENT" }, { SCTP_SHUTDOWN_RECEIVED, "SCTP_SHUTDOWN_RECEIVED" }, { SCTP_SHUTDOWN_ACK_SENT, "SCTP_SHUTDOWN_ACK_SENT" }, { SCTP_SHUTDOWN_PENDING, "SCTP_SHUTDOWN_PENDING" }, /* The following constants are from * https://tools.ietf.org/html/draft-ietf-tsvwg-sctp-ndata-04 * The old symbols currently being deployed are also provided. */ { SCTP_PLUGGABLE_SS, "SCTP_PLUGGABLE_SS" }, { SCTP_SS_VALUE, "SCTP_SS_VALUE" }, { SCTP_SS_DEFAULT, "SCTP_SS_DEFAULT" }, { SCTP_SS_ROUND_ROBIN, "SCTP_SS_ROUND_ROBIN" }, { SCTP_SS_ROUND_ROBIN_PACKET, "SCTP_SS_ROUND_ROBIN_PACKET" }, { SCTP_SS_PRIORITY, "SCTP_SS_PRIORITY" }, /* The following is a typo in FreeBSD's sctp.h */ { SCTP_SS_FAIR_BANDWITH, "SCTP_SS_FAIR_BANDWITH" }, { SCTP_SS_FIRST_COME, "SCTP_SS_FIRST_COME" }, #if defined(SCTP_SS_FCFS) { SCTP_SS_FCFS, "SCTP_SS_FCFS" }, #endif #if defined(SCTP_SS_RR) { SCTP_SS_RR, "SCTP_SS_RR" }, #endif #if defined(SCTP_SS_RR_PKT) { SCTP_SS_RR_PKT, "SCTP_SS_RR_PKT" }, #endif #if defined(SCTP_SS_PRIO) { SCTP_SS_PRIO, "SCTP_SS_PRIO" }, #endif #if defined(SCTP_SS_FB) { SCTP_SS_FB, "SCTP_SS_FB" }, #endif #if defined(SCTP_SS_WFQ) { SCTP_SS_WFQ, "SCTP_SS_WFQ" }, #endif #if defined(SCTP_SS_RR_INTER) { SCTP_SS_RR_INTER, "SCTP_SS_RR_INTER" }, #endif #if defined(SCTP_SS_RR_PKT_INTER) { SCTP_SS_RR_PKT_INTER, "SCTP_SS_RR_PKT_INTER" }, #endif #if defined(SCTP_SS_PRIO_INTER) { SCTP_SS_PRIO_INTER, "SCTP_SS_PRIO_INTER" }, #endif #if defined(SCTP_SS_FB_INTER) { SCTP_SS_FB_INTER, "SCTP_SS_FB_INTER" }, #endif #if defined(SCTP_SS_WFQ_INTER) { SCTP_SS_WFQ_INTER, "SCTP_SS_WFQ_INTER" }, #endif { SCTP_UNCONFIRMED, "SCTP_UNCONFIRMED" }, { SCTP_ACTIVE, "SCTP_ACTIVE" }, { SCTP_INACTIVE, "SCTP_INACTIVE" }, { SPP_HB_ENABLE, "SPP_HB_ENABLE" }, { SPP_HB_DISABLE, "SPP_HB_DISABLE" }, { SPP_HB_DEMAND, "SPP_HB_DEMAND" }, { SPP_HB_TIME_IS_ZERO, "SPP_HB_TIME_IS_ZERO" }, { SPP_PMTUD_ENABLE, "SPP_PMTUD_ENABLE" }, { SPP_PMTUD_DISABLE, "SPP_PMTUD_DISABLE" }, { SPP_IPV6_FLOWLABEL, "SPP_IPV6_FLOWLABEL" }, { SPP_DSCP, "SPP_DSCP" }, { SCTP_ASSOC_CHANGE, "SCTP_ASSOC_CHANGE" }, { SCTP_PEER_ADDR_CHANGE, "SCTP_PEER_ADDR_CHANGE" }, { SCTP_REMOTE_ERROR, "SCTP_REMOTE_ERROR" }, { SCTP_SEND_FAILED, "SCTP_SEND_FAILED" }, { SCTP_SHUTDOWN_EVENT, "SCTP_SHUTDOWN_EVENT" }, { SCTP_SENDER_DRY_EVENT, "SCTP_SENDER_DRY_EVENT" }, { SCTP_SEND_FAILED_EVENT, "SCTP_SEND_FAILED_EVENT" }, { SCTP_ADAPTATION_INDICATION, "SCTP_ADAPTATION_INDICATION" }, { SCTP_ADAPTION_INDICATION, "SCTP_ADAPTION_INDICATION" }, { SCTP_PARTIAL_DELIVERY_EVENT, "SCTP_PARTIAL_DELIVERY_EVENT" }, { SCTP_AUTHENTICATION_EVENT, "SCTP_AUTHENTICATION_EVENT" }, { SCTP_NOTIFICATIONS_STOPPED_EVENT, "SCTP_NOTIFICATIONS_STOPPED_EVENT"}, { SCTP_SEND_FAILED_EVENT, "SCTP_SEND_FAILED_EVENT" }, { SCTP_UNORDERED, "SCTP_UNORDERED" }, { SCTP_COMPLETE, "SCTP_COMPLETE" }, { SCTP_ADDR_OVER, "SCTP_ADDR_OVER" }, { SCTP_ABORT, "SCTP_ABORT" }, { SCTP_EOF, "SCTP_EOF" }, { SCTP_SENDALL, "SCTP_SENDALL" }, { SCTP_EOR, "SCTP_EOR" }, { SCTP_NEXT_MSG_AVAIL, "SCTP_NEXT_MSG_AVAIL" }, { SCTP_NEXT_MSG_ISCOMPLETE, "SCTP_NEXT_MSG_ISCOMPLETE" }, { SCTP_NEXT_MSG_IS_UNORDERED, "SCTP_NEXT_MSG_IS_UNORDERED" }, { SCTP_NEXT_MSG_IS_NOTIFICATION, "SCTP_NEXT_MSG_IS_NOTIFICATION" }, { SCTP_SACK_IMMEDIATELY, "SCTP_SACK_IMMEDIATELY" }, { SCTP_PR_SCTP_NONE, "SCTP_PR_SCTP_NONE" }, { SCTP_PR_SCTP_TTL, "SCTP_PR_SCTP_TTL" }, { SCTP_PR_SCTP_RTX, "SCTP_PR_SCTP_RTX" }, { SCTP_PR_SCTP_PRIO, "SCTP_PR_SCTP_PRIO" }, { SCTP_BINDX_ADD_ADDR, "SCTP_BINDX_ADD_ADDR" }, { SCTP_BINDX_REM_ADDR, "SCTP_BINDX_REM_ADDR" }, { SCTP_SENDV_NOINFO, "SCTP_SENDV_NOINFO" }, { SCTP_SENDV_SNDINFO, "SCTP_SENDV_SNDINFO" }, { SCTP_SENDV_PRINFO, "SCTP_SENDV_PRINFO" }, { SCTP_SENDV_AUTHINFO, "SCTP_SENDV_AUTHINFO" }, { SCTP_SENDV_SPA, "SCTP_SENDV_SPA" }, { SCTP_SEND_SNDINFO_VALID, "SCTP_SEND_SNDINFO_VALID" }, { SCTP_SEND_PRINFO_VALID, "SCTP_SEND_PRINFO_VALID" }, { SCTP_SEND_AUTHINFO_VALID, "SCTP_SEND_AUTHINFO_VALID" }, { SCTP_RECVV_NOINFO, "SCTP_RECVV_NOINFO" }, { SCTP_RECVV_RCVINFO, "SCTP_RECVV_RCVINFO" }, { SCTP_RECVV_NXTINFO, "SCTP_RECVV_NXTINFO" }, { SCTP_RECVV_RN, "SCTP_RECVV_RN" }, { SCTP_RECVRCVINFO, "SCTP_RECVRCVINFO" }, { SCTP_RECVNXTINFO, "SCTP_RECVNXTINFO" }, { SCTP_DATA_SENT, "SCTP_DATA_SENT" }, { SCTP_DATA_UNSENT, "SCTP_DATA_UNSENT" }, { SCTP_COMM_UP, "SCTP_COMM_UP" }, { SCTP_COMM_LOST, "SCTP_COMM_LOST" }, { SCTP_RESTART, "SCTP_RESTART" }, { SCTP_SHUTDOWN_COMP, "SCTP_SHUTDOWN_COMP" }, { SCTP_AUTH_NEW_KEY, "SCTP_AUTH_NEW_KEY" }, { SCTP_AUTH_NO_AUTH, "SCTP_AUTH_NO_AUTH" }, { SCTP_AUTH_FREE_KEY, "SCTP_AUTH_FREE_KEY" }, { SCTP_ASSOC_SUPPORTS_PR, "SCTP_ASSOC_SUPPORTS_PR" }, { SCTP_ASSOC_SUPPORTS_AUTH, "SCTP_ASSOC_SUPPORTS_AUTH" }, { SCTP_ASSOC_SUPPORTS_ASCONF, "SCTP_ASSOC_SUPPORTS_ASCONF" }, { SCTP_ASSOC_SUPPORTS_MULTIBUF, "SCTP_ASSOC_SUPPORTS_MULTIBUF" }, { SCTP_PARTIAL_DELIVERY_ABORTED, "SCTP_PARTIAL_DELIVERY_ABORTED" }, { SCTP_ADDR_AVAILABLE, "SCTP_ADDR_AVAILABLE" }, { SCTP_ADDR_UNREACHABLE, "SCTP_ADDR_UNREACHABLE" }, { SCTP_ADDR_REMOVED, "SCTP_ADDR_REMOVED" }, { SCTP_ADDR_MADE_PRIM, "SCTP_ADDR_MADE_PRIM" }, { SCTP_SNDRCV, "SCTP_SNDRCV" }, { SCTP_SNDINFO, "SCTP_SNDINFO" }, { SCTP_RCVINFO, "SCTP_RCVINFO" }, { SCTP_NXTINFO, "SCTP_NXTINFO" }, { SCTP_PRINFO, "SCTP_PRINFO" }, { SCTP_AUTHINFO, "SCTP_AUTHINFO" }, { SCTP_DSTADDRV4, "SCTP_DSTADDRV4" }, { SCTP_DSTADDRV6, "SCTP_DSTADDRV6" }, { SCTP_EXTRCV, "SCTP_EXTRCV" }, { SCTP_USE_EXT_RCVINFO, "SCTP_USE_EXT_RCVINFO" }, { SCTP_AUTH_HMAC_ID_SHA1, "SCTP_AUTH_HMAC_ID_SHA1" }, { SCTP_AUTH_HMAC_ID_SHA256, "SCTP_AUTH_HMAC_ID_SHA256" }, /* sctp stream reconfiguration */ { SCTP_ENABLE_STREAM_RESET, "SCTP_ENABLE_STREAM_RESET" }, { SCTP_ENABLE_RESET_STREAM_REQ, "SCTP_ENABLE_RESET_STREAM_REQ" }, { SCTP_ENABLE_RESET_ASSOC_REQ, "SCTP_ENABLE_RESET_ASSOC_REQ" }, { SCTP_ENABLE_CHANGE_ASSOC_REQ, "SCTP_ENABLE_CHANGE_ASSOC_REQ" }, { SCTP_RESET_STREAMS, "SCTP_RESET_STREAMS" }, { SCTP_STREAM_RESET_INCOMING, "SCTP_STREAM_RESET_INCOMING" }, { SCTP_STREAM_RESET_OUTGOING, "SCTP_STREAM_RESET_OUTGOING" }, { SCTP_RESET_ASSOC, "SCTP_RESET_ASSOC" }, { SCTP_ADD_STREAMS, "SCTP_ADD_STREAMS" }, { SCTP_STREAM_RESET_EVENT, "SCTP_STREAM_RESET_EVENT" }, { SCTP_STREAM_RESET_INCOMING_SSN, "SCTP_STREAM_RESET_INCOMING_SSN" }, { SCTP_STREAM_RESET_OUTGOING_SSN, "SCTP_STREAM_RESET_OUTGOING_SSN" }, { SCTP_STREAM_RESET_DENIED, "SCTP_STREAM_RESET_DENIED" }, { SCTP_STREAM_RESET_FAILED, "SCTP_STREAM_RESET_FAILED" }, { SCTP_ASSOC_RESET_EVENT, "SCTP_ASSOC_RESET_EVENT" }, { SCTP_ASSOC_RESET_DENIED, "SCTP_ASSOC_RESET_DENIED" }, { SCTP_ASSOC_RESET_FAILED, "SCTP_ASSOC_RESET_FAILED" }, { SCTP_STREAM_CHANGE_EVENT, "SCTP_STREAM_CHANGE_EVENT" }, { SCTP_STREAM_CHANGE_DENIED, "SCTP_STREAM_CHANGE_DENIED" }, { SCTP_STREAM_CHANGE_FAILED, "SCTP_STREAM_CHANGE_FAILED" }, /* /usr/include/netinet/tcp.h */ { TCP_NODELAY, "TCP_NODELAY" }, { TCP_MAXSEG, "TCP_MAXSEG" }, { TCP_NOPUSH, "TCP_NOPUSH" }, { TCP_NOOPT, "TCP_NOOPT" }, { TCP_MD5SIG, "TCP_MD5SIG" }, { TCP_INFO, "TCP_INFO" }, { TCP_CONGESTION, "TCP_CONGESTION" }, #if defined(TCP_CCALGOOPT) { TCP_CCALGOOPT, "TCP_CCALGOOPT" }, #endif #if defined(TCP_MAXUNACKTIME) { TCP_MAXUNACKTIME, "TCP_MAXUNACKTIME" }, #endif { TCP_KEEPINIT, "TCP_KEEPINIT" }, { TCP_KEEPIDLE, "TCP_KEEPIDLE" }, { TCP_KEEPINTVL, "TCP_KEEPINTVL" }, { TCP_KEEPCNT, "TCP_KEEPCNT" }, #if defined(TCP_FASTOPEN) { TCP_FASTOPEN, "TCP_FASTOPEN" }, #endif #if defined(TCP_FUNCTION_BLK) { TCP_FUNCTION_BLK, "TCP_FUNCTION_BLK" }, #endif #if defined(TCP_REMOTE_UDP_ENCAPS_PORT) { TCP_REMOTE_UDP_ENCAPS_PORT, "TCP_REMOTE_UDP_ENCAPS_PORT" }, #endif #if defined(TCP_LOG) { TCP_LOG, "TCP_LOG" }, #endif #if defined(UDPLITE_RECV_CSCOV) && defined(UDPLITE_SEND_CSCOV) /* /usr/include/netinet/udplite.h */ { UDPLITE_RECV_CSCOV, "UDPLITE_RECV_CSCOV" }, { UDPLITE_SEND_CSCOV, "UDPLITE_SEND_CSCOV" }, #endif /* /usr/include/sys/fcntl.h */ { O_RDONLY, "O_RDONLY" }, { O_WRONLY, "O_WRONLY" }, { O_RDWR, "O_RDWR" }, { O_ACCMODE, "O_ACCMODE" }, { FREAD, "FREAD" }, { FWRITE, "FWRITE" }, { O_NONBLOCK, "O_NONBLOCK" }, { O_APPEND, "O_APPEND" }, { O_SHLOCK, "O_SHLOCK" }, { O_EXLOCK, "O_EXLOCK" }, { O_ASYNC, "O_ASYNC" }, { O_FSYNC, "O_FSYNC" }, { O_SYNC, "O_SYNC" }, { O_NOFOLLOW, "O_NOFOLLOW" }, { O_CREAT, "O_CREAT" }, { O_TRUNC, "O_TRUNC" }, { O_EXCL, "O_EXCL" }, { O_NOCTTY, "O_NOCTTY" }, { O_DIRECT, "O_DIRECT" }, { O_DIRECTORY, "O_DIRECTORY" }, { O_EXEC, "O_EXEC" }, { O_TTY_INIT, "O_TTY_INIT" }, { O_CLOEXEC, "O_CLOEXEC" }, { FAPPEND, "FAPPEND" }, { FASYNC, "FASYNC" }, { FFSYNC, "FFSYNC" }, { FNONBLOCK, "FNONBLOCK" }, { FNDELAY, "FNDELAY" }, { O_NDELAY, "O_NDELAY" }, { FRDAHEAD, "FRDAHEAD" }, { AT_FDCWD, "AT_FDCWD" }, { AT_EACCESS, "AT_EACCESS" }, { AT_SYMLINK_NOFOLLOW, "AT_SYMLINK_NOFOLLOW" }, { AT_SYMLINK_FOLLOW, "AT_SYMLINK_FOLLOW" }, { AT_REMOVEDIR, "AT_REMOVEDIR" }, { F_DUPFD, "F_DUPFD" }, { F_GETFD, "F_GETFD" }, { F_SETFD, "F_SETFD" }, { F_GETFL, "F_GETFL" }, { F_SETFL, "F_SETFL" }, { F_GETOWN, "F_GETOWN" }, { F_SETOWN, "F_SETOWN" }, { F_OGETLK, "F_OGETLK" }, { F_OSETLK, "F_OSETLK" }, { F_OSETLKW, "F_OSETLKW" }, { F_DUP2FD, "F_DUP2FD" }, { F_GETLK, "F_GETLK" }, { F_SETLK, "F_SETLK" }, { F_SETLKW, "F_SETLKW" }, { F_SETLK_REMOTE, "F_SETLK_REMOTE" }, { F_READAHEAD, "F_READAHEAD" }, { F_RDAHEAD, "F_RDAHEAD" }, { FD_CLOEXEC, "FD_CLOEXEC" }, { F_RDLCK, "F_RDLCK" }, { F_UNLCK, "F_UNLCK" }, { F_WRLCK, "F_WRLCK" }, { F_UNLCKSYS, "F_UNLCKSYS" }, { F_CANCEL, "F_CANCEL" }, { LOCK_SH, "LOCK_SH" }, { LOCK_EX, "LOCK_EX" }, { LOCK_NB, "LOCK_NB" }, { LOCK_UN, "LOCK_UN" }, { SF_NODISKIO, "SF_NODISKIO" }, { SF_MNOWAIT, "SF_MNOWAIT" }, #ifdef SF_NOCACHE { SF_NOCACHE, "SF_NOCACHE" }, #endif { SF_SYNC, "SF_SYNC" }, /* /usr/include/sys/unistd.h */ { SEEK_SET, "SEEK_SET" }, { SEEK_CUR, "SEEK_CUR" }, { SEEK_END, "SEEK_END" }, /* /usr/include/sys/socket.h */ { MSG_OOB, "MSG_OOB" }, { MSG_PEEK, "MSG_PEEK" }, { MSG_DONTROUTE, "MSG_DONTROUTE" }, { MSG_EOR, "MSG_EOR" }, { MSG_TRUNC, "MSG_TRUNC" }, { MSG_CTRUNC, "MSG_CTRUNC" }, { MSG_WAITALL, "MSG_WAITALL" }, { MSG_NOTIFICATION, "MSG_NOTIFICATION" }, { MSG_DONTWAIT, "MSG_DONTWAIT" }, { MSG_EOF, "MSG_EOF" }, { MSG_NBIO, "MSG_NBIO" }, { MSG_COMPAT, "MSG_COMPAT" }, { MSG_NOSIGNAL, "MSG_NOSIGNAL" }, /* /usr/include/sys/filio.h */ { FIOCLEX, "FIOCLEX" }, { FIONCLEX, "FIONCLEX" }, { FIONREAD, "FIONREAD" }, { FIONBIO, "FIONBIO" }, { FIOASYNC, "FIOASYNC" }, { FIOSETOWN, "FIOSETOWN" }, { FIOGETOWN, "FIOGETOWN" }, { FIODTYPE, "FIODTYPE" }, { FIOGETLBA, "FIOGETLBA" }, { FIODGNAME, "FIODGNAME" }, { FIONWRITE, "FIONWRITE" }, { FIONSPACE, "FIONSPACE" }, { FIOSEEKDATA, "FIOSEEKDATA" }, { FIOSEEKHOLE, "FIOSEEKHOLE" }, /* /usr/include/sys/poll.h */ { POLLIN, "POLLIN" }, { POLLPRI, "POLLPRI" }, { POLLOUT, "POLLOUT" }, { POLLRDNORM, "POLLRDNORM" }, { POLLWRNORM, "POLLWRNORM" }, { POLLRDBAND, "POLLRDBAND" }, { POLLWRBAND, "POLLWRBAND" }, { POLLINIGNEOF, "POLLINIGNEOF" }, { POLLERR, "POLLERR" }, { POLLHUP, "POLLHUP" }, { POLLNVAL, "POLLNVAL" }, /* /usr/include/sys/errno.h */ { EPERM, "EPERM" }, { ENOENT, "ENOENT" }, { ESRCH, "ESRCH" }, { EINTR, "EINTR" }, { EIO, "EIO" }, { ENXIO, "ENXIO" }, { E2BIG, "E2BIG" }, { ENOEXEC, "ENOEXEC" }, { EBADF, "EBADF" }, { ECHILD, "ECHILD" }, { EDEADLK, "EDEADLK" }, { ENOMEM, "ENOMEM" }, { EACCES, "EACCES" }, { EFAULT, "EFAULT" }, { ENOTBLK, "ENOTBLK" }, { EBUSY, "EBUSY" }, { EEXIST, "EEXIST" }, { EXDEV, "EXDEV" }, { ENODEV, "ENODEV" }, { ENOTDIR, "ENOTDIR" }, { EISDIR, "EISDIR" }, { EINVAL, "EINVAL" }, { ENFILE, "ENFILE" }, { EMFILE, "EMFILE" }, { ENOTTY, "ENOTTY" }, { ETXTBSY, "ETXTBSY" }, { EFBIG, "EFBIG" }, { ENOSPC, "ENOSPC" }, { ESPIPE, "ESPIPE" }, { EROFS, "EROFS" }, { EMLINK, "EMLINK" }, { EPIPE, "EPIPE" }, { EDOM, "EDOM" }, { ERANGE, "ERANGE" }, { EAGAIN, "EAGAIN" }, { EWOULDBLOCK, "EWOULDBLOCK" }, { EINPROGRESS, "EINPROGRESS" }, { EALREADY, "EALREADY" }, { ENOTSOCK, "ENOTSOCK" }, { EDESTADDRREQ, "EDESTADDRREQ" }, { EMSGSIZE, "EMSGSIZE" }, { EPROTOTYPE, "EPROTOTYPE" }, { ENOPROTOOPT, "ENOPROTOOPT" }, { EPROTONOSUPPORT, "EPROTONOSUPPORT" }, { ESOCKTNOSUPPORT, "ESOCKTNOSUPPORT" }, { EOPNOTSUPP, "EOPNOTSUPP" }, { ENOTSUP, "ENOTSUP" }, { EPFNOSUPPORT, "EPFNOSUPPORT" }, { EAFNOSUPPORT, "EAFNOSUPPORT" }, { EADDRINUSE, "EADDRINUSE" }, { EADDRNOTAVAIL, "EADDRNOTAVAIL" }, { ENETDOWN, "ENETDOWN" }, { ENETUNREACH, "ENETUNREACH" }, { ENETRESET, "ENETRESET" }, { ECONNABORTED, "ECONNABORTED" }, { ECONNRESET, "ECONNRESET" }, { ENOBUFS, "ENOBUFS" }, { EISCONN, "EISCONN" }, { ENOTCONN, "ENOTCONN" }, { ESHUTDOWN, "ESHUTDOWN" }, { ETOOMANYREFS, "ETOOMANYREFS" }, { ETIMEDOUT, "ETIMEDOUT" }, { ECONNREFUSED, "ECONNREFUSED" }, { ELOOP, "ELOOP" }, { ENAMETOOLONG, "ENAMETOOLONG" }, { EHOSTDOWN, "EHOSTDOWN" }, { EHOSTUNREACH, "EHOSTUNREACH" }, { ENOTEMPTY, "ENOTEMPTY" }, { EPROCLIM, "EPROCLIM" }, { EUSERS, "EUSERS" }, { EDQUOT, "EDQUOT" }, { ESTALE, "ESTALE" }, { EREMOTE, "EREMOTE" }, { EBADRPC, "EBADRPC" }, { ERPCMISMATCH, "ERPCMISMATCH" }, { EPROGUNAVAIL, "EPROGUNAVAIL" }, { EPROGMISMATCH, "EPROGMISMATCH" }, { EPROCUNAVAIL, "EPROCUNAVAIL" }, { ENOLCK, "ENOLCK" }, { ENOSYS, "ENOSYS" }, { EFTYPE, "EFTYPE" }, { EAUTH, "EAUTH" }, { ENEEDAUTH, "ENEEDAUTH" }, { EIDRM, "EIDRM" }, { ENOMSG, "ENOMSG" }, { EOVERFLOW, "EOVERFLOW" }, { ECANCELED, "ECANCELED" }, { EILSEQ, "EILSEQ" }, { ENOATTR, "ENOATTR" }, { EDOOFUS, "EDOOFUS" }, { EBADMSG, "EBADMSG" }, { EMULTIHOP, "EMULTIHOP" }, { ENOLINK, "ENOLINK" }, { EPROTO, "EPROTO" }, { ENOTCAPABLE, "ENOTCAPABLE" }, #ifdef ECAPMODE { ECAPMODE, "ECAPMODE" }, #endif /* Sentinel marking the end of the table. */ { 0, NULL }, }; struct int_symbol *platform_symbols(void) { return platform_symbols_table; } #endif /* __FreeBSD__ */