Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

95 lines
2.8 KiB

/*++
Module Name:
config.h
Abstract:
Describes layout of JET database table used for CONFIG structures.
--*/
#ifdef RPLCONFIG_ALLOCATE
#define EXTERN_CONFIG
#define INIT_CONFIG( _x) = _x
#else
#define EXTERN_CONFIG extern
#define INIT_CONFIG( _x)
#endif
#define CONFIG_ConfigName 0
#define CONFIG_ConfigComment 1
#define CONFIG_Flags 2
#define CONFIG_BootName 3
#define CONFIG_DirName 4
#define CONFIG_DirName2 5
#define CONFIG_DirName3 6
#define CONFIG_DirName4 7
#define CONFIG_FitShared 8
#define CONFIG_FitPersonal 9
#define CONFIG_TABLE_LENGTH 10
EXTERN_CONFIG RPL_COLUMN_INFO ConfigTable[ CONFIG_TABLE_LENGTH]
#ifdef RPLCONFIG_ALLOCATE
= {
{ "ConfigName", JET_coltypBinary, 0},
{ "ConfigComment", JET_coltypBinary, 0},
{ "Flags", JET_coltypLong, 0},
{ "BootName", JET_coltypBinary, 0},
{ "DirName", JET_coltypBinary, 0},
{ "DirName2", JET_coltypBinary, 0},
{ "DirName3", JET_coltypBinary, 0},
{ "DirName4", JET_coltypBinary, 0},
{ "FitShared", JET_coltypBinary, 0},
{ "FitPersonal", JET_coltypBinary, 0}
}
#endif // RPLCONFIG_ALLOCATE
;
//
// The block below is needed by RPLCNV.EXE only. We include it here
// because it is essential that order of elements and lengths of
// ConfigTable and ConfigParseTable arrays are kept in sync.
//
#ifdef RPL_RPLCNV
typedef struct _CONFIG_PARSE_INFO {
PWCHAR Name; // RPLMGR.INI name - NULL for new entries
PVOID Value; // RPLMGR.INI value
DWORD Size; // size in bytes of the above value
} CONFIG_PARSE_INFO, *PCONFIG_PARSE_INFO;
EXTERN_CONFIG CONFIG_PARSE_INFO ConfigParseTable[ CONFIG_TABLE_LENGTH]
#ifdef RPLCONFIG_ALLOCATE
= {
{ L"name", NULL, 0},
{ L"comment", NULL, 0},
{ NULL, NULL, 0}, // a placeholder for Flags fields
{ L"bblink", NULL, 0},
{ L"dirname", NULL, 0},
{ L"dirname2", NULL, 0},
{ L"dirname3", NULL, 0},
{ L"dirname4", NULL, 0},
{ L"fitfileshared", NULL, 0},
{ L"fitfilepersonal", NULL, 0}
}
#endif // RPLCONFIG_ALLOCATE
;
#endif // RPL_RPLCNV
//
// This definition gives wrong result when RPLCONFIG_ALLOCATE is not defined
//#define CONFIG_TABLE_LENGTH (sizeof(ConfigTable)/sizeof(ConfigTable[0]))
//
#define CONFIG_INDEX_ConfigName "foo" // +ConfigName
#define CONFIG_INDEX_BootNameConfigName "goo" // +BootName+ConfigName
#define CONFIG_TABLE_NAME "Config"
#define CONFIG_TABLE_PAGE_COUNT 10 // initial number of 4K pages
#define CONFIG_TABLE_DENSITY 80 // initial density
#ifdef RPL_RPLCNV
EXTERN_CONFIG JET_TABLEID ConfigTableId;
#endif // RPL_RPLCNV