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.

730 lines
18 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 100 // arbitrary
  167. #define DEF_MINFREECONNECTIONS 2
  168. #define MIN_MINFREECONNECTIONS 2
  169. #define MAX_MINFREECONNECTIONS 32 // 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. //
  299. // If the client is not currently its preferred processor, but the
  300. // preferred processor's average work queue length + current queue
  301. // length is no more than PREFERREDAFFINITY items longer, then this
  302. // client is reassigned to its preferred processor
  303. //
  304. #define DEF_PREFERREDAFFINITY 1
  305. #define MIN_PREFERREDAFFINITY 0
  306. #define MAX_PREFERREDAFFINITY 65535
  307. //
  308. // Each client looks at the other processor queues every BALANCECOUNT
  309. // operations to see if it would be better served by a different
  310. // processor
  311. //
  312. #define DEF_BALANCECOUNT 1500
  313. #define MIN_BALANCECOUNT 10
  314. #define MAX_BALANCECOUNT 65535
  315. //
  316. // If a client is not currently assigned to its preferred processor, we've
  317. // found that cpu utilization can drop if server responses are sent from the
  318. // client's preferred processor (most certainly because transport data is not
  319. // sloshed between cpus). Unfortunately this can adversely affect throughput
  320. // by a couple of percentage points on some platforms. This setting affects
  321. // whether these responses are requeued to the preferred processor.
  322. //
  323. // OBSOLETE!
  324. //
  325. #define DEF_SENDSFROMPREFERREDPROCESSOR TRUE
  326. //
  327. // Does the server support compressed data transfers?
  328. //
  329. #define DEF_ENABLECOMPRESSION FALSE
  330. //
  331. // If an NTAS, should the server automatically create the drive$ shares?
  332. //
  333. #define DEF_AUTOSHARESERVER TRUE
  334. //
  335. // If a workstation, should the server automaticaly create the drive$ shares?
  336. //
  337. #define DEF_AUTOSHAREWKS TRUE
  338. //
  339. // Should security signatures be enabled?
  340. //
  341. #define DEF_ENABLESECURITYSIGNATURE FALSE
  342. //
  343. // Should security signatures be required?
  344. //
  345. #define DEF_REQUIRESECURITYSIGNATURE FALSE
  346. //
  347. // Should security signatures be enabled for W9x clients?
  348. // This is here because there is a bug in W95 and some W98 vredir.vxd
  349. // versions that cause them to improperly sign.
  350. //
  351. #define DEF_ENABLEW9XSECURITYSIGNATURE TRUE
  352. //
  353. // Should we enforce reauthentication on kerberos tickets (perhaps causing Win2K clients to be
  354. // disconnected since they don't do dynamic reauth)
  355. //
  356. #define DEF_ENFORCEKERBEROSREAUTHENTICATION FALSE
  357. //
  358. // Should we disable the Denial-of-Service checking
  359. //
  360. #define DEF_DISABLEDOS FALSE
  361. //
  362. // What is the minimum amount of disk space necessary to generate a "low disk space" warning event
  363. //
  364. #define DEF_LOWDISKSPACEMINIMUM 400
  365. #define MIN_LOWDISKSPACEMINIMUM 0
  366. #define MAX_LOWDISKSPACEMINIMUM 0xFFFFFFFF
  367. //
  368. // Should we do strict name checking
  369. //
  370. #define DEF_DISABLESTRICTNAMECHECKING FALSE
  371. //
  372. // Various information variables for the server.
  373. //
  374. #define DEF_MAXMPXCT 50
  375. #define MIN_MAXMPXCT 1
  376. #define MAX_MAXMPXCT 65535 // We will only send 125 to W9X clients
  377. //
  378. // Time server waits for an an oplock to break before failing an open
  379. // request
  380. //
  381. #define DEF_OPLOCKBREAKWAIT 35
  382. #define MIN_OPLOCKBREAKWAIT 10
  383. #define MAX_OPLOCKBREAKWAIT 180
  384. //
  385. // Time server waits for an oplock break response.
  386. //
  387. #define DEF_OPLOCKBREAKRESPONSEWAIT 35
  388. #define MIN_OPLOCKBREAKRESPONSEWAIT 10
  389. #define MAX_OPLOCKBREAKRESPONSEWAIT 180
  390. //
  391. // This is supposed to indicate how many virtual connections are allowed
  392. // between this server and client machines. It should always be set to
  393. // one, though more VCs can be established. This duplicates the LM 2.0
  394. // server's behavior.
  395. //
  396. #define DEF_SESSVCS 1
  397. #define MIN_SESSVCS 1
  398. #define MAX_SESSVCS 1
  399. //
  400. // Receive work item thresholds
  401. //
  402. //
  403. // The minimum desirable number of free receive workitems
  404. //
  405. #define DEF_MINRCVQUEUE 2
  406. #define MIN_MINRCVQUEUE 0
  407. #define MAX_MINRCVQUEUE 10
  408. //
  409. // The minimum number of free receive work items available before
  410. // the server will start processing a potentially blocking SMB.
  411. //
  412. #define DEF_MINFREEWORKITEMS 2
  413. #define MIN_MINFREEWORKITEMS 0
  414. #define MAX_MINFREEWORKITEMS 10
  415. //
  416. // The maximum amount of time an "extra" work item can be idle before it
  417. // is freed back to the system.
  418. //
  419. #define DEF_MAXWORKITEMIDLETIME 30 // seconds
  420. #define MIN_MAXWORKITEMIDLETIME 10
  421. #define MAX_MAXWORKITEMIDLETIME 1800
  422. //
  423. // Size of the shared memory section used for communication between the
  424. // server and XACTSRV.
  425. //
  426. #define DEF_XACTMEMSIZE 0x100000 // 1 MB
  427. #define MIN_XACTMEMSIZE 0x10000 // 64k
  428. #define MAX_XACTMEMSIZE 0x1000000 // 16 MB
  429. //
  430. // Priority of server FSP threads. Specified relative to the base
  431. // priority of the process. Valid values are between -2 and 2, or 15.
  432. //
  433. #define DEF_THREADPRIORITY 1
  434. #define MIN_THREADPRIORITY 0
  435. #define MAX_THREADPRIORITY THREAD_BASE_PRIORITY_LOWRT
  436. //
  437. // Limits on server memory usage.
  438. //
  439. #define DEF_MAXPAGEDMEMORYUSAGE 0xFFFFFFFF
  440. #define MIN_MAXPAGEDMEMORYUSAGE 0x100000 // 1MB
  441. #define MAX_MAXPAGEDMEMORYUSAGE 0xFFFFFFFF
  442. #define DEF_MAXNONPAGEDMEMORYUSAGE 0xFFFFFFFF
  443. #define MIN_MAXNONPAGEDMEMORYUSAGE 0x100000 // 1MB
  444. #define MAX_MAXNONPAGEDMEMORYUSAGE 0xFFFFFFFF
  445. //
  446. // The server keeps a small list of free RFCB structures to avoid hitting
  447. // the heap. This is the number in that list, per processor
  448. //
  449. #define DEF_MAXFREERFCBS 20
  450. #define MIN_MAXFREERFCBS 0
  451. #define MAX_MAXFREERFCBS 65535
  452. //
  453. // The server keeps a small list of free MFCB structures to avoid hitting
  454. // the heap. This is the number in that list, per processor
  455. //
  456. #define DEF_MAXFREEMFCBS 20
  457. #define MIN_MAXFREEMFCBS 0
  458. #define MAX_MAXFREEMFCBS 65535
  459. //
  460. // The server keeps a small list of free LFCB structures to avoid hitting
  461. // the heap. This is the number in that list, per processor
  462. //
  463. #define DEF_MAXFREELFCBS 20
  464. #define MIN_MAXFREELFCBS 0
  465. #define MAX_MAXFREELFCBS 65535
  466. //
  467. // The server keeps a small list of freed pool memory chunks to avoid hitting
  468. // the heap. This is the number in that list, per processor
  469. //
  470. #define DEF_MAXFREEPAGEDPOOLCHUNKS 50
  471. #define MIN_MAXFREEPAGEDPOOLCHUNKS 0
  472. #define MAX_MAXFREEPAGEDPOOLCHUNKS 65535
  473. //
  474. // The chunks that are kept in the free pool list must be at least this size:
  475. //
  476. #define DEF_MINPAGEDPOOLCHUNKSIZE 128
  477. #define MIN_MINPAGEDPOOLCHUNKSIZE 0
  478. #define MAX_MINPAGEDPOOLCHUNKSIZE 65535
  479. //
  480. // The chunks must be no larger than this
  481. //
  482. #define DEF_MAXPAGEDPOOLCHUNKSIZE 512
  483. #define MIN_MAXPAGEDPOOLCHUNKSIZE 0
  484. #define MAX_MAXPAGEDPOOLCHUNKSIZE 65535
  485. //
  486. // Alert information
  487. //
  488. #define DEF_ALERTSCHEDULE 5 // 5 minutes
  489. #define MIN_ALERTSCHEDULE 1
  490. #define MAX_ALERTSCHEDULE 65535
  491. #define DEF_ERRORTHRESHOLD 10 // 10 errors
  492. #define MIN_ERRORTHRESHOLD 1
  493. #define MAX_ERRORTHRESHOLD 65535
  494. #define DEF_NETWORKERRORTHRESHOLD 5 // 5% errors
  495. #define MIN_NETWORKERRORTHRESHOLD 1
  496. #define MAX_NETWORKERRORTHRESHOLD 100
  497. #define DEF_DISKSPACETHRESHOLD 10 // 10% free disk space
  498. #define MIN_DISKSPACETHRESHOLD 0
  499. #define MAX_DISKSPACETHRESHOLD 99
  500. //
  501. // Link speed parameters
  502. //
  503. #define DEF_MAXLINKDELAY 60 // seconds
  504. #define MIN_MAXLINKDELAY 0
  505. #define MAX_MAXLINKDELAY 0x100000
  506. #define DEF_MINLINKTHROUGHPUT 0 // bytes per second
  507. #define MIN_MINLINKTHROUGHPUT 0
  508. #define MAX_MINLINKTHROUGHPUT 0xFFFFFFFF
  509. #define DEF_LINKINFOVALIDTIME 60 // seconds
  510. #define MIN_LINKINFOVALIDTIME 0
  511. #define MAX_LINKINFOVALIDTIME 0x100000
  512. #define DEF_SCAVQOSINFOUPDATETIME 300 // seconds
  513. #define MIN_SCAVQOSINFOUPDATETIME 0
  514. #define MAX_SCAVQOSINFOUPDATETIME 0x100000
  515. //
  516. // Sharing violation retry delays/count
  517. //
  518. #define DEF_SHARINGVIOLATIONRETRIES 5 // number of retries
  519. #define MIN_SHARINGVIOLATIONRETRIES 0
  520. #define MAX_SHARINGVIOLATIONRETRIES 1000
  521. #define DEF_SHARINGVIOLATIONDELAY 200 // milliseconds
  522. #define MIN_SHARINGVIOLATIONDELAY 0
  523. #define MAX_SHARINGVIOLATIONDELAY 1000
  524. //
  525. // Lock violation delay
  526. //
  527. #define DEF_LOCKVIOLATIONDELAY 250 // milliseconds
  528. #define MIN_LOCKVIOLATIONDELAY 0
  529. #define MAX_LOCKVIOLATIONDELAY 1000
  530. #define DEF_LOCKVIOLATIONOFFSET 0xEF000000
  531. #define MIN_LOCKVIOLATIONOFFSET 0
  532. #define MAX_LOCKVIOLATIONOFFSET 0xFFFFFFFF
  533. //
  534. // length to switchover to mdl reads
  535. //
  536. #define DEF_MDLREADSWITCHOVER 1024
  537. #define MIN_MDLREADSWITCHOVER 512
  538. #define MAX_MDLREADSWITCHOVER 65535
  539. //
  540. // Number of closed RFCBs that can be cached
  541. //
  542. #define DEF_CACHEDOPENLIMIT 10
  543. #define MIN_CACHEDOPENLIMIT 0
  544. #define MAX_CACHEDOPENLIMIT 65535
  545. //
  546. // Number of directory names to cache for quick checkpath calls
  547. //
  548. #define DEF_CACHEDDIRECTORYLIMIT 5
  549. #define MIN_CACHEDDIRECTORYLIMIT 0
  550. #define MAX_CACHEDDIRECTORYLIMIT 65535
  551. //
  552. // Max length for a copy buffer operation, as opposed to taking the
  553. // NDIS buffer in total.
  554. //
  555. #define DEF_MAXCOPYLENGTH 512
  556. #define MIN_MAXCOPYLENGTH 40
  557. #define MAX_MAXCOPYLENGTH 65535
  558. //
  559. // *** Change the following defines to limit WinNT (vs. NTAS) parameters.
  560. //
  561. // *** If you make a change here, you need to make the same change in
  562. // srv\srvconfg.h!
  563. #define MAX_USERS_WKSTA 10
  564. #define MAX_USERS_PERSONAL 5
  565. #define MAX_USERS_WEB_BLADE 10
  566. #define MAX_USERS_EMBEDDED 10
  567. #define MAX_MAXWORKITEMS_EMBEDDED 256
  568. #define MAX_THREADS_EMBEDDED 5
  569. #define DEF_MAXMPXCT_EMBEDDED 16
  570. #define MAX_MAXWORKITEMS_WKSTA 64
  571. #define MAX_THREADS_WKSTA 5
  572. #define DEF_MAXMPXCT_WKSTA 10 // since there are fewer workitems on a wksta
  573. #endif // ifndef _SRVCONFG_