glibc (2.38)

(root)/
include/
bits/
socket-constants.h
       1  /* Socket constants which vary among Linux architectures.
       2     Copyright (C) 2019-2023 Free Software Foundation, Inc.
       3     This file is part of the GNU C Library.
       4  
       5     The GNU C Library is free software; you can redistribute it and/or
       6     modify it under the terms of the GNU Lesser General Public
       7     License as published by the Free Software Foundation; either
       8     version 2.1 of the License, or (at your option) any later version.
       9  
      10     The GNU C Library is distributed in the hope that it will be useful,
      11     but WITHOUT ANY WARRANTY; without even the implied warranty of
      12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      13     Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser General Public
      16     License along with the GNU C Library; if not, see
      17     <https://www.gnu.org/licenses/>.  */
      18  
      19  #ifndef _SYS_SOCKET_H
      20  # error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
      21  #endif
      22  
      23  #include <bits/timesize.h>
      24  
      25  #define SOL_SOCKET 1
      26  #define SO_ACCEPTCONN 30
      27  #define SO_BROADCAST 6
      28  #define SO_DONTROUTE 5
      29  #define SO_ERROR 4
      30  #define SO_KEEPALIVE 9
      31  #define SO_LINGER 13
      32  #define SO_OOBINLINE 10
      33  #define SO_RCVBUF 8
      34  #define SO_RCVLOWAT 18
      35  #define SO_REUSEADDR 2
      36  #define SO_SNDBUF 7
      37  #define SO_SNDLOWAT 19
      38  #define SO_TYPE 3
      39  
      40  #if (__TIMESIZE == 64 && __WORDSIZE == 32 \
      41       && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
      42  # define SO_RCVTIMEO 66
      43  # define SO_SNDTIMEO 67
      44  # define SO_TIMESTAMP 63
      45  # define SO_TIMESTAMPNS 64
      46  # define SO_TIMESTAMPING 65
      47  #else
      48  # if __TIMESIZE == 64
      49  #  define SO_RCVTIMEO 20
      50  #  define SO_SNDTIMEO 21
      51  #  define SO_TIMESTAMP 29
      52  #  define SO_TIMESTAMPNS 35
      53  #  define SO_TIMESTAMPING 37
      54  # else
      55  #  define SO_RCVTIMEO_OLD 20
      56  #  define SO_SNDTIMEO_OLD 21
      57  #  define SO_RCVTIMEO_NEW 66
      58  #  define SO_SNDTIMEO_NEW 67
      59  
      60  #  define SO_TIMESTAMP_OLD 29
      61  #  define SO_TIMESTAMPNS_OLD 35
      62  #  define SO_TIMESTAMPING_OLD 37
      63  #  define SO_TIMESTAMP_NEW 63
      64  #  define SO_TIMESTAMPNS_NEW 64
      65  #  define SO_TIMESTAMPING_NEW 65
      66  
      67  #  ifdef __USE_TIME_BITS64
      68  #   define SO_RCVTIMEO SO_RCVTIMEO_NEW
      69  #   define SO_SNDTIMEO SO_SNDTIMEO_NEW
      70  #   define SO_TIMESTAMP SO_TIMESTAMP_NEW
      71  #   define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
      72  #   define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
      73  #  else
      74  #   define SO_RCVTIMEO SO_RCVTIMEO_OLD
      75  #   define SO_SNDTIMEO SO_SNDTIMEO_OLD
      76  #   define SO_TIMESTAMP SO_TIMESTAMP_OLD
      77  #   define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
      78  #   define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
      79  #  endif
      80  # endif
      81  #endif