mirror of https://github.com/lianthony/NT4.0
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
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
|