windows-nt/Source/XPSP1/NT/termsrv/inc/aducdefs.h
2020-09-26 16:20:57 +08:00

182 lines
12 KiB
C

/**INC+**********************************************************************/
/* Header: aduxdefs.h */
/* */
/* Purpose: Optional defines used in the client */
/* */
/* Copyright(C) Microsoft Corporation 1997 */
/* */
/****************************************************************************/
/** Changes:
* $Log: Y:/logs/hydra/tshrclnt/inc/aducdefs.h_v $
*
* Rev 1.1 24 Sep 1997 14:29:30 AK
* SFR1424: Rename adcgdefs.h for client
**/
/**INC-**********************************************************************/
#ifndef _H_ADUCDEFS
#define _H_ADUCDEFS
/****************************************************************************/
/* This header contains a list of all the optional defines used throughout */
/* the project. To compile-in some optionally defined code, enable the */
/* appropriate option here. Note that: */
/* */
/* - all defines must be declared and documented here. This is enforced */
/* by moans. */
/* - the list must be sorted alphabetically. This makes it easy to spot */
/* duplicate defines. */
/****************************************************************************/
/****************************************************************************/
/* DC_ANSI_TEXT_ORDERS enables support for encoded text orders where the */
/* characters are in ANSI format. */
/****************************************************************************/
#ifndef OS_WINCE
#define DC_ANSI_TEXT_ORDERS
#endif // OS_WINCE
/****************************************************************************/
/* DC_LATENCY enables the latency test code in UH and OP. This code */
/* generates a dummy key press (of the Ctrl key) whenever a large piece of */
/* drawing is done. This allows the client processing time for a single */
/* key stroke to be accurately measured using a network sniffer (e.g. */
/* NetMon). In a typical situation Notepad is running in a remote session */
/* (no other apps are running in the session) and the following occurs: */
/* */
/* - Notepad has the focus on the client. */
/* - Press a key. */
/* - Key-press is packaged by the client and sent on the wire. */
/* - Server interprets packet and injects the key-press. */
/* - Notepad does some processing which results in a character being */
/* drawn on the screen. */
/* - Server detects this drawing, packages it and sends it on the wire. */
/* - Client receives update packets and processes them. */
/* - The drawing operation results in a dummy key-press being generated. */
/* - Dummy key-press is packaged by the client and sent on the wire. */
/* */
/* The time between the first update packet arriving and the dummy */
/* key-press being sent is the total client processing time for a */
/* key-press. */
/****************************************************************************/
#undef DC_LATENCY
/* #define DC_LATENCY */
/****************************************************************************/
/* DC_LOOPBACK enables the NL loopback testing code. This stresses the */
/* network layer by attempting to send a continual stream of packets with */
/* incrementing size. The equivalent code on the server detects loopback */
/* packets and reflects them straight back to the client where they are */
/* compared to ensure that they have not been corrupted by the round trip. */
/****************************************************************************/
#undef DC_LOOPBACK
/* #define DC_LOOPBACK */
/****************************************************************************/
/* Code within DC_NLTEST is used solely for testing the network layer. It */
/* consists of: */
/* */
/* - a modification to TD_Recv so that it only ever tries to retrieve a */
/* single byte from WinSock regardless of the amount of data that the */
/* caller to TD_Recv asks for. This stresses the common failure path */
/* within NL where processing of a packet has to be temporarily */
/* suspended until more data arrives. */
/* - random failure of NL_GetBuffer. This stresses the whole of the */
/* client by simulating network layer back-pressure. */
/* */
/****************************************************************************/
#undef DC_NLTEST
/* #define DC_NLTEST */
/****************************************************************************/
/* DC_SERVER_ORDERS_ONLY compiles the client using just the T.128 orders */
/* that the server sends (i.e. removes unused T.128 orders). */
/****************************************************************************/
/* #undef DC_SERVER_ORDERS_ONLY */
#define DC_SERVER_ORDERS_ONLY
/****************************************************************************/
/* Defining DC_PERF enables the timing code which enables the time spent */
/* in several key functions to be easily determined. */
/****************************************************************************/
#undef DC_PERF
/* #define DC_PERF */
/****************************************************************************/
/* Defining SL_UNICODE_PROTOCOL enables code to send security package names */
/* in Unicode, rather than ANSI, format. */
/****************************************************************************/
#undef SL_UNICODE_PROTOCOL
/* #define SL_UNICODE_PROTOCOL */
/****************************************************************************/
/* The following flags are defined elsewehere - for example in the build */
/* scripts. They are placed here to enable moans to detect legal defines - */
/* the moans use '/* FLAG:' to find these names. */
/* */
/* FLAG: OS_WIN16 */
/* - flag to indicate a Win16 build */
/* */
/* FLAG: OS_WIN32 */
/* - flag to indicate a Win32 build */
/* */
/* FLAG: OS_WINDOWS */
/* - flag to indicate a Windows build */
/* */
/* FLAG: DC_DEBUG */
/* - flag to indicate a debug build */
/* */
/* FLAG: DC_DEFINE_GLOBAL_DATA */
/* - used in aglobal.c to define global data */
/* */
/* FLAG: UNICODE */
/* - Windows Unicode option */
/* */
/* FLAG: HIPROF */
/* - HiProf profiler build */
/* */
/****************************************************************************/
/****************************************************************************/
/* The following flags are used in the server code. */
/* FLAG: CH_NO_COUNT */
/* FLAG: COMP_STATS */
/* FLAG: DC_FIXED_CODE_MODULE */
/* FLAG: DC_INCLUDE_DATA */
/* FLAG: DC_INCL_PROTOTYPES */
/* FLAG: DC_INCL_TYPEDEFS */
/* FLAG: DC_INIT_DATA */
/* FLAG: DEBUG_EVICTION_LIST */
/* FLAG: DIAGNOSE_BOUNDS */
/* FLAG: DITHER_MONO_CURSORS */
/* FLAG: DLL_COREP */
/* FLAG: DLL_DISP */
/* FLAG: DLL_WD */
/* FLAG: GIN_ACCEPT_INVITES */
/* FLAG: HYDRA */
/* FLAG: NOT_SERVICE */
/* FLAG: ORDER_TRACE */
/* FLAG: QUERY_THROUGHPUT */
/* FLAG: RC_INVOKED */
/* FLAG: REMOVE_LINEAR */
/* FLAG: SNI_ASSERT */
/* FLAG: SNI_ASSERT */
/* FLAG: TRC_ENABLE_ALT */
/* FLAG: TRC_ENABLE_DBG */
/* FLAG: TRC_ENABLE_NRM */
/* FLAG: TRC_GROUP */
/* FLAG: TRC_TEST_LEVEL */
/* FLAG: V1_COMPRESSION */
/* FLAG: VER_APPSERV */
/* FLAG: VER_CPP */
/* FLAG: __cplusplus */
/* FLAG: USE_HET */
/* FLAG: USE_DS */
/* FLAG: USE_AWC */
/* FLAG: USE_FULL_CA */
/* FLAG: CA_MULTIPLE_CLIENTS */
/* */
/****************************************************************************/
#endif /* _H_ADUCDEFS */