1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _IPX_H_
20#define _IPX_H_
21#include <linux/libc-compat.h>
22#include <linux/types.h>
23#include <linux/sockios.h>
24#include <linux/socket.h>
25#define IPX_NODE_LEN 6
26#define IPX_MTU 576
27#if __UAPI_DEF_SOCKADDR_IPX
28struct sockaddr_ipx {
29  __kernel_sa_family_t sipx_family;
30  __be16 sipx_port;
31  __be32 sipx_network;
32  unsigned char sipx_node[IPX_NODE_LEN];
33  __u8 sipx_type;
34  unsigned char sipx_zero;
35};
36#endif
37#define sipx_special sipx_port
38#define sipx_action sipx_zero
39#define IPX_DLTITF 0
40#define IPX_CRTITF 1
41#if __UAPI_DEF_IPX_ROUTE_DEFINITION
42struct ipx_route_definition {
43  __be32 ipx_network;
44  __be32 ipx_router_network;
45  unsigned char ipx_router_node[IPX_NODE_LEN];
46};
47#endif
48#if __UAPI_DEF_IPX_INTERFACE_DEFINITION
49struct ipx_interface_definition {
50  __be32 ipx_network;
51  unsigned char ipx_device[16];
52  unsigned char ipx_dlink_type;
53#define IPX_FRAME_NONE 0
54#define IPX_FRAME_SNAP 1
55#define IPX_FRAME_8022 2
56#define IPX_FRAME_ETHERII 3
57#define IPX_FRAME_8023 4
58#define IPX_FRAME_TR_8022 5
59  unsigned char ipx_special;
60#define IPX_SPECIAL_NONE 0
61#define IPX_PRIMARY 1
62#define IPX_INTERNAL 2
63  unsigned char ipx_node[IPX_NODE_LEN];
64};
65#endif
66#if __UAPI_DEF_IPX_CONFIG_DATA
67struct ipx_config_data {
68  unsigned char ipxcfg_auto_select_primary;
69  unsigned char ipxcfg_auto_create_interfaces;
70};
71#endif
72#if __UAPI_DEF_IPX_ROUTE_DEF
73struct ipx_route_def {
74  __be32 ipx_network;
75  __be32 ipx_router_network;
76#define IPX_ROUTE_NO_ROUTER 0
77  unsigned char ipx_router_node[IPX_NODE_LEN];
78  unsigned char ipx_device[16];
79  unsigned short ipx_flags;
80#define IPX_RT_SNAP 8
81#define IPX_RT_8022 4
82#define IPX_RT_BLUEBOOK 2
83#define IPX_RT_ROUTED 1
84};
85#endif
86#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
87#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1)
88#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2)
89#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3)
90#endif
91