156 lines
3.8 KiB
C
156 lines
3.8 KiB
C
/*******************************************************************/
|
|
/* Copyright(c) 1993 Microsoft Corporation */
|
|
/*******************************************************************/
|
|
|
|
//***
|
|
//
|
|
// Filename: packet.h
|
|
//
|
|
// Description: Contains general definitions for the ipx and ipxwan packets
|
|
//
|
|
// Author: Stefan Solomon (stefans) February 6, 1996.
|
|
//
|
|
// Revision History:
|
|
//
|
|
//***
|
|
|
|
#ifndef _PACKET_
|
|
#define _PACKET_
|
|
|
|
// IPXWAN Packets Format:
|
|
//
|
|
// IPX header - fixed length
|
|
// IPXWAN header - fixed length
|
|
// IPXWAN option 1 - fixed length header + variable length data
|
|
// ....
|
|
// IPXWAN option n
|
|
|
|
|
|
//*** Socket Numbers
|
|
#undef IPXWAN_SOCKET
|
|
#define IPXWAN_SOCKET (USHORT)0x9004
|
|
|
|
//*** IPXWAN Confidence Identifier
|
|
|
|
#define IPXWAN_CONFIDENCE_ID "WASM" // 0x5741534D
|
|
|
|
//*** IPX Packet Exchange Type (encapsulating the IPXWAN packet)
|
|
|
|
#define IPX_PACKET_EXCHANGE_TYPE 4
|
|
|
|
//*** Offsets into the IPX header
|
|
|
|
#define IPXH_HDRSIZE 30 // Size of the IPX header
|
|
|
|
#define IPXH_CHECKSUM 0 // Checksum
|
|
#define IPXH_LENGTH 2 // Length
|
|
#define IPXH_XPORTCTL 4 // Transport Control
|
|
#define IPXH_PKTTYPE 5 // Packet Type
|
|
#define IPXH_DESTADDR 6 // Dest. Address (Total)
|
|
#define IPXH_DESTNET 6 // Dest. Network Address
|
|
#define IPXH_DESTNODE 10 // Dest. Node Address
|
|
#define IPXH_DESTSOCK 16 // Dest. Socket Number
|
|
#define IPXH_SRCADDR 18 // Source Address (Total)
|
|
#define IPXH_SRCNET 18 // Source Network Address
|
|
#define IPXH_SRCNODE 22 // Source Node Address
|
|
#define IPXH_SRCSOCK 28 // Source Socket Number
|
|
|
|
#define IPX_NET_LEN 4
|
|
#define IPX_NODE_LEN 6
|
|
|
|
//*** Offsets of the IPXWAN header
|
|
|
|
#define IPXWAN_HDRSIZE 11
|
|
|
|
#define WIDENTIFIER 0
|
|
#define WPACKET_TYPE 4
|
|
#define WNODE_ID 5
|
|
#define WSEQUENCE_NUMBER 9
|
|
#define WNUM_OPTIONS 10
|
|
|
|
// packet types
|
|
|
|
#define TIMER_REQUEST 0
|
|
#define TIMER_RESPONSE 1
|
|
#define INFORMATION_REQUEST 2
|
|
#define INFORMATION_RESPONSE 3
|
|
#define NAK 0xFF
|
|
|
|
// IPXWAN option format
|
|
//
|
|
// IPXWAN option header - fixed length
|
|
// IPXWAN option data - variable length
|
|
|
|
|
|
//*** Offsets of the IPXWAN Option header
|
|
|
|
#define OPTION_HDRSIZE 4
|
|
|
|
#define WOPTION_NUMBER 0 // identifies a particular option, see list below
|
|
#define WACCEPT_OPTION 1 // see below
|
|
#define WOPTION_DATA_LEN 2 // length of the option data part
|
|
#define WOPTION_DATA 4
|
|
|
|
// accept option definitions
|
|
|
|
#define NO 0
|
|
#define YES 1
|
|
#define NOT_APPLICABLE 3
|
|
|
|
// option definitions
|
|
|
|
//*** Routing Type Option ***
|
|
|
|
#define ROUTING_TYPE_OPTION 0 // option number
|
|
#define ROUTING_TYPE_DATA_LEN 1
|
|
|
|
// values of the data part
|
|
|
|
#define NUMBERED_RIP_ROUTING_TYPE 0
|
|
#define NLSP_ROUTING_TYPE 1
|
|
#define UNNUMBERED_RIP_ROUTING_TYPE 2
|
|
#define ON_DEMAND_ROUTING_TYPE 3
|
|
#define WORKSTATION_ROUTING_TYPE 4 // client-router connection
|
|
|
|
//*** Extended Node Id Option ***
|
|
|
|
#define EXTENDED_NODE_ID_OPTION 4
|
|
#define EXTENDED_NODE_ID_DATA_LEN 4
|
|
|
|
//*** RIP/SAP Info Exchange Option ***
|
|
|
|
#define RIP_SAP_INFO_EXCHANGE_OPTION 1
|
|
#define RIP_SAP_INFO_EXCHANGE_DATA_LEN 54
|
|
|
|
// values
|
|
// offsets in the data part (from the beginning of the option header)
|
|
|
|
#define WAN_LINK_DELAY 4
|
|
#define COMMON_NETWORK_NUMBER 6
|
|
#define ROUTER_NAME 10
|
|
|
|
//*** Node Number Option ***
|
|
|
|
#define NODE_NUMBER_OPTION 5
|
|
#define NODE_NUMBER_DATA_LEN 6
|
|
|
|
// values
|
|
// IPX node number to be used by the client on a client-router connection.
|
|
|
|
//*** Pad Option ***
|
|
|
|
#define PAD_OPTION 0xFF
|
|
|
|
// Unsupported Options
|
|
|
|
#define NLSP_INFORMATION_OPTION 2
|
|
#define NLSP_RAW_THROUGHPUT_DATA_OPTION 3
|
|
#define COMPRESSION_OPTION 0x80
|
|
|
|
//*** Packet Lengths ***
|
|
|
|
#define TIMER_REQUEST_PACKET_LENGTH 576
|
|
#define MAX_IPXWAN_PACKET_LEN TIMER_REQUEST_PACKET_LENGTH
|
|
|
|
#endif
|