From 0dc1d00746c7da975d86caa77f0223bbdb596329 Mon Sep 17 00:00:00 2001 From: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com> Date: Sun, 15 Oct 2023 12:26:51 +0200 Subject: [PATCH] Add missing setsockopt optnames --- include/netinet/in.h | 28 +++++++++++++++++++++------- include/netinet/tcp.h | 1 + include/sys/socket.h | 11 ++++++++++- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/include/netinet/in.h b/include/netinet/in.h index 3d13392a..856b60a6 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -15,17 +15,31 @@ #define IP_TOS 3 #define IP_TTL 4 +#define IP_MULTICAST_IF 9 +#define IP_MULTICAST_TTL 10 +#define IP_MULTICAST_LOOP 11 +#define IP_ADD_MEMBERSHIP 12 +#define IP_DROP_MEMBERSHIP 13 +#define IP_UNKNOWN 14 typedef uint16_t in_port_t; typedef uint32_t in_addr_t; -struct in_addr { - in_addr_t s_addr; +struct in_addr +{ + in_addr_t s_addr; }; -struct sockaddr_in { - sa_family_t sin_family; - in_port_t sin_port; - struct in_addr sin_addr; - unsigned char sin_zero[8]; +struct sockaddr_in +{ + sa_family_t sin_family; + in_port_t sin_port; + struct in_addr sin_addr; + unsigned char sin_zero[8]; +}; + +struct ip_mreq +{ + struct in_addr imr_multiaddr; + struct in_addr imr_interface; }; diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h index 05b446a1..91847624 100644 --- a/include/netinet/tcp.h +++ b/include/netinet/tcp.h @@ -6,3 +6,4 @@ #define TCP_NOACKDELAY 0x2002 #define TCP_MAXSEG 0x2003 #define TCP_NODELAY 0x2004 +#define TCP_UNKNOWN 0x2005 // amount of mss received before sending an ack diff --git a/include/sys/socket.h b/include/sys/socket.h index b5f40b69..1609c596 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -27,6 +27,7 @@ */ #define SO_REUSEADDR 0x0004 // reuse address #define SO_KEEPALIVE 0x0008 // keep connections alive +#define SO_DONTROUTE 0x0010 // route locally only #define SO_BROADCAST 0x0020 // broadcast #define SO_LINGER 0x0080 // linger (no effect?) #define SO_OOBINLINE 0x0100 // out-of-band data inline (no effect?) @@ -36,13 +37,21 @@ #define SO_RCVBUF 0x1002 // receive buffer size #define SO_SNDLOWAT 0x1003 // send low-water mark (no effect?) #define SO_RCVLOWAT 0x1004 // receive low-water mark +#define SO_ERROR 0x1007 // get socket error #define SO_TYPE 0x1008 // get socket type -#define SO_ERROR 0x1009 // get socket error +#define SO_HOPCNT 0x1009 // get hop count +#define SO_MAXMSG 0x1010 // same as TCP_MAXSEG #define SO_RXDATA 0x1011 // get count of bytes in sb_rcv #define SO_TXDATA 0x1012 // get count of bytes in sb_snd +#define SO_MYADDR 0x1013 // get IP address #define SO_NBIO 0x1014 // set socket to NON-blocking mode #define SO_BIO 0x1015 // set socket to blocking mode #define SO_NONBLOCK 0x1016 // set/get blocking mode via optval param +#define SO_UNKNOWN1019 0x1019 // tcp related +#define SO_UNKNOWN101A 0x101A // tcp related +#define SO_UNKNOWN101B 0x101B // tcp related +#define SO_NOSLOWSTART 0x4000 // disable slowstart +#define SO_RUSRBUF 0x10000 // ? typedef uint32_t socklen_t; typedef uint16_t sa_family_t;