Source code of Windows XP (NT5)
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.
|
|
/******************************************************************************
* * Copyright (c) 1999 Microsoft Corporation * * Module Name: * ifsr3.h * * Abstract: * This file contains definitions from ring 0 required in ring 3 * * Revision History: * Kanwaljit S Marok ( kmarok ) 05/17/99 * created * *****************************************************************************/
#ifndef _IFSR3_H_
#define _IFSR3_H_
#ifdef __cplusplus
extern "C" { #endif
#define CALC_PPATH_SIZE( a ) ( ( a + 3 ) * sizeof( WCHAR ) )
#define MAX_PPATH_SIZE CALC_PPATH_SIZE(MAX_PATH)
typedef struct PathElement PathElement; typedef struct ParsedPath ParsedPath; typedef ParsedPath *path_t;
struct PathElement { unsigned short pe_length; unsigned short pe_unichars[1]; }; /* PathElement */
struct ParsedPath { unsigned short pp_totalLength; unsigned short pp_prefixLength; struct PathElement pp_elements[1]; }; /* ParsedPath */
#define IFSPathSize(ppath) ((ppath)->pp_totalLength + sizeof(short))
#define IFSPathLength(ppath) ((ppath)->pp_totalLength - sizeof(short)*2)
#define IFSLastElement(ppath) ((PathElement *)((char *)(ppath) + (ppath)->pp_prefixLength))
#define IFSNextElement(pel) ((PathElement *)((char *)(pel) + (pel)->pe_length))
#define IFSIsRoot(ppath) ((ppath)->pp_totalLength == 4)
// New defines
#define IFSPathElemChars(pel) ( (((PathElement*)pel)->pe_length/sizeof(USHORT)) - 1 )
#ifdef __cplusplus
} #endif
#endif // _IFSR3_H_
|