mirror of https://github.com/lianthony/NT4.0
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.
105 lines
3.7 KiB
105 lines
3.7 KiB
/*++
|
|
|
|
Module Name:
|
|
|
|
wksta.h
|
|
|
|
Abstract:
|
|
|
|
Describes layout of JET database table used for WKSTA structures.
|
|
|
|
--*/
|
|
|
|
#ifdef RPLWKSTA_ALLOCATE
|
|
#define EXTERN_WKSTA
|
|
#define INIT_WKSTA( _x) = _x
|
|
#else
|
|
#define EXTERN_WKSTA extern
|
|
#define INIT_WKSTA( _x)
|
|
#endif
|
|
|
|
//
|
|
// WKSTA_LOGON_INPUT_* describe username/password policy during rpl logon
|
|
// on the client side. Depending on the value of this field, user input for
|
|
// username/password during RPL logon will be:
|
|
//
|
|
#define WKSTA_LOGON_INPUT_REQUIRED L'P' // user input is required
|
|
#define WKSTA_LOGON_INPUT_OPTIONAL L'N' // user input is optional
|
|
#define WKSTA_LOGON_INPUT_IMPOSSIBLE L'D' // user input is not solicited
|
|
//
|
|
// WKSTA_SHARING_* describe whether workstation shares or does not share its
|
|
// remote boot disk (i.e. "does it have shared or personal profile").
|
|
//
|
|
#define WKSTA_SHARING_TRUE L'S' // shares remote boot disk
|
|
#define WKSTA_SHARING_FALSE L'P' // does not share remote boot disk
|
|
|
|
//
|
|
// WKSTA_SHARING_* describe whether workstation shares or does not share its
|
|
// remote boot disk (i.e. "does it have shared or personal profile").
|
|
//
|
|
#define WKSTA_SHARING_TRUE L'S' // shares remote boot disk
|
|
#define WKSTA_SHARING_FALSE L'P' // does not share remote boot disk
|
|
|
|
//
|
|
// WKSTA_DISABLE_DHCP_* describe whether workstation uses DHCP or not. Note
|
|
// that these flags are relevant only if TCP/IP itself is enabled (i.e. changes
|
|
// to boot block configuration file, config.sys & autoexec.bat have been made).
|
|
//
|
|
|
|
#define WKSTA_DISABLE_DHCP_FALSE '0' // use DHCP
|
|
#define WKSTA_DISABLE_DHCP_TRUE '1' // do not use DHCP
|
|
|
|
//
|
|
// Indices of entries in WkstaTable[] - wksta column array.
|
|
//
|
|
#define WKSTA_WkstaName 0
|
|
#define WKSTA_WkstaComment 1
|
|
#define WKSTA_ProfileName 2
|
|
#define WKSTA_BootName 3
|
|
#define WKSTA_FitFile 4
|
|
#define WKSTA_AdapterName 5
|
|
#define WKSTA_TcpIpAddress 6
|
|
#define WKSTA_TcpIpSubnet 7
|
|
#define WKSTA_TcpIpGateway 8
|
|
#define WKSTA_Flags 9
|
|
#define WKSTA_TABLE_LENGTH 10
|
|
|
|
//
|
|
// We could speed things up by defining AdapterName as JET_coltypCurrency
|
|
//
|
|
|
|
EXTERN_WKSTA RPL_COLUMN_INFO WkstaTable[ WKSTA_TABLE_LENGTH]
|
|
#ifdef RPLWKSTA_ALLOCATE
|
|
= {
|
|
{ "WkstaName", JET_coltypBinary, 0}, // wksta name
|
|
{ "WkstaComment", JET_coltypBinary, 0}, // wksta comment
|
|
{ "ProfileName", JET_coltypBinary, 0}, // profile name
|
|
{ "BootName", JET_coltypBinary, 0}, // boot block id - if NULL => consult profile
|
|
{ "FitFile", JET_coltypBinary, 0}, // fit file - if NULL => consult profile
|
|
{ "AdapterName", JET_coltypBinary, 0}, // network address, hex string
|
|
{ "TcpIpAddress", JET_coltypLong, 0}, // tcp/ip address
|
|
{ "TcpIpSubnet", JET_coltypLong, 0}, // subnet tcp/ip address
|
|
{ "TcpIpGateway", JET_coltypLong, 0}, // gateway tcp/ip address
|
|
{ "Flags", JET_coltypLong, 0}
|
|
}
|
|
#endif // RPLWKSTA_ALLOCATE
|
|
;
|
|
//
|
|
// This definition gives wrong result when RPLWKSTA_ALLOCATE is not defined
|
|
//#define WKSTA_TABLE_LENGTH (sizeof(WkstaTable)/sizeof(WkstaTable[0]))
|
|
//
|
|
|
|
#define WKSTA_INDEX_AdapterName "foo" // + AdapterName
|
|
#define WKSTA_INDEX_WkstaName "goo" // + WkstaName
|
|
#define WKSTA_INDEX_ProfileNameWkstaName "hoo" // + ProfileName + WkstaName
|
|
#define WKSTA_INDEX_BootNameWkstaName "joo" // + BootName + WkstaName
|
|
|
|
#define WKSTA_TABLE_NAME "Wksta"
|
|
#define WKSTA_TABLE_PAGE_COUNT 5 // initial number of 4K pages
|
|
#define WKSTA_TABLE_DENSITY 100 // initial density
|
|
|
|
#ifdef RPL_RPLCNV
|
|
EXTERN_WKSTA JET_TABLEID WkstaTableId;
|
|
#endif // RPL_RPLCNV
|
|
|
|
|