Print this page
7127  remove -Wno-missing-braces from Makefile.uts


  33 #include <inet/common.h>
  34 #include <netinet/ip6.h>
  35 #include <inet/ip.h>
  36 
  37 #include <netinet/in.h>
  38 #include <netinet/tcp.h>
  39 #include <netinet/ip_mroute.h>
  40 #include <inet/optcom.h>
  41 #include <inet/rts_impl.h>
  42 
  43 #include <inet/rts_impl.h>
  44 /*
  45  * Table of all known options handled on a RTS protocol stack.
  46  *
  47  * Note: This table contains options processed by both RTS and IP levels
  48  *       and is the superset of options that can be performed on a RTS over IP
  49  *       stack.
  50  */
  51 opdes_t rts_opt_arr[] = {
  52 
  53 { SO_DEBUG,     SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  54 { SO_DONTROUTE, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  55 { SO_USELOOPBACK, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int),
  56         0 },
  57 { SO_BROADCAST, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  58 { SO_REUSEADDR, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  59 { SO_TYPE,      SOL_SOCKET, OA_R, OA_R, OP_NP, 0, sizeof (int), 0 },
  60 { SO_SNDBUF,    SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  61 { SO_RCVBUF,    SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  62 { SO_SNDTIMEO,  SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0,
  63         sizeof (struct timeval), 0 },
  64 { SO_RCVTIMEO,  SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0,
  65         sizeof (struct timeval), 0 },
  66 { SO_PROTOTYPE, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  67 { SO_DOMAIN,    SOL_SOCKET, OA_R, OA_R, OP_NP, 0, sizeof (int), 0 },
  68 { RT_AWARE,     SOL_ROUTE, OA_RW, OA_RW, OP_NP, 0, sizeof (int), 0 },
  69 };
  70 
  71 /*
  72  * Table of all supported levels
  73  * Note: Some levels (e.g. XTI_GENERIC) may be valid but may not have
  74  * any supported options so we need this info separately.
  75  *
  76  * This is needed only for topmost tpi providers and is used only by
  77  * XTI interfaces.
  78  */
  79 optlevel_t      rts_valid_levels_arr[] = {
  80         XTI_GENERIC,
  81         SOL_SOCKET,
  82         IPPROTO_IP,
  83         IPPROTO_IPV6
  84 };
  85 
  86 #define RTS_VALID_LEVELS_CNT    A_CNT(rts_valid_levels_arr)
  87 
  88 #define RTS_OPT_ARR_CNT         A_CNT(rts_opt_arr)


  33 #include <inet/common.h>
  34 #include <netinet/ip6.h>
  35 #include <inet/ip.h>
  36 
  37 #include <netinet/in.h>
  38 #include <netinet/tcp.h>
  39 #include <netinet/ip_mroute.h>
  40 #include <inet/optcom.h>
  41 #include <inet/rts_impl.h>
  42 
  43 #include <inet/rts_impl.h>
  44 /*
  45  * Table of all known options handled on a RTS protocol stack.
  46  *
  47  * Note: This table contains options processed by both RTS and IP levels
  48  *       and is the superset of options that can be performed on a RTS over IP
  49  *       stack.
  50  */
  51 opdes_t rts_opt_arr[] = {
  52 
  53 { SO_DEBUG,     SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  54 { SO_DONTROUTE, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  55 { SO_USELOOPBACK, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int),
  56         { 0 } },
  57 { SO_BROADCAST, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  58 { SO_REUSEADDR, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  59 { SO_TYPE,      SOL_SOCKET, OA_R, OA_R, OP_NP, 0, sizeof (int), { 0 } },
  60 { SO_SNDBUF,    SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  61 { SO_RCVBUF,    SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  62 { SO_SNDTIMEO,  SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0,
  63         sizeof (struct timeval), { 0 } },
  64 { SO_RCVTIMEO,  SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0,
  65         sizeof (struct timeval), { 0 } },
  66 { SO_PROTOTYPE, SOL_SOCKET, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  67 { SO_DOMAIN,    SOL_SOCKET, OA_R, OA_R, OP_NP, 0, sizeof (int), { 0 } },
  68 { RT_AWARE,     SOL_ROUTE, OA_RW, OA_RW, OP_NP, 0, sizeof (int), { 0 } },
  69 };
  70 
  71 /*
  72  * Table of all supported levels
  73  * Note: Some levels (e.g. XTI_GENERIC) may be valid but may not have
  74  * any supported options so we need this info separately.
  75  *
  76  * This is needed only for topmost tpi providers and is used only by
  77  * XTI interfaces.
  78  */
  79 optlevel_t      rts_valid_levels_arr[] = {
  80         XTI_GENERIC,
  81         SOL_SOCKET,
  82         IPPROTO_IP,
  83         IPPROTO_IPV6
  84 };
  85 
  86 #define RTS_VALID_LEVELS_CNT    A_CNT(rts_valid_levels_arr)
  87 
  88 #define RTS_OPT_ARR_CNT         A_CNT(rts_opt_arr)