Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

98 lines
2.5 KiB

/*++
Module Name:
dgipxs.h
Abstract:
IPX-specific header file.
Author:
Jeff Roberts (jroberts) 3-Dec-1994
Revision History:
3-Dec-1994 jroberts
Created this module.
--*/
#ifndef _DGIPXS_H_
#define _DGIPXS_H_
#define NETADDR_LEN 22
#define MAX_HOSTNAME_LEN 22
#define ADDRESS_FAMILY AF_IPX
#define PROTOCOL NSPROTO_IPX
/* AlexMit says:
For some reason, getsockname wants to return more then
sizeof(SOCKADDR_IPX) bytes. bugbug.
*/
typedef union _MANGLED_SOCKADDR_IPX
{
SOCKADDR_IPX s;
struct sockaddr unused;
};
#define ADDRESS_TYPE union _MANGLED_SOCKADDR_IPX
#define ADDRESS_SIZE sizeof(ADDRESS_TYPE)
//
// an address is of form "~xxxxxxxxXXXXXXXXXXXX"
//
#define ADDRESS_STRING_SIZE (1+8+12+1)
//
// an endpoint is of form "nnnnn"
//
#define ENDPOINT_STRING_SIZE 6
#define InitLocalAddress(Address, Socket) \
{ \
Address.s.sa_family = ADDRESS_FAMILY; \
Address.s.sa_socket = htons(Socket); \
memset(&Address.s.sa_netnum, 0, 10); \
}
#define GetSocket(Address) ntohs(Address.s.sa_socket)
#ifdef NTENV
#define RAW_ADDRESS_SIZE sizeof(TA_IPX_ADDRESS)
#define RAW_ADDRESS_TYPE TA_IPX_ADDRESS
#define InitRawAddress(RawAddress, SockAddr) \
RawAddress.TAAddressCount = 1; \
RawAddress.Address[0].AddressLength = TDI_ADDRESS_LENGTH_IPX; \
RawAddress.Address[0].AddressType = TDI_ADDRESS_TYPE_IPX; \
memcpy(&RawAddress.Address[0].Address[0].NetworkAddress, \
SockAddr->s.sa_netnum, 4); \
memcpy(&RawAddress.Address[0].Address[0].NodeAddress, \
SockAddr->s.sa_nodenum, 6); \
RawAddress.Address[0].Address[0].Socket = SockAddr->s.sa_socket;
#define AddressFromRaw(SockAddr, RawAddress) \
ASSERT(RawAddress.Address[0].AddressType == TDI_ADDRESS_TYPE_IPX); \
memcpy(SockAddr->s.sa_netnum, \
&RawAddress.Address[0].Address[0].NetworkAddress, 4); \
memcpy(SockAddr->s.sa_nodenum, \
&RawAddress.Address[0].Address[0].NodeAddress, 6); \
SockAddr->s.sa_socket = RawAddress.Address[0].Address[0].Socket;
#endif
#endif // _DGIPXS_H_