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.
 
 
 
 
 
 

205 lines
5.9 KiB

/* atkcfg.h, /appletalk/ins, Garth Conboy, 09/26/88 */
/* Copyright (c) 1988 by Pacer Software Inc., La Jolla, CA */
/* GC - Initial coding.
GC - (03/16/89): We now allow OS2 and DOS as target environments.
*** Make the PVCS source control system happy:
$Header$
$Log$
***
Host specific configuration information.
*/
#ifndef ConfigurationIncluded
/* Does this release include Arap? */
#define ArapIncluded 0
/* Enable/disable Verbose log messages. */
#define Verbose 0 /* 0 is quiet ... */
/* The following innocuous little #define is important to the performance
of the router. If all transmits will complete synchronously (all data
are actually transmitted [or copied to controller resident storage] by
the time the transmit call (in "depend.c") returns) we can avoid an
buffer copy when forwardng incoming packets. In this case we will build
a buffer descriptor that points to the actual incoming data and turn
around an do the transmit. If transmits complete asynchronously, we must
make a copy, because the user data may be freed or no longer ours by
the time the transmit completes. */
/* Actual defintion at the end of this file.
#define TransmitsCompleteSynchronously
*/
/* One more important define (only if the router is enabled). The following
#define controls the setting of the magic "prependInPlace" bit by the
router [see comments in "buffdecs.h" for information on this bit]. Anyhow,
if the following #define is set to "1", the assumption is made by the router
that all incoming packets that are passed to the router (from DdpPacketIn)
have sufficient space allocated preceeding the Ddp datagram for the longest
link, 802.2 and Ddp headers to be prepend IN PLACE. This avoids an outgoing
buffer copy.
This define is only useful if TransmitsCompleteSynchronously is True. */
/* Actual defintion at the end of this file.
#define RouterPrependHeadersInPlace
*/
/* Define ONE of the following ("target environment type"): */
#define GenericUnixBox 0
#define BerkeleyUnixBox 0
#define MS_OS2 0
#define PrimePrimos 0
#define RouterBox 0
#define StackBox 0
#define StackAndRouterBox 0
#define Windows_NT 1
/* Allow ONE of the following sets to be defined: */
#if defined(StackOnly)
#define BuildStackOnly 1
#define BuildRouterOnly 0
#define BuildStackAndRouter 0
#elif defined(RouterOnly)
#define BuildRouterOnly 1
#define BuildStackOnly 0
#define BuildStackAndRouter 0
#elif defined(StackAndRouter)
#define BuildStackAndRouter 1
#define BuildStackOnly 0
#define BuildRouterOnly 0
#else
#if (StackAndRouterBox || PrimePrimos || Windows_NT)
#define BuildStackOnly 0 /* Default, defaults */
#define BuildRouterOnly 0
#define BuildStackAndRouter 1
#elif RouterBox
#define BuildStackOnly 0
#define BuildRouterOnly 1
#define BuildStackAndRouter 0
#elif StackBox
#define BuildStackOnly 1
#define BuildRouterOnly 0
#define BuildStackAndRouter 0
#else
#define BuildStackOnly 1
#define BuildRouterOnly 0
#define BuildStackAndRouter 0
#endif
#endif
/* Environment (Iam) definition bits: */
#define Primos 0x01
#define UnixSysV 0x02
#define BerkeleyUnix 0x04
#define OS2 0x08
#define WindowsNT 0x10
#define DOS 0x20
#define PlaceHolder 0x40
#define Prime50Series 0x0080
#define UnixBox 0x0100
#define ByteSwappedUnixBox 0x0200 /* Intel ordering (little endian) */
#define Intel80x86 0x0400
#define AppleTalkStack 0x0800
#define AppleTalkRouter 0x1000
#define OutboardErrorTextFile 0x2000
#define AlignedAddressing 0x4000 /* Must shorts/longs be aligned on
short/long boundries in memory?
True for Motorola and most RISC,
False for Intel and VAX. */
/* Define values for what to build... */
#if BuildStackAndRouter
#define WhatAmI (AppleTalkStack | AppleTalkRouter)
#elif BuildRouterOnly
#define WhatAmI AppleTalkRouter
#elif BuildStackOnly
#define WhatAmI AppleTalkStack
#else
Help me... Oh my, what am I?
#endif
/* Select environment: */
#if GenericUnixBox
#define Iam (WhatAmI | UnixBox | UnixSysV | AlignedAddressing)
#endif
#if BerkeleyUnixBox
#define Iam (WhatAmI | UnixBox | BerkeleyUnix | AlignedAddressing)
#endif
#if MS_OS2
#define Iam (WhatAmI | Intel80x86 | OS2 | OutboardErrorTextFile)
#endif
#if Windows_NT
#if i386
#define Iam (WhatAmI | Intel80x86 | WindowsNT | OutboardErrorTextFile | \
AlignedAddressing)
#elif MIPS
#define Iam (WhatAmI | ByteSwappedUnixBox | WindowsNT | \
OutboardErrorTextFile | AlignedAddressing)
#elif ALPHA
#define Iam (WhatAmI | UnixBox | WindowsNT | \
OutboardErrorTextFile | AlignedAddressing)
#else
#error "I need a #define for Iam"
#endif
#endif
#if PrimePrimos
#define Iam (WhatAmI | Prime50Series | Primos | AlignedAddressing)
#endif
#if RouterBox
#define Iam (WhatAmI | UnixBox | UnixSysV | AlignedAddressing)
#endif
#if StackBox
#define Iam (WhatAmI | UnixBox | UnixSysV | AlignedAddressing)
#endif
#if StackAndRouterBox
#define Iam (WhatAmI | UnixBox | UnixSysV | AlignedAddressing)
#endif
#define LittleEndian (Iam a (Intel80x86 | ByteSwappedUnixBox))
#define a &
#define an &
#define Ihave Iam
#define IamNot (~ Iam)
#define IdontHave IamNot
#define ConfigurationIncluded 1
/* See comment at the top of this file for information about these two
#defines. */
#if IamNot a WindowsNT
#define TransmitsCompleteSynchronously 1
#else
#define TransmitsCompleteSynchronously 0
#endif
#define RouterPrependHeadersInPlace 1
#endif