xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/netipx/ipx.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc.
2*53ee8cc1Swenshuai.xi    This file is part of the GNU C Library.
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi    The GNU C Library is free software; you can redistribute it and/or
5*53ee8cc1Swenshuai.xi    modify it under the terms of the GNU Lesser General Public
6*53ee8cc1Swenshuai.xi    License as published by the Free Software Foundation; either
7*53ee8cc1Swenshuai.xi    version 2.1 of the License, or (at your option) any later version.
8*53ee8cc1Swenshuai.xi 
9*53ee8cc1Swenshuai.xi    The GNU C Library is distributed in the hope that it will be useful,
10*53ee8cc1Swenshuai.xi    but WITHOUT ANY WARRANTY; without even the implied warranty of
11*53ee8cc1Swenshuai.xi    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*53ee8cc1Swenshuai.xi    Lesser General Public License for more details.
13*53ee8cc1Swenshuai.xi 
14*53ee8cc1Swenshuai.xi    You should have received a copy of the GNU Lesser General Public
15*53ee8cc1Swenshuai.xi    License along with the GNU C Library; if not, write to the Free
16*53ee8cc1Swenshuai.xi    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17*53ee8cc1Swenshuai.xi    02111-1307 USA.  */
18*53ee8cc1Swenshuai.xi 
19*53ee8cc1Swenshuai.xi #ifndef __NETIPX_IPX_H
20*53ee8cc1Swenshuai.xi #define __NETIPX_IPX_H 1
21*53ee8cc1Swenshuai.xi 
22*53ee8cc1Swenshuai.xi #include <features.h>
23*53ee8cc1Swenshuai.xi 
24*53ee8cc1Swenshuai.xi #include <sys/types.h>
25*53ee8cc1Swenshuai.xi #include <bits/sockaddr.h>
26*53ee8cc1Swenshuai.xi 
27*53ee8cc1Swenshuai.xi __BEGIN_DECLS
28*53ee8cc1Swenshuai.xi 
29*53ee8cc1Swenshuai.xi #define SOL_IPX    256          /* sockopt level */
30*53ee8cc1Swenshuai.xi 
31*53ee8cc1Swenshuai.xi #define IPX_TYPE        1
32*53ee8cc1Swenshuai.xi #define IPX_NODE_LEN	6
33*53ee8cc1Swenshuai.xi #define IPX_MTU		576
34*53ee8cc1Swenshuai.xi 
35*53ee8cc1Swenshuai.xi struct sockaddr_ipx
36*53ee8cc1Swenshuai.xi   {
37*53ee8cc1Swenshuai.xi     sa_family_t sipx_family;
38*53ee8cc1Swenshuai.xi     u_int16_t sipx_port;
39*53ee8cc1Swenshuai.xi     u_int32_t sipx_network;
40*53ee8cc1Swenshuai.xi     unsigned char sipx_node[IPX_NODE_LEN];
41*53ee8cc1Swenshuai.xi     u_int8_t sipx_type;
42*53ee8cc1Swenshuai.xi     unsigned char sipx_zero;	/* 16 byte fill */
43*53ee8cc1Swenshuai.xi   };
44*53ee8cc1Swenshuai.xi 
45*53ee8cc1Swenshuai.xi /*
46*53ee8cc1Swenshuai.xi  *	So we can fit the extra info for SIOCSIFADDR into the address nicely
47*53ee8cc1Swenshuai.xi  */
48*53ee8cc1Swenshuai.xi 
49*53ee8cc1Swenshuai.xi #define sipx_special	sipx_port
50*53ee8cc1Swenshuai.xi #define sipx_action	sipx_zero
51*53ee8cc1Swenshuai.xi #define IPX_DLTITF	0
52*53ee8cc1Swenshuai.xi #define IPX_CRTITF	1
53*53ee8cc1Swenshuai.xi 
54*53ee8cc1Swenshuai.xi typedef struct ipx_route_definition
55*53ee8cc1Swenshuai.xi   {
56*53ee8cc1Swenshuai.xi     unsigned long ipx_network;
57*53ee8cc1Swenshuai.xi     unsigned long ipx_router_network;
58*53ee8cc1Swenshuai.xi     unsigned char ipx_router_node[IPX_NODE_LEN];
59*53ee8cc1Swenshuai.xi   }
60*53ee8cc1Swenshuai.xi ipx_route_definition;
61*53ee8cc1Swenshuai.xi 
62*53ee8cc1Swenshuai.xi typedef struct ipx_interface_definition
63*53ee8cc1Swenshuai.xi   {
64*53ee8cc1Swenshuai.xi     unsigned long ipx_network;
65*53ee8cc1Swenshuai.xi     unsigned char ipx_device[16];
66*53ee8cc1Swenshuai.xi     unsigned char ipx_dlink_type;
67*53ee8cc1Swenshuai.xi #define IPX_FRAME_NONE		0
68*53ee8cc1Swenshuai.xi #define IPX_FRAME_SNAP		1
69*53ee8cc1Swenshuai.xi #define IPX_FRAME_8022		2
70*53ee8cc1Swenshuai.xi #define IPX_FRAME_ETHERII	3
71*53ee8cc1Swenshuai.xi #define IPX_FRAME_8023		4
72*53ee8cc1Swenshuai.xi #define IPX_FRAME_TR_8022	5
73*53ee8cc1Swenshuai.xi     unsigned char ipx_special;
74*53ee8cc1Swenshuai.xi #define IPX_SPECIAL_NONE	0
75*53ee8cc1Swenshuai.xi #define IPX_PRIMARY		1
76*53ee8cc1Swenshuai.xi #define IPX_INTERNAL		2
77*53ee8cc1Swenshuai.xi     unsigned char ipx_node[IPX_NODE_LEN];
78*53ee8cc1Swenshuai.xi   }
79*53ee8cc1Swenshuai.xi ipx_interface_definition;
80*53ee8cc1Swenshuai.xi 
81*53ee8cc1Swenshuai.xi typedef struct ipx_config_data
82*53ee8cc1Swenshuai.xi   {
83*53ee8cc1Swenshuai.xi     unsigned char ipxcfg_auto_select_primary;
84*53ee8cc1Swenshuai.xi     unsigned char ipxcfg_auto_create_interfaces;
85*53ee8cc1Swenshuai.xi   }
86*53ee8cc1Swenshuai.xi ipx_config_data;
87*53ee8cc1Swenshuai.xi 
88*53ee8cc1Swenshuai.xi /*
89*53ee8cc1Swenshuai.xi  * OLD Route Definition for backward compatibility.
90*53ee8cc1Swenshuai.xi  */
91*53ee8cc1Swenshuai.xi 
92*53ee8cc1Swenshuai.xi struct ipx_route_def
93*53ee8cc1Swenshuai.xi   {
94*53ee8cc1Swenshuai.xi     unsigned long ipx_network;
95*53ee8cc1Swenshuai.xi     unsigned long ipx_router_network;
96*53ee8cc1Swenshuai.xi #define IPX_ROUTE_NO_ROUTER	0
97*53ee8cc1Swenshuai.xi     unsigned char ipx_router_node[IPX_NODE_LEN];
98*53ee8cc1Swenshuai.xi     unsigned char ipx_device[16];
99*53ee8cc1Swenshuai.xi     unsigned short ipx_flags;
100*53ee8cc1Swenshuai.xi #define IPX_RT_SNAP		8
101*53ee8cc1Swenshuai.xi #define IPX_RT_8022		4
102*53ee8cc1Swenshuai.xi #define IPX_RT_BLUEBOOK		2
103*53ee8cc1Swenshuai.xi #define IPX_RT_ROUTED		1
104*53ee8cc1Swenshuai.xi   };
105*53ee8cc1Swenshuai.xi 
106*53ee8cc1Swenshuai.xi #define SIOCAIPXITFCRT		(SIOCPROTOPRIVATE)
107*53ee8cc1Swenshuai.xi #define SIOCAIPXPRISLT		(SIOCPROTOPRIVATE + 1)
108*53ee8cc1Swenshuai.xi #define SIOCIPXCFGDATA		(SIOCPROTOPRIVATE + 2)
109*53ee8cc1Swenshuai.xi #define SIOCIPXNCPCONN		(SIOCPROTOPRIVATE + 3)
110*53ee8cc1Swenshuai.xi 
111*53ee8cc1Swenshuai.xi __END_DECLS
112*53ee8cc1Swenshuai.xi 
113*53ee8cc1Swenshuai.xi #endif /* netipx/ipx.h */
114