75 lines
1.5 KiB
C
75 lines
1.5 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1998, Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
nathlpp.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module contains declarations common to the user-mode components
|
||
|
of home-networking.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Abolade Gbadegesin (aboladeg) 5-Mar-1998
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _NATHLP_NATHLPP_H_
|
||
|
#define _NATHLP_NATHLPP_H_
|
||
|
|
||
|
|
||
|
//
|
||
|
// Object synchronization macros
|
||
|
//
|
||
|
|
||
|
#define ACQUIRE_LOCK(x) EnterCriticalSection(&(x)->Lock)
|
||
|
#define RELEASE_LOCK(x) LeaveCriticalSection(&(x)->Lock)
|
||
|
|
||
|
#define REFERENCE_OBJECT(x,deleted) \
|
||
|
(deleted(x) \
|
||
|
? FALSE \
|
||
|
: (InterlockedIncrement( \
|
||
|
reinterpret_cast<LPLONG>(&(x)->ReferenceCount) \
|
||
|
), TRUE))
|
||
|
|
||
|
#define DEREFERENCE_OBJECT(x,cleanup) \
|
||
|
(InterlockedDecrement(reinterpret_cast<LPLONG>(&(x)->ReferenceCount)) \
|
||
|
? TRUE \
|
||
|
: (cleanup(x), FALSE))
|
||
|
|
||
|
//
|
||
|
// Memory management macros
|
||
|
//
|
||
|
|
||
|
#define NH_ALLOCATE(s) HeapAlloc(GetProcessHeap(), 0, (s))
|
||
|
#define NH_FREE(p) HeapFree(GetProcessHeap(), 0, (p))
|
||
|
|
||
|
//
|
||
|
// Protocol-related constants
|
||
|
//
|
||
|
|
||
|
#define DHCP_PORT_SERVER 0x4300
|
||
|
#define DHCP_PORT_CLIENT 0x4400
|
||
|
|
||
|
#define DNS_PORT_SERVER 0x3500
|
||
|
#define WINS_PORT_SERVER 0x8900
|
||
|
|
||
|
#define FTP_PORT_DATA 0x1400
|
||
|
#define FTP_PORT_CONTROL 0x1500
|
||
|
|
||
|
#define ALG_PORT_DATA 0x1600
|
||
|
#define ALG_PORT_CONTROL 0x1700
|
||
|
|
||
|
//
|
||
|
// DNS suffix string
|
||
|
//
|
||
|
|
||
|
#define DNS_HOMENET_SUFFIX L"mshome.net" // default string
|
||
|
|
||
|
#endif // _NATHLP_NATHLPP_H_
|