Leaked source code of windows server 2003
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.

735 lines
19 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. SrvConfg.h
  5. Abstract:
  6. This file contains default server settings for startup.
  7. Author:
  8. David Treadwell (davidtr) 1-Mar-1991
  9. Revision History:
  10. --*/
  11. #ifndef _SRVCONFG_
  12. #define _SRVCONFG_
  13. //
  14. // The platform ID for NT servers. This indicates the info level that
  15. // should be called for platform-specific information.
  16. //
  17. #define DEF_PLATFORM_ID SV_PLATFORM_ID_NT
  18. #define MIN_PLATFORM_ID SV_PLATFORM_ID_NT
  19. #define MAX_PLATFORM_ID SV_PLATFORM_ID_NT
  20. //
  21. // The default name is used for the server set and get info APIs as well
  22. // as the transport name if no overriding transport name is specified.
  23. //
  24. #define DEF_NAME L"NTSERVER"
  25. //
  26. // Version definitions--these indicate LM 3.0.
  27. //
  28. #define DEF_VERSION_MAJOR 3
  29. #define MIN_VERSION_MAJOR 3
  30. #define MAX_VERSION_MAJOR 3
  31. #define DEF_VERSION_MINOR 10
  32. #define MIN_VERSION_MINOR 10
  33. #define MAX_VERSION_MINOR 10
  34. //
  35. // The server type.
  36. //
  37. #define DEF_TYPE 0
  38. #define MIN_TYPE 0
  39. #define MAX_TYPE 0xFFFFFFFF
  40. //
  41. // The server comment is used only for the server get and set info APIs.
  42. //
  43. #define DEF_COMMENT L""
  44. //
  45. // The maximum number of users that may be logged on to the server
  46. // simultaneously.
  47. //
  48. #define DEF_USERS 0xFFFFFFFF
  49. #define MIN_USERS 1
  50. #define MAX_USERS 0xFFFFFFFF
  51. //
  52. // The autodisconnect time: when a client is idle for this many minutes,
  53. // the server closes the connection, but only if the client has no open
  54. // files/pipes.
  55. //
  56. #define DEF_DISC 15
  57. #define MIN_DISC 0 // zero minutes -- disconnect ASAP
  58. #define MAX_DISC 0xFFFFFFFF
  59. //
  60. // The IPX autodisconnect time: when a client doesn't send any SMBs
  61. // for this many minutes, the server closes the 'connection', even if
  62. // the client has open files/pipes.
  63. //
  64. #define DEF_CONNECTIONLESSAUTODISC 15
  65. #define MIN_CONNECTIONLESSAUTODISC 15
  66. #define MAX_CONNECTIONLESSAUTODISC 0xFFFFFFFF
  67. //
  68. // The number of minutes to wait between the time a client establishes a virtual
  69. // circuit to the server and the time it gets around to doing a session setup. This
  70. // time is reset if the client keeps sending messages
  71. //
  72. #define DEF_CONNECTIONNOSESSIONSTIMEOUT 2
  73. #define MIN_CONNECTIONNOSESSIONSTIMEOUT 1
  74. #define MAX_CONNECTIONNOSESSIONSTIMEOUT 0xFFFFFFFF
  75. //
  76. // The minimum allowed negotiate buffer size from the client
  77. //
  78. #define DEF_MINCLIENTBUFFERSIZE 500
  79. #define MIN_MINCLIENTBUFFERSIZE 64
  80. #define MAX_MINCLIENTBUFFERSIZE (64*1024)
  81. //
  82. // Parameters dealing with server announcements: whether the server is
  83. // hidden (no announcements), the announce interval, the randomization
  84. // factor for the accounce interval, and whether the server announces
  85. // itself as a time source.
  86. //
  87. #define DEF_HIDDEN FALSE
  88. #define DEF_ANNOUNCE 4 * 60
  89. #define MIN_ANNOUNCE 1
  90. #define MAX_ANNOUNCE 65535
  91. #define DEF_ANNDELTA 3000
  92. #define MIN_ANNDELTA 0
  93. #define MAX_ANNDELTA 65535
  94. #define DEF_TIMESOURCE FALSE
  95. #define DEF_ACCEPTDOWNLEVELAPIS TRUE
  96. #define DEF_LMANNOUNCE FALSE
  97. //
  98. // A fully qualified path to the user directories.
  99. //
  100. #define DEF_USERPATH L"c:\\"
  101. //
  102. // The domain name to which to send server announcements.
  103. //
  104. #define DEF_DOMAIN L"DOMAIN"
  105. //
  106. // Server "heuristics", enabling various capabilities.
  107. //
  108. #define DEF_ENABLEOPLOCKS TRUE
  109. #define DEF_ENABLEFCBOPENS TRUE
  110. #define DEF_ENABLESOFTCOMPAT TRUE
  111. #define DEF_ENABLERAW TRUE
  112. #define DEF_ENABLESHAREDNETDRIVES FALSE
  113. #define DEF_ENABLEFORCEDLOGOFF TRUE
  114. #define DEF_ENABLEOPLOCKFORCECLOSE FALSE
  115. #define DEF_REMOVEDUPLICATESEARCHES TRUE
  116. #define DEF_RESTRICTNULLSESSACCESS TRUE
  117. #define DEF_ENABLEWFW311DIRECTIPX TRUE
  118. //
  119. // Receive buffer size, receive work item count, and receive IRP stack
  120. // size.
  121. //
  122. #define DEF_SIZREQBUF 4356
  123. #define MIN_SIZREQBUF 1024
  124. #define MAX_SIZREQBUF 65535
  125. //
  126. // If we have a large memory system, we use DEF_LARGE_SIZREQBUF instead of DEF_SIZREQBUF
  127. //
  128. #define DEF_LARGE_SIZREQBUF 16644
  129. #define DEF_INITWORKITEMS 4
  130. #define MIN_INITWORKITEMS 1
  131. #define MAX_INITWORKITEMS 512
  132. #define DEF_MAXWORKITEMS 128
  133. #define MIN_MAXWORKITEMS 1
  134. #define MAX_MAXWORKITEMS 65535 // arbitrary
  135. #define DEF_RAWWORKITEMS 4
  136. #define MIN_RAWWORKITEMS 1
  137. #define MAX_RAWWORKITEMS 512
  138. #define DEF_MAXRAWWORKITEMS 16
  139. #define MIN_MAXRAWWORKITEMS 1
  140. #define MAX_MAXRAWWORKITEMS 512
  141. #define DEF_IRPSTACKSIZE 15
  142. #define MIN_IRPSTACKSIZE 11
  143. #define MAX_IRPSTACKSIZE 50
  144. //
  145. // Maximum raw mode buffer size. (This isn't actually configurable --
  146. // the server must always be prepared to receive raw requests for up to
  147. // 65535 bytes.)
  148. //
  149. #define DEF_MAXRAWBUFLEN 65535
  150. #define MIN_MAXRAWBUFLEN 65535
  151. #define MAX_MAXRAWBUFLEN 65535
  152. //
  153. // Cache-related parameters.
  154. //
  155. #define DEF_MAXCOPYREADLEN 8192
  156. #define MIN_MAXCOPYREADLEN 0
  157. #define MAX_MAXCOPYREADLEN 0xFFFFFFFF
  158. #define DEF_MAXCOPYWRITELEN 0
  159. #define MIN_MAXCOPYWRITELEN 0
  160. #define MAX_MAXCOPYWRITELEN 0xFFFFFFFF
  161. //
  162. // Free connection count.
  163. //
  164. #define DEF_MAXFREECONNECTIONS 2
  165. #define MIN_MAXFREECONNECTIONS 2
  166. #define MAX_MAXFREECONNECTIONS 2000 // arbitrary
  167. #define DEF_MINFREECONNECTIONS 2
  168. #define MIN_MINFREECONNECTIONS 2
  169. #define MAX_MINFREECONNECTIONS 250 // arbitrary
  170. // Small free connection limits (machine < 1 GB memory)
  171. #define SRV_MIN_CONNECTIONS_SMALL 4
  172. #define SRV_MAX_CONNECTIONS_SMALL 8
  173. // Medium free connection limits (machine 1-16 GB memory)
  174. #define SRV_MIN_CONNECTIONS_MEDIUM 8
  175. #define SRV_MAX_CONNECTIONS_MEDIUM 16
  176. // Large free connection limits (machine > 16 GB memory)
  177. #define SRV_MIN_CONNECTIONS_LARGE 12
  178. #define SRV_MAX_CONNECTIONS_LARGE 24
  179. //
  180. // Initial and maximum table sizes.
  181. //
  182. #define DEF_INITSESSTABLE 4
  183. #define MIN_INITSESSTABLE 1
  184. #define MAX_INITSESSTABLE 64
  185. #define DEF_SESSUSERS 2048
  186. #define MIN_SESSUSERS 1
  187. #define MAX_SESSUSERS 2048
  188. #define ABSOLUTE_MAX_SESSION_TABLE_SIZE 2048 // Limited by index bits
  189. #define DEF_INITCONNTABLE 8
  190. #define MIN_INITCONNTABLE 1
  191. #define MAX_INITCONNTABLE 128
  192. #define DEF_SESSCONNS 2048
  193. #define MIN_SESSCONNS 1
  194. #define MAX_SESSCONNS 2048
  195. #define ABSOLUTE_MAX_TREE_TABLE_SIZE 2048 // Limited by index bits
  196. #define DEF_INITFILETABLE 16
  197. #define MIN_INITFILETABLE 1
  198. #define MAX_INITFILETABLE 256
  199. #define DEF_SESSOPENS 16384
  200. #define MIN_SESSOPENS 1
  201. #define MAX_SESSOPENS 16384
  202. // #define ABSOLUTE_MAX_FILE_TABLE_SIZE 16384 // Limited by index bits
  203. #define DEF_INITSEARCHTABLE 8
  204. #define MIN_INITSEARCHTABLE 1
  205. #define MAX_INITSEARCHTABLE 2048
  206. #define DEF_OPENSEARCH 2048
  207. #define MIN_OPENSEARCH 1
  208. #define MAX_OPENSEARCH 2048
  209. #define ABSOLUTE_MAX_SEARCH_TABLE_SIZE 2048 // Limited by index bits
  210. #define DEF_MAXGLOBALOPENSEARCH 4096
  211. #define MIN_MAXGLOBALOPENSEARCH 1
  212. #define MAX_MAXGLOBALOPENSEARCH 0xFFFFFFFF
  213. #define DEF_INITCOMMTABLE 4
  214. #define MIN_INITCOMMTABLE 1
  215. #define MAX_INITCOMMTABLE 32
  216. #define DEF_CHDEVS 32
  217. #define MIN_CHDEVS 1
  218. #define MAX_CHDEVS 32
  219. #define ABSOLUTE_MAX_COMM_DEVICE_TABLE_SIZE 32
  220. //
  221. // Core search timeouts. The first is for active core searches, the second
  222. // is for core searches where we have returned STATUS_NO_MORE_FILES. The
  223. // second should be shorter, as these are presumably complete. All values
  224. // are specified in seconds.
  225. //
  226. #define DEF_MAXKEEPSEARCH (60 * 60)
  227. #define MIN_MAXKEEPSEARCH 10
  228. #define MAX_MAXKEEPSEARCH 10000
  229. //
  230. // *** These 3 parameters are no longer used.
  231. //
  232. #define DEF_MINKEEPSEARCH (60 * 8)
  233. #define MIN_MINKEEPSEARCH 5
  234. #define MAX_MINKEEPSEARCH 5000
  235. #define DEF_MAXKEEPCOMPLSEARCH (60 * 10)
  236. #define MIN_MAXKEEPCOMPLSEARCH 2
  237. #define MAX_MAXKEEPCOMPLSEARCH 10000
  238. #define DEF_MINKEEPCOMPLSEARCH (60 * 4)
  239. #define MIN_MINKEEPCOMPLSEARCH 1
  240. #define MAX_MINKEEPCOMPLSEARCH 1000
  241. //
  242. // SrvWorkerThreadCountAdd is added to the system CPU count to determine
  243. // how many worker threads the server will have.
  244. //
  245. // *** THIS PARAMETER IS NO LONGER USED!
  246. //
  247. #define DEF_THREADCOUNTADD 2
  248. #define MIN_THREADCOUNTADD 0
  249. #define MAX_THREADCOUNTADD 10
  250. //
  251. // SrvBlockingThreadCount is the number of blocking threads that get
  252. // started at server initialization.
  253. //
  254. // *** THIS PARAMETER IS NO LONGER USED!
  255. //
  256. #define DEF_NUMBLOCKTHREADS 2
  257. #define MIN_NUMBLOCKTHREADS 1
  258. #define MAX_NUMBLOCKTHREADS 10
  259. //
  260. // This is the maximum number of threads for each server queue per processor
  261. //
  262. #define DEF_MAXTHREADSPERQUEUE 10
  263. #define MIN_MAXTHREADSPERQUEUE 1
  264. #define MAX_MAXTHREADSPERQUEUE 65535
  265. //
  266. // If a server worker thread remains idle for this many seconds, it will terminate
  267. //
  268. #define DEF_IDLETHREADTIMEOUT 30
  269. #define MIN_IDLETHREADTIMEOUT 1
  270. #define MAX_IDLETHREADTIMEOUT 65535
  271. //
  272. // Scavenger thread idle wait time.
  273. //
  274. #define DEF_SCAVTIMEOUT 30
  275. #define MIN_SCAVTIMEOUT 1
  276. #define MAX_SCAVTIMEOUT 300
  277. //
  278. // The server periodically recomputes the average work queue depth.
  279. // This is how often the recomputation is done (in secs)
  280. //
  281. #define DEF_QUEUESAMPLESECS 5
  282. #define MIN_QUEUESAMPLESECS 1
  283. #define MAX_QUEUESAMPLESECS 65535
  284. //
  285. // For multiprocessor systems, the server tries to dynamically
  286. // balance the workload over the processors in the system. The
  287. // processor handling the client's dpc's is known as the preferred
  288. // processor for this client. The server looks at the average work
  289. // queue depth for each of the processors in the system. If the
  290. // client is currently on the preferred processor, but some other
  291. // processor's average work queue length + current queue length is
  292. // OTHERQUEUEAFFINITY shorter, then the client is reassigned to
  293. // that processor
  294. //
  295. #define DEF_OTHERQUEUEAFFINITY 3
  296. #define MIN_OTHERQUEUEAFFINITY 1
  297. #define MAX_OTHERQUEUEAFFINITY 65535
  298. // For 4+ proc machines, there is huge gains in a connection staying
  299. // on the preferred processor. As such, we only want to leave in really
  300. // bad cases
  301. #define DEF_ADS_OTHERQUEUEAFFINITY 12
  302. //
  303. // If the client is not currently its preferred processor, but the
  304. // preferred processor's average work queue length + current queue
  305. // length is no more than PREFERREDAFFINITY items longer, then this
  306. // client is reassigned to its preferred processor
  307. //
  308. #define DEF_PREFERREDAFFINITY 1
  309. #define MIN_PREFERREDAFFINITY 0
  310. #define MAX_PREFERREDAFFINITY 65535
  311. //
  312. // Each client looks at the other processor queues every BALANCECOUNT
  313. // operations to see if it would be better served by a different
  314. // processor
  315. //
  316. #define DEF_BALANCECOUNT 1500
  317. #define MIN_BALANCECOUNT 10
  318. #define MAX_BALANCECOUNT 65535
  319. //
  320. // If a client is not currently assigned to its preferred processor, we've
  321. // found that cpu utilization can drop if server responses are sent from the
  322. // client's preferred processor (most certainly because transport data is not
  323. // sloshed between cpus). Unfortunately this can adversely affect throughput
  324. // by a couple of percentage points on some platforms. This setting affects
  325. // whether these responses are requeued to the preferred processor.
  326. //
  327. // OBSOLETE!
  328. //
  329. #define DEF_SENDSFROMPREFERREDPROCESSOR TRUE
  330. //
  331. // Does the server support compressed data transfers?
  332. //
  333. #define DEF_ENABLECOMPRESSION FALSE
  334. //
  335. // If an NTAS, should the server automatically create the drive$ shares?
  336. //
  337. #define DEF_AUTOSHARESERVER TRUE
  338. //
  339. // If a workstation, should the server automaticaly create the drive$ shares?
  340. //
  341. #define DEF_AUTOSHAREWKS TRUE
  342. //
  343. // Should security signatures be enabled?
  344. //
  345. #define DEF_ENABLESECURITYSIGNATURE FALSE
  346. //
  347. // Should security signatures be required?
  348. //
  349. #define DEF_REQUIRESECURITYSIGNATURE FALSE
  350. //
  351. // Should security signatures be enabled for W9x clients?
  352. // This is here because there is a bug in W95 and some W98 vredir.vxd
  353. // versions that cause them to improperly sign.
  354. //
  355. #define DEF_ENABLEW9XSECURITYSIGNATURE TRUE
  356. //
  357. // Should we enforce reauthentication on kerberos tickets (perhaps causing Win2K clients to be
  358. // disconnected since they don't do dynamic reauth)
  359. //
  360. #define DEF_ENFORCEKERBEROSREAUTHENTICATION FALSE
  361. //
  362. // Should we disable the Denial-of-Service checking
  363. //
  364. #define DEF_DISABLEDOS FALSE
  365. //
  366. // What is the minimum amount of disk space necessary to generate a "low disk space" warning event
  367. //
  368. #define DEF_LOWDISKSPACEMINIMUM 400
  369. #define MIN_LOWDISKSPACEMINIMUM 0
  370. #define MAX_LOWDISKSPACEMINIMUM 0xFFFFFFFF
  371. //
  372. // Should we do strict name checking
  373. //
  374. #define DEF_DISABLESTRICTNAMECHECKING FALSE
  375. //
  376. // Various information variables for the server.
  377. //
  378. #define DEF_MAXMPXCT 50
  379. #define MIN_MAXMPXCT 1
  380. #define MAX_MAXMPXCT 65535 // We will only send 125 to W9X clients
  381. //
  382. // Time server waits for an an oplock to break before failing an open
  383. // request
  384. //
  385. #define DEF_OPLOCKBREAKWAIT 35
  386. #define MIN_OPLOCKBREAKWAIT 10
  387. #define MAX_OPLOCKBREAKWAIT 180
  388. //
  389. // Time server waits for an oplock break response.
  390. //
  391. #define DEF_OPLOCKBREAKRESPONSEWAIT 35
  392. #define MIN_OPLOCKBREAKRESPONSEWAIT 10
  393. #define MAX_OPLOCKBREAKRESPONSEWAIT 180
  394. //
  395. // This is supposed to indicate how many virtual connections are allowed
  396. // between this server and client machines. It should always be set to
  397. // one, though more VCs can be established. This duplicates the LM 2.0
  398. // server's behavior.
  399. //
  400. #define DEF_SESSVCS 1
  401. #define MIN_SESSVCS 1
  402. #define MAX_SESSVCS 1
  403. //
  404. // Receive work item thresholds
  405. //
  406. //
  407. // The minimum desirable number of free receive workitems
  408. //
  409. #define DEF_MINRCVQUEUE 2
  410. #define MIN_MINRCVQUEUE 0
  411. #define MAX_MINRCVQUEUE 10
  412. //
  413. // The minimum number of free receive work items available before
  414. // the server will start processing a potentially blocking SMB.
  415. //
  416. #define DEF_MINFREEWORKITEMS 2
  417. #define MIN_MINFREEWORKITEMS 0
  418. #define MAX_MINFREEWORKITEMS 10
  419. //
  420. // The maximum amount of time an "extra" work item can be idle before it
  421. // is freed back to the system.
  422. //
  423. #define DEF_MAXWORKITEMIDLETIME 30 // seconds
  424. #define MIN_MAXWORKITEMIDLETIME 10
  425. #define MAX_MAXWORKITEMIDLETIME 1800
  426. //
  427. // Size of the shared memory section used for communication between the
  428. // server and XACTSRV.
  429. //
  430. #define DEF_XACTMEMSIZE 0x100000 // 1 MB
  431. #define MIN_XACTMEMSIZE 0x10000 // 64k
  432. #define MAX_XACTMEMSIZE 0x1000000 // 16 MB
  433. //
  434. // Priority of server FSP threads. Specified relative to the base
  435. // priority of the process. Valid values are between -2 and 2, or 15.
  436. //
  437. #define DEF_THREADPRIORITY 1
  438. #define MIN_THREADPRIORITY 0
  439. #define MAX_THREADPRIORITY THREAD_BASE_PRIORITY_LOWRT
  440. //
  441. // Limits on server memory usage.
  442. //
  443. #define DEF_MAXPAGEDMEMORYUSAGE 0xFFFFFFFF
  444. #define MIN_MAXPAGEDMEMORYUSAGE 0x100000 // 1MB
  445. #define MAX_MAXPAGEDMEMORYUSAGE 0xFFFFFFFF
  446. #define DEF_MAXNONPAGEDMEMORYUSAGE 0xFFFFFFFF
  447. #define MIN_MAXNONPAGEDMEMORYUSAGE 0x100000 // 1MB
  448. #define MAX_MAXNONPAGEDMEMORYUSAGE 0xFFFFFFFF
  449. //
  450. // The server keeps a small list of free RFCB structures to avoid hitting
  451. // the heap. This is the number in that list, per processor
  452. //
  453. #define DEF_MAXFREERFCBS 20
  454. #define MIN_MAXFREERFCBS 0
  455. #define MAX_MAXFREERFCBS 65535
  456. //
  457. // The server keeps a small list of free MFCB structures to avoid hitting
  458. // the heap. This is the number in that list, per processor
  459. //
  460. #define DEF_MAXFREEMFCBS 20
  461. #define MIN_MAXFREEMFCBS 0
  462. #define MAX_MAXFREEMFCBS 65535
  463. //
  464. // The server keeps a small list of free LFCB structures to avoid hitting
  465. // the heap. This is the number in that list, per processor
  466. //
  467. #define DEF_MAXFREELFCBS 20
  468. #define MIN_MAXFREELFCBS 0
  469. #define MAX_MAXFREELFCBS 65535
  470. //
  471. // The server keeps a small list of freed pool memory chunks to avoid hitting
  472. // the heap. This is the number in that list, per processor
  473. //
  474. #define DEF_MAXFREEPAGEDPOOLCHUNKS 50
  475. #define MIN_MAXFREEPAGEDPOOLCHUNKS 0
  476. #define MAX_MAXFREEPAGEDPOOLCHUNKS 65535
  477. //
  478. // The chunks that are kept in the free pool list must be at least this size:
  479. //
  480. #define DEF_MINPAGEDPOOLCHUNKSIZE 128
  481. #define MIN_MINPAGEDPOOLCHUNKSIZE 0
  482. #define MAX_MINPAGEDPOOLCHUNKSIZE 65535
  483. //
  484. // The chunks must be no larger than this
  485. //
  486. #define DEF_MAXPAGEDPOOLCHUNKSIZE 512
  487. #define MIN_MAXPAGEDPOOLCHUNKSIZE 0
  488. #define MAX_MAXPAGEDPOOLCHUNKSIZE 65535
  489. //
  490. // Alert information
  491. //
  492. #define DEF_ALERTSCHEDULE 5 // 5 minutes
  493. #define MIN_ALERTSCHEDULE 1
  494. #define MAX_ALERTSCHEDULE 65535
  495. #define DEF_ERRORTHRESHOLD 10 // 10 errors
  496. #define MIN_ERRORTHRESHOLD 1
  497. #define MAX_ERRORTHRESHOLD 65535
  498. #define DEF_NETWORKERRORTHRESHOLD 5 // 5% errors
  499. #define MIN_NETWORKERRORTHRESHOLD 1
  500. #define MAX_NETWORKERRORTHRESHOLD 100
  501. #define DEF_DISKSPACETHRESHOLD 10 // 10% free disk space
  502. #define MIN_DISKSPACETHRESHOLD 0
  503. #define MAX_DISKSPACETHRESHOLD 99
  504. //
  505. // Link speed parameters
  506. //
  507. #define DEF_MAXLINKDELAY 60 // seconds
  508. #define MIN_MAXLINKDELAY 0
  509. #define MAX_MAXLINKDELAY 0x100000
  510. #define DEF_MINLINKTHROUGHPUT 0 // bytes per second
  511. #define MIN_MINLINKTHROUGHPUT 0
  512. #define MAX_MINLINKTHROUGHPUT 0xFFFFFFFF
  513. #define DEF_LINKINFOVALIDTIME 60 // seconds
  514. #define MIN_LINKINFOVALIDTIME 0
  515. #define MAX_LINKINFOVALIDTIME 0x100000
  516. #define DEF_SCAVQOSINFOUPDATETIME 300 // seconds
  517. #define MIN_SCAVQOSINFOUPDATETIME 0
  518. #define MAX_SCAVQOSINFOUPDATETIME 0x100000
  519. //
  520. // Sharing violation retry delays/count
  521. //
  522. #define DEF_SHARINGVIOLATIONRETRIES 5 // number of retries
  523. #define MIN_SHARINGVIOLATIONRETRIES 0
  524. #define MAX_SHARINGVIOLATIONRETRIES 1000
  525. #define DEF_SHARINGVIOLATIONDELAY 200 // milliseconds
  526. #define MIN_SHARINGVIOLATIONDELAY 0
  527. #define MAX_SHARINGVIOLATIONDELAY 1000
  528. //
  529. // Lock violation delay
  530. //
  531. #define DEF_LOCKVIOLATIONDELAY 250 // milliseconds
  532. #define MIN_LOCKVIOLATIONDELAY 0
  533. #define MAX_LOCKVIOLATIONDELAY 1000
  534. #define DEF_LOCKVIOLATIONOFFSET 0xEF000000
  535. #define MIN_LOCKVIOLATIONOFFSET 0
  536. #define MAX_LOCKVIOLATIONOFFSET 0xFFFFFFFF
  537. //
  538. // length to switchover to mdl reads
  539. //
  540. #define DEF_MDLREADSWITCHOVER 1024
  541. #define MIN_MDLREADSWITCHOVER 512
  542. #define MAX_MDLREADSWITCHOVER 65535
  543. //
  544. // Number of closed RFCBs that can be cached
  545. //
  546. #define DEF_CACHEDOPENLIMIT 10
  547. #define MIN_CACHEDOPENLIMIT 0
  548. #define MAX_CACHEDOPENLIMIT 65535
  549. //
  550. // Number of directory names to cache for quick checkpath calls
  551. //
  552. #define DEF_CACHEDDIRECTORYLIMIT 5
  553. #define MIN_CACHEDDIRECTORYLIMIT 0
  554. #define MAX_CACHEDDIRECTORYLIMIT 65535
  555. //
  556. // Max length for a copy buffer operation, as opposed to taking the
  557. // NDIS buffer in total.
  558. //
  559. #define DEF_MAXCOPYLENGTH 512
  560. #define MIN_MAXCOPYLENGTH 40
  561. #define MAX_MAXCOPYLENGTH 65535
  562. //
  563. // *** Change the following defines to limit WinNT (vs. NTAS) parameters.
  564. //
  565. // *** If you make a change here, you need to make the same change in
  566. // srv\srvconfg.h!
  567. #define MAX_USERS_WKSTA 10
  568. #define MAX_USERS_PERSONAL 5
  569. #define MAX_USERS_WEB_BLADE 10
  570. #define MAX_USERS_EMBEDDED 10
  571. #define MAX_MAXWORKITEMS_EMBEDDED 256
  572. #define MAX_THREADS_EMBEDDED 5
  573. #define DEF_MAXMPXCT_EMBEDDED 16
  574. #define MAX_MAXWORKITEMS_WKSTA 64
  575. #define MAX_THREADS_WKSTA 5
  576. #define DEF_MAXMPXCT_WKSTA 10 // since there are fewer workitems on a wksta
  577. #endif // ifndef _SRVCONFG_