diff options
| -rw-r--r-- | include/netipx/ipx.h | 113 | 
1 files changed, 113 insertions, 0 deletions
diff --git a/include/netipx/ipx.h b/include/netipx/ipx.h new file mode 100644 index 000000000..7eb42ef55 --- /dev/null +++ b/include/netipx/ipx.h @@ -0,0 +1,113 @@ +/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc. +   This file is part of the GNU C Library. + +   The GNU C Library is free software; you can redistribute it and/or +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version. + +   The GNU C Library is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +   Lesser General Public License for more details. + +   You should have received a copy of the GNU Lesser General Public +   License along with the GNU C Library; if not, write to the Free +   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +   02111-1307 USA.  */ + +#ifndef __NETIPX_IPX_H +#define __NETIPX_IPX_H 1 + +#include <features.h> + +#include <sys/types.h> +#include <bits/sockaddr.h> + +__BEGIN_DECLS + +#define SOL_IPX    256          /* sockopt level */ + +#define IPX_TYPE        1 +#define IPX_NODE_LEN	6 +#define IPX_MTU		576 + +struct sockaddr_ipx +  { +    sa_family_t sipx_family; +    u_int16_t sipx_port; +    u_int32_t sipx_network; +    unsigned char sipx_node[IPX_NODE_LEN]; +    u_int8_t sipx_type; +    unsigned char sipx_zero;	/* 16 byte fill */ +  }; + +/* + *	So we can fit the extra info for SIOCSIFADDR into the address nicely + */ + +#define sipx_special	sipx_port +#define sipx_action	sipx_zero +#define IPX_DLTITF	0 +#define IPX_CRTITF	1 + +typedef struct ipx_route_definition +  { +    unsigned long ipx_network; +    unsigned long ipx_router_network; +    unsigned char ipx_router_node[IPX_NODE_LEN]; +  } +ipx_route_definition; + +typedef struct ipx_interface_definition +  { +    unsigned long ipx_network; +    unsigned char ipx_device[16]; +    unsigned char ipx_dlink_type; +#define IPX_FRAME_NONE		0 +#define IPX_FRAME_SNAP		1 +#define IPX_FRAME_8022		2 +#define IPX_FRAME_ETHERII	3 +#define IPX_FRAME_8023		4 +#define IPX_FRAME_TR_8022	5 +    unsigned char ipx_special; +#define IPX_SPECIAL_NONE	0 +#define IPX_PRIMARY		1 +#define IPX_INTERNAL		2 +    unsigned char ipx_node[IPX_NODE_LEN]; +  } +ipx_interface_definition; + +typedef struct ipx_config_data +  { +    unsigned char ipxcfg_auto_select_primary; +    unsigned char ipxcfg_auto_create_interfaces; +  } +ipx_config_data; + +/* + * OLD Route Definition for backward compatibility. + */ + +struct ipx_route_def +  { +    unsigned long ipx_network; +    unsigned long ipx_router_network; +#define IPX_ROUTE_NO_ROUTER	0 +    unsigned char ipx_router_node[IPX_NODE_LEN]; +    unsigned char ipx_device[16]; +    unsigned short ipx_flags; +#define IPX_RT_SNAP		8 +#define IPX_RT_8022		4 +#define IPX_RT_BLUEBOOK		2 +#define IPX_RT_ROUTED		1 +  }; + +#define SIOCAIPXITFCRT		(SIOCPROTOPRIVATE) +#define SIOCAIPXPRISLT		(SIOCPROTOPRIVATE + 1) +#define SIOCIPXCFGDATA		(SIOCPROTOPRIVATE + 2) +#define SIOCIPXNCPCONN		(SIOCPROTOPRIVATE + 3) + +__END_DECLS + +#endif /* netipx/ipx.h */  | 
