linux/include/uapi/linux/ipx.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2#ifndef _IPX_H_
   3#define _IPX_H_
   4#include <linux/libc-compat.h>  /* for compatibility with glibc netipx/ipx.h */
   5#include <linux/types.h>
   6#include <linux/sockios.h>
   7#include <linux/socket.h>
   8#define IPX_NODE_LEN    6
   9#define IPX_MTU         576
  10
  11#if __UAPI_DEF_SOCKADDR_IPX
  12struct sockaddr_ipx {
  13        __kernel_sa_family_t sipx_family;
  14        __be16          sipx_port;
  15        __be32          sipx_network;
  16        unsigned char   sipx_node[IPX_NODE_LEN];
  17        __u8            sipx_type;
  18        unsigned char   sipx_zero;      /* 16 byte fill */
  19};
  20#endif /* __UAPI_DEF_SOCKADDR_IPX */
  21
  22/*
  23 * So we can fit the extra info for SIOCSIFADDR into the address nicely
  24 */
  25#define sipx_special    sipx_port
  26#define sipx_action     sipx_zero
  27#define IPX_DLTITF      0
  28#define IPX_CRTITF      1
  29
  30#if __UAPI_DEF_IPX_ROUTE_DEFINITION
  31struct ipx_route_definition {
  32        __be32        ipx_network;
  33        __be32        ipx_router_network;
  34        unsigned char ipx_router_node[IPX_NODE_LEN];
  35};
  36#endif /* __UAPI_DEF_IPX_ROUTE_DEFINITION */
  37
  38#if __UAPI_DEF_IPX_INTERFACE_DEFINITION
  39struct ipx_interface_definition {
  40        __be32        ipx_network;
  41        unsigned char ipx_device[16];
  42        unsigned char ipx_dlink_type;
  43#define IPX_FRAME_NONE          0
  44#define IPX_FRAME_SNAP          1
  45#define IPX_FRAME_8022          2
  46#define IPX_FRAME_ETHERII       3
  47#define IPX_FRAME_8023          4
  48#define IPX_FRAME_TR_8022       5 /* obsolete */
  49        unsigned char ipx_special;
  50#define IPX_SPECIAL_NONE        0
  51#define IPX_PRIMARY             1
  52#define IPX_INTERNAL            2
  53        unsigned char ipx_node[IPX_NODE_LEN];
  54};
  55#endif /* __UAPI_DEF_IPX_INTERFACE_DEFINITION */
  56
  57#if __UAPI_DEF_IPX_CONFIG_DATA
  58struct ipx_config_data {
  59        unsigned char   ipxcfg_auto_select_primary;
  60        unsigned char   ipxcfg_auto_create_interfaces;
  61};
  62#endif /* __UAPI_DEF_IPX_CONFIG_DATA */
  63
  64/*
  65 * OLD Route Definition for backward compatibility.
  66 */
  67
  68#if __UAPI_DEF_IPX_ROUTE_DEF
  69struct ipx_route_def {
  70        __be32          ipx_network;
  71        __be32          ipx_router_network;
  72#define IPX_ROUTE_NO_ROUTER     0
  73        unsigned char   ipx_router_node[IPX_NODE_LEN];
  74        unsigned char   ipx_device[16];
  75        unsigned short  ipx_flags;
  76#define IPX_RT_SNAP             8
  77#define IPX_RT_8022             4
  78#define IPX_RT_BLUEBOOK         2
  79#define IPX_RT_ROUTED           1
  80};
  81#endif /* __UAPI_DEF_IPX_ROUTE_DEF */
  82
  83#define SIOCAIPXITFCRT          (SIOCPROTOPRIVATE)
  84#define SIOCAIPXPRISLT          (SIOCPROTOPRIVATE + 1)
  85#define SIOCIPXCFGDATA          (SIOCPROTOPRIVATE + 2)
  86#define SIOCIPXNCPCONN          (SIOCPROTOPRIVATE + 3)
  87#endif /* _IPX_H_ */
  88