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.
 
 
 
 
 
 

82 lines
1.9 KiB

/*++
Copyright (c) 1993 Microsoft Corporation
Module Name:
dgudps.h
Abstract:
Additional definitions for the datagram udp server transport.
Author:
Dave Steckler (davidst) 15-Mar-1993
Revision History:
--*/
#ifndef __DGUDPS_H__
#define __DGUDPS_H__
#define NETADDR_LEN 15
#define MAX_HOSTNAME_LEN 32
#define ADDRESS_FAMILY AF_INET
#define PROTOCOL 0
#define ADDRESS_TYPE struct sockaddr_in
#define ADDRESS_SIZE sizeof(ADDRESS_TYPE)
//
// an address is of form "nnn.nnn.nnn.nnn"
//
#define ADDRESS_STRING_SIZE 16
//
// an endpoint is of form "nnnnn"
//
#define ENDPOINT_STRING_SIZE 6
#define InitLocalAddress(Address, Socket) \
{ \
Address.sin_family = ADDRESS_FAMILY; \
Address.sin_addr.s_addr = INADDR_ANY; \
Address.sin_port = htons((unsigned short) Socket); \
}
#define GetSocket(Address) ntohs(Address.sin_port)
#ifdef NTENV
#define RAW_ADDRESS_SIZE sizeof(TA_IP_ADDRESS)
#define RAW_ADDRESS_TYPE TA_IP_ADDRESS
#define InitRawAddress(RawAddress, SockAddr) \
RawAddress.TAAddressCount = 1; \
RawAddress.Address[0].AddressLength = TDI_ADDRESS_LENGTH_IP; \
RawAddress.Address[0].AddressType = TDI_ADDRESS_TYPE_IP; \
RawAddress.Address[0].Address[0].sin_port = SockAddr->sin_port; \
RawAddress.Address[0].Address[0].in_addr = SockAddr->sin_addr.s_addr; \
memset(RawAddress.Address[0].Address[0].sin_zero, 0, 8);
#define AddressFromRaw(SockAddr, RawAddress) \
ASSERT(RawAddress.Address[0].AddressType == TDI_ADDRESS_TYPE_IP); \
SockAddr->sin_port = RawAddress.Address[0].Address[0].sin_port; \
SockAddr->sin_addr.s_addr = RawAddress.Address[0].Address[0].in_addr;
#endif
#endif // __DGUDPS_H__