103 lines
2.6 KiB
C
103 lines
2.6 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1990 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
token.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Flags and prototypes for GetToken.C
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Danny Glasser (dannygl) June 1989
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
02 May 1991 rfirth
|
||
|
32-bit version
|
||
|
|
||
|
--*/
|
||
|
|
||
|
//
|
||
|
// Non-component types: bits 0 through 2
|
||
|
//
|
||
|
|
||
|
#define TOKEN_TYPE_EOS 0x00000001L // '\0'
|
||
|
#define TOKEN_TYPE_SLASH 0x00000002L // '/' or '\\'
|
||
|
#define TOKEN_TYPE_COLON 0x00000004L // ':'
|
||
|
|
||
|
//
|
||
|
// Component-based types: bits 31 through 11
|
||
|
//
|
||
|
|
||
|
#define TOKEN_TYPE_COMPONENT 0x80000000L // path component
|
||
|
#define TOKEN_TYPE_WILDCARD 0x40000000L // '?' and/or '*'
|
||
|
#define TOKEN_TYPE_WILDONE 0x20000000L // "*"
|
||
|
#define TOKEN_TYPE_DOT 0x10000000L // "."
|
||
|
#define TOKEN_TYPE_DOTDOT 0x08000000L // ".."
|
||
|
#define TOKEN_TYPE_DRIVE 0x04000000L // [A-Za-z]
|
||
|
#define TOKEN_TYPE_COMPUTERNAME 0x02000000L // computername
|
||
|
#define TOKEN_TYPE_LPT 0x01000000L // LPT[1-9]
|
||
|
#define TOKEN_TYPE_COM 0x00800000L // COM[1-9]
|
||
|
#define TOKEN_TYPE_AUX 0x00400000L
|
||
|
#define TOKEN_TYPE_PRN 0x00200000L
|
||
|
#define TOKEN_TYPE_CON 0x00100000L
|
||
|
#define TOKEN_TYPE_NUL 0x00080000L
|
||
|
#define TOKEN_TYPE_DEV 0x00040000L
|
||
|
#define TOKEN_TYPE_SEM 0x00020000L
|
||
|
#define TOKEN_TYPE_SHAREMEM 0x00010000L
|
||
|
#define TOKEN_TYPE_QUEUES 0x00008000L
|
||
|
#define TOKEN_TYPE_PIPE 0x00004000L
|
||
|
#define TOKEN_TYPE_MAILSLOT 0x00002000L
|
||
|
#define TOKEN_TYPE_COMM 0x00001000L
|
||
|
#define TOKEN_TYPE_PRINT 0x00000800L
|
||
|
|
||
|
//
|
||
|
// Undefined types: bits 3 through 10
|
||
|
//
|
||
|
|
||
|
#define TOKEN_TYPE_UNDEFINED 0x000007F8L
|
||
|
|
||
|
//
|
||
|
// Useful combinations
|
||
|
//
|
||
|
|
||
|
#define TOKEN_TYPE_SYSNAME (TOKEN_TYPE_SEM | TOKEN_TYPE_SHAREMEM \
|
||
|
| TOKEN_TYPE_QUEUES | TOKEN_TYPE_PIPE \
|
||
|
| TOKEN_TYPE_COMM | TOKEN_TYPE_PRINT)
|
||
|
|
||
|
#define TOKEN_TYPE_LOCALDEVICE (TOKEN_TYPE_LPT | TOKEN_TYPE_COM \
|
||
|
| TOKEN_TYPE_AUX | TOKEN_TYPE_PRN \
|
||
|
| TOKEN_TYPE_CON | TOKEN_TYPE_NUL)
|
||
|
|
||
|
extern
|
||
|
DWORD
|
||
|
GetToken(
|
||
|
LPTSTR pszBegin,
|
||
|
LPTSTR* ppszEnd,
|
||
|
LPDWORD pflTokenType,
|
||
|
DWORD flFlags
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Flags for GetToken()
|
||
|
//
|
||
|
|
||
|
#define GTF_8_DOT_3 0x00000001L
|
||
|
|
||
|
#define GTF_RESERVED (~(GTF_8_DOT_3))
|
||
|
|
||
|
//
|
||
|
// IMPORTANT - These variables are defined in the NETAPI.DLL global
|
||
|
// data segment under OS/2. Under DOS we need to define
|
||
|
// them here.
|
||
|
//
|
||
|
|
||
|
#ifdef DOS3
|
||
|
extern USHORT cbMaxPathLen;
|
||
|
extern USHORT cbMaxPathCompLen;
|
||
|
#endif
|