Leaked source code of windows server 2003
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.
|
|
/*
* stock.h - Stock header file. * * Taken from URL code by ChrisPi 9-11-95 * */
#ifndef _STOCK_H_
#define _STOCK_H_
/* Constants
************/
#define ASTERISK '*'
#define BACKSLASH '/'
#define COLON ':'
#define COMMA ','
#define EQUAL '='
#define PERIOD '.'
#define POUND '#'
#define QMARK '?'
#define QUOTE '\''
#define QUOTES '"'
#define SLASH '\\'
#define SPACE ' '
#define TAB '\t'
/* linkage */
#ifdef __cplusplus
#define INLINE inline
#else
#define INLINE __inline
#endif
/* Win32 HRESULTs */
#define E_FILE_NOT_FOUND MAKE_SCODE(SEVERITY_ERROR, FACILITY_WIN32, ERROR_FILE_NOT_FOUND)
#define E_PATH_NOT_FOUND MAKE_SCODE(SEVERITY_ERROR, FACILITY_WIN32, ERROR_PATH_NOT_FOUND)
/* file-related flag combinations */
#define ALL_FILE_ACCESS_FLAGS (GENERIC_READ |\
GENERIC_WRITE)
#define ALL_FILE_SHARING_FLAGS (FILE_SHARE_READ |\
FILE_SHARE_WRITE)
#define ALL_FILE_ATTRIBUTES (FILE_ATTRIBUTE_READONLY |\
FILE_ATTRIBUTE_HIDDEN |\ FILE_ATTRIBUTE_SYSTEM |\ FILE_ATTRIBUTE_DIRECTORY |\ FILE_ATTRIBUTE_ARCHIVE |\ FILE_ATTRIBUTE_NORMAL |\ FILE_ATTRIBUTE_TEMPORARY |\ FILE_ATTRIBUTE_ATOMIC_WRITE |\ FILE_ATTRIBUTE_XACTION_WRITE)
#define ALL_FILE_FLAGS (FILE_FLAG_WRITE_THROUGH |\
FILE_FLAG_OVERLAPPED |\ FILE_FLAG_NO_BUFFERING |\ FILE_FLAG_RANDOM_ACCESS |\ FILE_FLAG_SEQUENTIAL_SCAN |\ FILE_FLAG_DELETE_ON_CLOSE |\ FILE_FLAG_BACKUP_SEMANTICS |\ FILE_FLAG_POSIX_SEMANTICS)
#define ALL_FILE_ATTRIBUTES_AND_FLAGS (ALL_FILE_ATTRIBUTES |\
ALL_FILE_FLAGS)
/* Macros
*********/
#ifndef DECLARE_STANDARD_TYPES
/*
* For a type "FOO", define the standard derived types PFOO, CFOO, and PCFOO. */
#define DECLARE_STANDARD_TYPES(type) typedef type *P##type; \
typedef const type C##type; \ typedef const type *PC##type;
#endif
/* character manipulation */
#define IS_SLASH(ch) ((ch) == SLASH || (ch) == BACKSLASH)
/* bit flag manipulation */
#define SET_FLAG(dwAllFlags, dwFlag) ((dwAllFlags) |= (dwFlag))
/* ChrisPi: DCL also defines this - override their definition */ #ifdef CLEAR_FLAG
#undef CLEAR_FLAG
#endif /* CLEAR_FLAG */
#define CLEAR_FLAG(dwAllFlags, dwFlag) ((dwAllFlags) &= (~dwFlag))
#define IS_FLAG_SET(dwAllFlags, dwFlag) ((BOOL)((dwAllFlags) & (dwFlag)))
#define IS_FLAG_CLEAR(dwAllFlags, dwFlag) (! (IS_FLAG_SET(dwAllFlags, dwFlag)))
/* array element count */
#define ARRAY_ELEMENTS(rg) (sizeof(rg) / sizeof((rg)[0]))
#define CCHMAX(rg) ARRAY_ELEMENTS(rg)
/* clearing bytes */ #define ClearStruct(lpv) ZeroMemory((LPVOID) (lpv), sizeof(*(lpv)))
#define InitStruct(lpv) {ClearStruct(lpv); (* (LPDWORD)(lpv)) = sizeof(*(lpv));}
/* string safety */
#define CHECK_STRING(psz) ((psz) ? (psz) : "(null)")
/* file attribute manipulation */
#define IS_ATTR_DIR(attr) (IS_FLAG_SET((attr), FILE_ATTRIBUTE_DIRECTORY))
#define IS_ATTR_VOLUME(attr) (IS_FLAG_SET((attr), FILE_ATTRIBUTE_VOLUME))
/* stuff a point value packed in an LPARAM into a POINT */
#define LPARAM_TO_POINT(lparam, pt) ((pt).x = (short)LOWORD(lparam), \
(pt).y = (short)HIWORD(lparam))
/* Types
********/
typedef const void *PCVOID; typedef const INT CINT; typedef const INT *PCINT; typedef const UINT CUINT; typedef const UINT *PCUINT; typedef const LONG CULONG; typedef const LONG *PCULONG; typedef const BYTE CBYTE; typedef const BYTE *PCBYTE; typedef const WORD CWORD; typedef const WORD *PCWORD; typedef const DWORD CDWORD; typedef const DWORD *PCDWORD; typedef const CRITICAL_SECTION CCRITICAL_SECTION; typedef const CRITICAL_SECTION *PCCRITICAL_SECTION; typedef const FILETIME CFILETIME; typedef const FILETIME *PCFILETIME; typedef const BITMAPINFO CBITMAPINFO; typedef const BITMAPINFO *PCBITMAPINFO; typedef const POINT CPOINT; typedef const POINT *PCPOINT; typedef const POINTL CPOINTL; typedef const POINTL *PCPOINTL; typedef const SECURITY_ATTRIBUTES CSECURITY_ATTRIBUTES; typedef const SECURITY_ATTRIBUTES *PCSECURITY_ATTRIBUTES; typedef const WIN32_FIND_DATA CWIN32_FIND_DATA; typedef const WIN32_FIND_DATA *PCWIN32_FIND_DATA;
DECLARE_STANDARD_TYPES(HGLOBAL); DECLARE_STANDARD_TYPES(HICON); DECLARE_STANDARD_TYPES(HMENU); DECLARE_STANDARD_TYPES(HWND); DECLARE_STANDARD_TYPES(NMHDR);
#ifndef _COMPARISONRESULT_DEFINED_
/* comparison result */
typedef enum _comparisonresult { CR_FIRST_SMALLER = -1, CR_EQUAL = 0, CR_FIRST_LARGER = +1 } COMPARISONRESULT; DECLARE_STANDARD_TYPES(COMPARISONRESULT);
#define _COMPARISONRESULT_DEFINED_
#endif
#endif /* _STOCK_H_ */
|