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

137 lines
7.3 KiB
C

/**INC+**********************************************************************/
/* Header: adcgcfnc.h */
/* */
/* Purpose: C runtime functions - portable include file */
/* */
/* Copyright(C) Microsoft Corporation 1997 */
/* */
/****************************************************************************/
/** Changes:
* $Log: Y:/logs/h/dcl/adcgcfnc.h_v $
*
* Rev 1.7 06 Aug 1997 14:32:22 AK
* SFR1016: Apply Markups
*
* Rev 1.6 06 Aug 1997 10:40:42 AK
* SFR1016: Complete removal of DCCHAR etc
*
* Rev 1.5 23 Jul 1997 10:47:52 mr
* SFR1079: Merged \server\h duplicates to \h\dcl
*
* Rev 1.4 15 Jul 1997 15:42:48 AK
* SFR1016: Add Unicode support
*
* Rev 1.3 09 Jul 1997 16:56:24 AK
* SFR1016: Initial changes to support Unicode
**/
/**INC-**********************************************************************/
#ifndef _H_ADCGCFNC
#define _H_ADCGCFNC
/****************************************************************************/
/* */
/* INCLUDES */
/* */
/****************************************************************************/
/****************************************************************************/
/* Include the required C headers */
/****************************************************************************/
#ifndef OS_WINCE
#include <stdio.h>
#endif // OS_WINCE
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#ifndef OS_WINCE
#include <time.h>
#endif // OS_WINCE
/****************************************************************************/
/* Include the Windows-specific header. */
/****************************************************************************/
#include <wdcgcfnc.h>
/****************************************************************************/
/* */
/* CONSTANTS */
/* */
/****************************************************************************/
/****************************************************************************/
/* Character Class Tests (normally in ctype.h) */
/* ===================== */
/* In these definitions: */
/* */
/* 'C' is of type DCINT. */
/* */
/* These functions return a DCBOOL. */
/****************************************************************************/
#define DC_ISALNUM(C) isalnum(C)
#define DC_ISALPHA(C) isalpha(C)
#define DC_ISCNTRL(C) iscntrl(C)
#define DC_ISDIGIT(C) isdigit(C)
#define DC_ISGRAPH(C) isgraph(C)
#define DC_ISLOWER(C) islower(C)
#define DC_ISPRINT(C) isprint(C)
#define DC_ISPUNCT(C) ispunct(C)
#define DC_ISSPACE(C) isspace(C)
#define DC_ISUPPER(C) isupper(C)
#define DC_ISXDIGIT(C) isxdigit(C)
/****************************************************************************/
/* These functions return a DCINT. */
/****************************************************************************/
#define DC_TOLOWER(C) tolower(C)
#ifdef OS_WINCE
#define DC_TOUPPER(C) towupper(C)
#else // OS_WINCE
#define DC_TOUPPER(C) toupper(C)
#endif // OS_WINCE
/****************************************************************************/
/* Memory functions (from string.h) */
/* ================ */
/* In these definitions: */
/* 'S' and 'T' are of type PDCVOID. */
/* 'CS' and 'CT' are of type (constant) PDCVOID. */
/* 'N' is of type DCINT. */
/* 'C' is an DCINT converted to DCACHAR. */
/****************************************************************************/
/****************************************************************************/
/* These functions return a PDCVOID. */
/****************************************************************************/
#define DC_MEMCPY(S, CT, N) memcpy(S, CT, N)
#define DC_MEMMOVE(S, CT, N) memmove(S, CT, N)
#define DC_MEMSET(S, C, N) memset(S, C, N)
/****************************************************************************/
/* These functions return a DCINT. */
/****************************************************************************/
#define DC_MEMCMP(CS, CT, N) memcmp(CS, CT, N)
/****************************************************************************/
/* Utility functions (from stdlib.h) */
/* ================= */
/* In these defintions: */
/* 'CS' is of type (constant) PDCACHAR. */
/* 'N' is of type DCINT. */
/* 'L' is of type DCINT32 */
/****************************************************************************/
/****************************************************************************/
/* These functions return a DCINT. */
/****************************************************************************/
#define DC_ABS(N) abs(N)
/****************************************************************************/
/* These functions return a DCINT32. */
/****************************************************************************/
#define DC_ATOL(CS) atol(CS)
#define DC_LABS(L) labs(L)
/****************************************************************************/
/* The maximum characters DC_?ITOA will convert into plus one for a */
/* NULLTERM (see C library documentation). */
/****************************************************************************/
#define MAX_ITOA_LENGTH 18
#endif /* _H_ADCGCFNC */