summaryrefslogtreecommitdiffstats
path: root/private/net/svcdlls/rpl/inc/wksta.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/net/svcdlls/rpl/inc/wksta.h')
-rw-r--r--private/net/svcdlls/rpl/inc/wksta.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/private/net/svcdlls/rpl/inc/wksta.h b/private/net/svcdlls/rpl/inc/wksta.h
new file mode 100644
index 000000000..49f58401b
--- /dev/null
+++ b/private/net/svcdlls/rpl/inc/wksta.h
@@ -0,0 +1,105 @@
+/*++
+
+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
+
+