Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/***************************************************************************
* * tdipx.h * * This module contains private Transport Driver defines and structures * * Copyright 1998, Microsoft * ****************************************************************************/
#define htons(x) ((((x) >> 8) & 0x00FF) | (((x) << 8) & 0xFF00))
/*
* Well known Citrix IPX socket */ #define CITRIX_IPX_SOCKET 0xBB85
#define DD_IPX_DEVICE_NAME L"\\Device\\NwlnkIpx"
#define DD_SPX_DEVICE_NAME L"\\Device\\NwlnkSpx"
//
// IPX_PACKET - format of packet submitted to IPX for sending. The maximum
// size of an IPX packet is 576 bytes, 30 bytes header, 546 bytes data
//
typedef struct { BYTE Net[4]; // hi-lo
BYTE Node[6]; // hi-lo
USHORT Socket; // hi-lo
} NETWARE_ADDRESS ;
typedef struct { USHORT Checksum; // always set to 0xFFFF
USHORT Length; // set by IPX - header + data
BYTE TransportControl; // set by IPX to 0. Used by routers
//
// for IPX, PacketType is 0 (Unknown Packet Type) or 4 (Packet Exchange
// Packet)
//
BYTE PacketType; NETWARE_ADDRESS Destination; NETWARE_ADDRESS Source; BYTE Data[]; // 546 bytes max.
} IPX_PACKET ;
typedef IPX_PACKET UNALIGNED *LPIPX_PACKET;
#define IPX_HEADER_LENGTH sizeof(IPX_PACKET)
#define MAXIMUM_IPX_PACKET_LENGTH 576
#define MAXIMUM_IPX_DATA_LENGTH (MAXIMUM_IPX_PACKET_LENGTH - IPX_HEADER_LENGTH)
/*
* IPX TD structure */ typedef struct _TDIPX {
LIST_ENTRY IgnoreList; // list of ipx addresses to ignore
ULONG AliveTime; // keep alive time (msec)
PVOID pAliveTimer; // watchdog timer handle
ULONG AlivePoll; ULONG fClientAlive : 1;
} TDIPX, * PTDIPX;
|