ipx.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef _IPX_H_
  2. #define _IPX_H_
  3. #include <linux/sockios.h>
  4. #include <linux/socket.h>
  5. #define IPX_NODE_LEN 6
  6. #define IPX_MTU 576
  7. struct sockaddr_ipx
  8. {
  9. sa_family_t sipx_family;
  10. __u16 sipx_port;
  11. __u32 sipx_network;
  12. unsigned char  sipx_node[IPX_NODE_LEN];
  13. __u8 sipx_type;
  14. unsigned char sipx_zero; /* 16 byte fill */
  15. };
  16. /*
  17.  * So we can fit the extra info for SIOCSIFADDR into the address nicely
  18.  */
  19.  
  20. #define sipx_special sipx_port
  21. #define sipx_action sipx_zero
  22. #define IPX_DLTITF 0
  23. #define IPX_CRTITF 1
  24. typedef struct ipx_route_definition
  25. {
  26. __u32         ipx_network;
  27. __u32         ipx_router_network;
  28. unsigned char ipx_router_node[IPX_NODE_LEN];
  29. } ipx_route_definition;
  30. typedef struct ipx_interface_definition
  31. {
  32. __u32         ipx_network;
  33. unsigned char ipx_device[16];
  34. unsigned char ipx_dlink_type;
  35. #define IPX_FRAME_NONE 0
  36. #define IPX_FRAME_SNAP 1
  37. #define IPX_FRAME_8022 2
  38. #define IPX_FRAME_ETHERII 3
  39. #define IPX_FRAME_8023 4
  40. #define IPX_FRAME_TR_8022       5 /* obsolete */
  41. unsigned char ipx_special;
  42. #define IPX_SPECIAL_NONE 0
  43. #define IPX_PRIMARY 1
  44. #define IPX_INTERNAL 2
  45. unsigned char ipx_node[IPX_NODE_LEN];
  46. } ipx_interface_definition;
  47. typedef struct ipx_config_data
  48. {
  49. unsigned char ipxcfg_auto_select_primary;
  50. unsigned char ipxcfg_auto_create_interfaces;
  51. } ipx_config_data;
  52. /*
  53.  * OLD Route Definition for backward compatibility.
  54.  */
  55. struct ipx_route_def
  56. {
  57. __u32         ipx_network;
  58. __u32         ipx_router_network;
  59. #define IPX_ROUTE_NO_ROUTER 0
  60. unsigned char ipx_router_node[IPX_NODE_LEN];
  61. unsigned char ipx_device[16];
  62. unsigned short ipx_flags;
  63. #define IPX_RT_SNAP 8
  64. #define IPX_RT_8022 4
  65. #define IPX_RT_BLUEBOOK 2
  66. #define IPX_RT_ROUTED 1
  67. };
  68. #define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
  69. #define SIOCAIPXPRISLT (SIOCPROTOPRIVATE+1)
  70. #define SIOCIPXCFGDATA (SIOCPROTOPRIVATE+2)
  71. #define SIOCIPXNCPCONN (SIOCPROTOPRIVATE+3)
  72. #ifdef __KERNEL__
  73. #include <linux/skbuff.h>
  74. extern int ipxrtr_route_skb(struct sk_buff *);
  75. extern int ipx_if_offset(unsigned long ipx_net_number);
  76. extern void ipx_remove_socket(struct sock *sk);
  77. #endif /* def __KERNEL__ */
  78. #endif /* def _IPX_H_ */