home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / WIN_NT / LMAPI.ZIP / H / LMSERVER.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-07  |  31.8 KB  |  868 lines

  1. /*
  2.  
  3. Copyright (c) 1990-1993  Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     lmserver.h
  8.  
  9. Abstract:
  10.  
  11.     This file contains information about NetServer APIs.
  12.         Function Prototypes
  13.         Data Structures
  14.         Definition of special values
  15.  
  16. Notes:
  17.  
  18.     You must include NETCONS.H before this file, since this file depends
  19.     on values defined in NETCONS.H.
  20.  
  21. --*/
  22.  
  23. #ifndef _LMSERVER_
  24. #define _LMSERVER_
  25.  
  26.  
  27. //
  28. // Function Prototypes - SERVER
  29. //
  30.  
  31. NET_API_STATUS NET_API_FUNCTION
  32. NetServerEnum (
  33.     IN  LPTSTR      servername OPTIONAL,
  34.     IN  DWORD       level,
  35.     OUT LPBYTE      *bufptr,
  36.     IN  DWORD       prefmaxlen,
  37.     OUT LPDWORD     entriesread,
  38.     OUT LPDWORD     totalentries,
  39.     IN  DWORD       servertype,
  40.     IN  LPTSTR      domain OPTIONAL,
  41.     IN OUT LPDWORD  resume_handle OPTIONAL
  42.     );
  43.  
  44. NET_API_STATUS NET_API_FUNCTION
  45. NetServerGetInfo (
  46.     IN  LPTSTR  servername OPTIONAL,
  47.     IN  DWORD   level,
  48.     OUT LPBYTE  *bufptr
  49.     );
  50.  
  51. NET_API_STATUS NET_API_FUNCTION
  52. NetServerSetInfo (
  53.     IN  LPTSTR  servername OPTIONAL,
  54.     IN  DWORD   level,
  55.     IN  LPBYTE  buf,
  56.     OUT LPDWORD ParmError OPTIONAL
  57.     );
  58.  
  59. NET_API_STATUS
  60. NetServerSetInfoCommandLine (
  61.     IN WORD argc,
  62.     IN LPTSTR argv[]
  63.     );
  64.  
  65. NET_API_STATUS NET_API_FUNCTION
  66. NetServerDiskEnum (
  67.     IN  LPTSTR      servername OPTIONAL,
  68.     IN  DWORD       level,
  69.     OUT LPBYTE      *bufptr,
  70.     IN  DWORD       prefmaxlen,
  71.     OUT LPDWORD     entriesread,
  72.     OUT LPDWORD     totalentries,
  73.     IN OUT LPDWORD  resume_handle OPTIONAL
  74.     );
  75.  
  76. NET_API_STATUS NET_API_FUNCTION
  77. NetServerTransportAdd (
  78.     IN  LPTSTR  servername,
  79.     IN  DWORD   level,
  80.     IN  LPBYTE  bufptr
  81.     );
  82.  
  83. NET_API_STATUS NET_API_FUNCTION
  84. NetServerTransportDel (
  85.     IN  LPTSTR  servername,
  86.     IN  DWORD   level,
  87.     IN  LPBYTE  bufptr
  88.     );
  89.  
  90. NET_API_STATUS NET_API_FUNCTION
  91. NetServerTransportEnum (
  92.     IN  LPTSTR      servername,
  93.     IN  DWORD       level,
  94.     OUT LPBYTE      *bufptr,
  95.     IN  DWORD       prefmaxlen,
  96.     OUT LPDWORD     entriesread,
  97.     OUT LPDWORD     totalentries,
  98.     IN OUT LPDWORD  resumehandle
  99.     );
  100.  
  101. //
  102. // Data Structures - SERVER
  103. //
  104.  
  105. typedef struct _SERVER_INFO_100 {
  106.     DWORD           sv100_platform_id;
  107.     LPTSTR          sv100_name;
  108. } SERVER_INFO_100, *PSERVER_INFO_100, *LPSERVER_INFO_100;
  109.  
  110. typedef struct _SERVER_INFO_101 {
  111.     DWORD           sv101_platform_id;
  112.     LPTSTR          sv101_name;
  113.     DWORD           sv101_version_major;
  114.     DWORD           sv101_version_minor;
  115.     DWORD           sv101_type;
  116.     LPTSTR          sv101_comment;
  117. } SERVER_INFO_101, *PSERVER_INFO_101, *LPSERVER_INFO_101;
  118.  
  119. typedef struct _SERVER_INFO_102 {
  120.      DWORD          sv102_platform_id;
  121.      LPTSTR         sv102_name;
  122.      DWORD          sv102_version_major;
  123.      DWORD          sv102_version_minor;
  124.      DWORD          sv102_type;
  125.      LPTSTR         sv102_comment;
  126.      DWORD          sv102_users;
  127.      LONG           sv102_disc;
  128.      BOOL           sv102_hidden;
  129.      DWORD          sv102_announce;
  130.      DWORD          sv102_anndelta;
  131.      DWORD          sv102_licenses;
  132.      LPTSTR         sv102_userpath;
  133. } SERVER_INFO_102, *PSERVER_INFO_102, *LPSERVER_INFO_102;
  134.  
  135. typedef struct _SERVER_INFO_402 {
  136.      DWORD          sv402_ulist_mtime;
  137.      DWORD          sv402_glist_mtime;
  138.      DWORD          sv402_alist_mtime;
  139.      LPTSTR         sv402_alerts;
  140.      DWORD          sv402_security;
  141.      DWORD          sv402_numadmin;
  142.      DWORD          sv402_lanmask;
  143.      LPTSTR         sv402_guestacct;
  144.      DWORD          sv402_chdevs;
  145.      DWORD          sv402_chdevq;
  146.      DWORD          sv402_chdevjobs;
  147.      DWORD          sv402_connections;
  148.      DWORD          sv402_shares;
  149.      DWORD          sv402_openfiles;
  150.      DWORD          sv402_sessopens;
  151.      DWORD          sv402_sessvcs;
  152.      DWORD          sv402_sessreqs;
  153.      DWORD          sv402_opensearch;
  154.      DWORD          sv402_activelocks;
  155.      DWORD          sv402_numreqbuf;
  156.      DWORD          sv402_sizreqbuf;
  157.      DWORD          sv402_numbigbuf;
  158.      DWORD          sv402_numfiletasks;
  159.      DWORD          sv402_alertsched;
  160.      DWORD          sv402_erroralert;
  161.      DWORD          sv402_logonalert;
  162.      DWORD          sv402_accessalert;
  163.      DWORD          sv402_diskalert;
  164.      DWORD          sv402_netioalert;
  165.      DWORD          sv402_maxauditsz;
  166.      LPTSTR         sv402_srvheuristics;
  167. } SERVER_INFO_402, *PSERVER_INFO_402, *LPSERVER_INFO_402;
  168.  
  169. typedef struct _SERVER_INFO_403 {
  170.      DWORD          sv403_ulist_mtime;
  171.      DWORD          sv403_glist_mtime;
  172.      DWORD          sv403_alist_mtime;
  173.      LPTSTR         sv403_alerts;
  174.      DWORD          sv403_security;
  175.      DWORD          sv403_numadmin;
  176.      DWORD          sv403_lanmask;
  177.      LPTSTR         sv403_guestacct;
  178.      DWORD          sv403_chdevs;
  179.      DWORD          sv403_chdevq;
  180.      DWORD          sv403_chdevjobs;
  181.      DWORD          sv403_connections;
  182.      DWORD          sv403_shares;
  183.      DWORD          sv403_openfiles;
  184.      DWORD          sv403_sessopens;
  185.      DWORD          sv403_sessvcs;
  186.      DWORD          sv403_sessreqs;
  187.      DWORD          sv403_opensearch;
  188.      DWORD          sv403_activelocks;
  189.      DWORD          sv403_numreqbuf;
  190.      DWORD          sv403_sizreqbuf;
  191.      DWORD          sv403_numbigbuf;
  192.      DWORD          sv403_numfiletasks;
  193.      DWORD          sv403_alertsched;
  194.      DWORD          sv403_erroralert;
  195.      DWORD          sv403_logonalert;
  196.      DWORD          sv403_accessalert;
  197.      DWORD          sv403_diskalert;
  198.      DWORD          sv403_netioalert;
  199.      DWORD          sv403_maxauditsz;
  200.      LPTSTR         sv403_srvheuristics;
  201.      DWORD          sv403_auditedevents;
  202.      DWORD          sv403_autoprofile;
  203.      LPTSTR         sv403_autopath;
  204. } SERVER_INFO_403, *PSERVER_INFO_403, *LPSERVER_INFO_403;
  205.  
  206. typedef struct _SERVER_INFO_502 {
  207.     DWORD           sv502_sessopens;
  208.     DWORD           sv502_sessvcs;
  209.     DWORD           sv502_opensearch;
  210.     DWORD           sv502_sizreqbuf;
  211.     DWORD           sv502_initworkitems;
  212.     DWORD           sv502_maxworkitems;
  213.     DWORD           sv502_rawworkitems;
  214.     DWORD           sv502_irpstacksize;
  215.     DWORD           sv502_maxrawbuflen;
  216.     DWORD           sv502_sessusers;
  217.     DWORD           sv502_sessconns;
  218.     DWORD           sv502_maxpagedmemoryusage;
  219.     DWORD           sv502_maxnonpagedmemoryusage;
  220.     BOOL            sv502_enablesoftcompat;
  221.     BOOL            sv502_enableforcedlogoff;
  222.     BOOL            sv502_timesource;
  223.     BOOL            sv502_acceptdownlevelapis;
  224.     BOOL            sv502_lmannounce;
  225. } SERVER_INFO_502, *PSERVER_INFO_502, *LPSERVER_INFO_502;
  226.  
  227. typedef struct _SERVER_INFO_503 {
  228.     DWORD           sv503_sessopens;
  229.     DWORD           sv503_sessvcs;
  230.     DWORD           sv503_opensearch;
  231.     DWORD           sv503_sizreqbuf;
  232.     DWORD           sv503_initworkitems;
  233.     DWORD           sv503_maxworkitems;
  234.     DWORD           sv503_rawworkitems;
  235.     DWORD           sv503_irpstacksize;
  236.     DWORD           sv503_maxrawbuflen;
  237.     DWORD           sv503_sessusers;
  238.     DWORD           sv503_sessconns;
  239.     DWORD           sv503_maxpagedmemoryusage;
  240.     DWORD           sv503_maxnonpagedmemoryusage;
  241.     BOOL            sv503_enablesoftcompat;
  242.     BOOL            sv503_enableforcedlogoff;
  243.     BOOL            sv503_timesource;
  244.     BOOL            sv503_acceptdownlevelapis;
  245.     BOOL            sv503_lmannounce;
  246.     LPTSTR          sv503_domain;
  247.     DWORD           sv503_maxcopyreadlen;
  248.     DWORD           sv503_maxcopywritelen;
  249.     DWORD           sv503_minkeepsearch;
  250.     DWORD           sv503_maxkeepsearch;
  251.     DWORD           sv503_minkeepcomplsearch;
  252.     DWORD           sv503_maxkeepcomplsearch;
  253.     DWORD           sv503_threadcountadd;
  254.     DWORD           sv503_numblockthreads;
  255.     DWORD           sv503_scavtimeout;
  256.     DWORD           sv503_minrcvqueue;
  257.     DWORD           sv503_minfreeworkitems;
  258.     DWORD           sv503_xactmemsize;
  259.     DWORD           sv503_threadpriority;
  260.     DWORD           sv503_maxmpxct;
  261.     DWORD           sv503_oplockbreakwait;
  262.     DWORD           sv503_oplockbreakresponsewait;
  263.     BOOL            sv503_enableoplocks;
  264.     BOOL            sv503_enableoplockforceclose;
  265.     BOOL            sv503_enablefcbopens;
  266.     BOOL            sv503_enableraw;
  267.     BOOL            sv503_enabledpc;
  268.     BOOL            sv503_enablemdlio;
  269.     BOOL            sv503_enablefastio;
  270. } SERVER_INFO_503, *PSERVER_INFO_503, *LPSERVER_INFO_503;
  271.  
  272. typedef struct _SERVER_INFO_599 {
  273.     DWORD           sv599_sessopens;
  274.     DWORD           sv599_sessvcs;
  275.     DWORD           sv599_opensearch;
  276.     DWORD           sv599_sizreqbuf;
  277.     DWORD           sv599_initworkitems;
  278.     DWORD           sv599_maxworkitems;
  279.     DWORD           sv599_rawworkitems;
  280.     DWORD           sv599_irpstacksize;
  281.     DWORD           sv599_maxrawbuflen;
  282.     DWORD           sv599_sessusers;
  283.     DWORD           sv599_sessconns;
  284.     DWORD           sv599_maxpagedmemoryusage;
  285.     DWORD           sv599_maxnonpagedmemoryusage;
  286.     BOOL            sv599_enablesoftcompat;
  287.     BOOL            sv599_enableforcedlogoff;
  288.     BOOL            sv599_timesource;
  289.     BOOL            sv599_acceptdownlevelapis;
  290.     BOOL            sv599_lmannounce;
  291.     LPTSTR          sv599_domain;
  292.     DWORD           sv599_maxcopyreadlen;
  293.     DWORD           sv599_maxcopywritelen;
  294.     DWORD           sv599_minkeepsearch;
  295.     DWORD           sv599_maxkeepsearch;
  296.     DWORD           sv599_minkeepcomplsearch;
  297.     DWORD           sv599_maxkeepcomplsearch;
  298.     DWORD           sv599_threadcountadd;
  299.     DWORD           sv599_numblockthreads;
  300.     DWORD           sv599_scavtimeout;
  301.     DWORD           sv599_minrcvqueue;
  302.     DWORD           sv599_minfreeworkitems;
  303.     DWORD           sv599_xactmemsize;
  304.     DWORD           sv599_threadpriority;
  305.     DWORD           sv599_maxmpxct;
  306.     DWORD           sv599_oplockbreakwait;
  307.     DWORD           sv599_oplockbreakresponsewait;
  308.     BOOL            sv599_enableoplocks;
  309.     BOOL            sv599_enableoplockforceclose;
  310.     BOOL            sv599_enablefcbopens;
  311.     BOOL            sv599_enableraw;
  312.     BOOL            sv599_enabledpc;
  313.     BOOL            sv599_enablemdlio;
  314.     BOOL            sv599_enablefastio;
  315.     DWORD           sv599_initsesstable;
  316.     DWORD           sv599_initconntable;
  317.     DWORD           sv599_initfiletable;
  318.     DWORD           sv599_initsearchtable;
  319.     DWORD           sv599_alertschedule;
  320.     DWORD           sv599_errorthreshhold;
  321.     DWORD           sv599_networkerrorthreshhold;
  322.     DWORD           sv599_diskspacethreshhold;
  323.     DWORD           sv599_diskconfiguration;
  324.     DWORD           sv599_maxlinkdelay;
  325.     DWORD           sv599_minlinkthroughput;
  326.     DWORD           sv599_linkinfovalidtime;
  327.     DWORD           sv599_scavqosinfoupdatetime;
  328.     DWORD           sv599_maxworkitemidletime;
  329. } SERVER_INFO_599, *PSERVER_INFO_599, *LPSERVER_INFO_599;
  330.  
  331. typedef struct _SERVER_INFO_1005 {
  332.     LPTSTR          sv1005_comment;
  333. } SERVER_INFO_1005, *PSERVER_INFO_1005, *LPSERVER_INFO_1005;
  334.  
  335. typedef struct _SERVER_INFO_1107 {
  336.     DWORD           sv1107_users;
  337. } SERVER_INFO_1107, *PSERVER_INFO_1107, *LPSERVER_INFO_1107;
  338.  
  339. typedef struct _SERVER_INFO_1010 {
  340.     LONG            sv1010_disc;
  341. } SERVER_INFO_1010, *PSERVER_INFO_1010, *LPSERVER_INFO_1010;
  342.  
  343. typedef struct _SERVER_INFO_1016 {
  344.     BOOL            sv1016_hidden;
  345. } SERVER_INFO_1016, *PSERVER_INFO_1016, *LPSERVER_INFO_1016;
  346.  
  347. typedef struct _SERVER_INFO_1017 {
  348.     DWORD           sv1017_announce;
  349. } SERVER_INFO_1017, *PSERVER_INFO_1017, *LPSERVER_INFO_1017;
  350.  
  351. typedef struct _SERVER_INFO_1018 {
  352.     DWORD           sv1018_anndelta;
  353. } SERVER_INFO_1018, *PSERVER_INFO_1018, *LPSERVER_INFO_1018;
  354.  
  355. typedef struct _SERVER_INFO_1501 {
  356.     DWORD           sv1501_sessopens;
  357. } SERVER_INFO_1501, *PSERVER_INFO_1501, *LPSERVER_INFO_1501;
  358.  
  359. typedef struct _SERVER_INFO_1502 {
  360.     DWORD           sv1502_sessvcs;
  361. } SERVER_INFO_1502, *PSERVER_INFO_1502, *LPSERVER_INFO_1502;
  362.  
  363. typedef struct _SERVER_INFO_1503 {
  364.     DWORD           sv1503_opensearch;
  365. } SERVER_INFO_1503, *PSERVER_INFO_1503, *LPSERVER_INFO_1503;
  366.  
  367. typedef struct _SERVER_INFO_1506 {
  368.     DWORD           sv1506_maxworkitems;
  369. } SERVER_INFO_1506, *PSERVER_INFO_1506, *LPSERVER_INFO_1506;
  370.  
  371. typedef struct _SERVER_INFO_1509 {
  372.     DWORD           sv1509_maxrawbuflen;
  373. } SERVER_INFO_1509, *PSERVER_INFO_1509, *LPSERVER_INFO_1509;
  374.  
  375. typedef struct _SERVER_INFO_1510 {
  376.     DWORD           sv1510_sessusers;
  377. } SERVER_INFO_1510, *PSERVER_INFO_1510, *LPSERVER_INFO_1510;
  378.  
  379. typedef struct _SERVER_INFO_1511 {
  380.     DWORD           sv1511_sessconns;
  381. } SERVER_INFO_1511, *PSERVER_INFO_1511, *LPSERVER_INFO_1511;
  382.  
  383. typedef struct _SERVER_INFO_1512 {
  384.     DWORD           sv1512_maxnonpagedmemoryusage;
  385. } SERVER_INFO_1512, *PSERVER_INFO_1512, *LPSERVER_INFO_1512;
  386.  
  387. typedef struct _SERVER_INFO_1513 {
  388.     DWORD           sv1513_maxpagedmemoryusage;
  389. } SERVER_INFO_1513, *PSERVER_INFO_1513, *LPSERVER_INFO_1513;
  390.  
  391. typedef struct _SERVER_INFO_1514 {
  392.     BOOL            sv1514_enablesoftcompat;
  393. } SERVER_INFO_1514, *PSERVER_INFO_1514, *LPSERVER_INFO_1514;
  394.  
  395. typedef struct _SERVER_INFO_1515 {
  396.     BOOL            sv1515_enableforcedlogoff;
  397. } SERVER_INFO_1515, *PSERVER_INFO_1515, *LPSERVER_INFO_1515;
  398.  
  399. typedef struct _SERVER_INFO_1516 {
  400.     BOOL            sv1516_timesource;
  401. } SERVER_INFO_1516, *PSERVER_INFO_1516, *LPSERVER_INFO_1516;
  402.  
  403. typedef struct _SERVER_INFO_1518 {
  404.     BOOL            sv1518_lmannounce;
  405. } SERVER_INFO_1518, *PSERVER_INFO_1518, *LPSERVER_INFO_1518;
  406.  
  407. typedef struct _SERVER_INFO_1520 {
  408.     DWORD           sv1520_maxcopyreadlen;
  409. } SERVER_INFO_1520, *PSERVER_INFO_1520, *LPSERVER_INFO_1520;
  410.  
  411. typedef struct _SERVER_INFO_1521 {
  412.     DWORD           sv1521_maxcopywritelen;
  413. } SERVER_INFO_1521, *PSERVER_INFO_1521, *LPSERVER_INFO_1521;
  414.  
  415. typedef struct _SERVER_INFO_1522 {
  416.     DWORD           sv1522_minkeepsearch;
  417. } SERVER_INFO_1522, *PSERVER_INFO_1522, *LPSERVER_INFO_1522;
  418.  
  419. typedef struct _SERVER_INFO_1523 {
  420.     DWORD           sv1523_maxkeepsearch;
  421. } SERVER_INFO_1523, *PSERVER_INFO_1523, *LPSERVER_INFO_1523;
  422.  
  423. typedef struct _SERVER_INFO_1524 {
  424.     DWORD           sv1524_minkeepcomplsearch;
  425. } SERVER_INFO_1524, *PSERVER_INFO_1524, *LPSERVER_INFO_1524;
  426.  
  427. typedef struct _SERVER_INFO_1525 {
  428.     DWORD           sv1525_maxkeepcomplsearch;
  429. } SERVER_INFO_1525, *PSERVER_INFO_1525, *LPSERVER_INFO_1525;
  430.  
  431. typedef struct _SERVER_INFO_1528 {
  432.     DWORD           sv1528_scavtimeout;
  433. } SERVER_INFO_1528, *PSERVER_INFO_1528, *LPSERVER_INFO_1528;
  434.  
  435. typedef struct _SERVER_INFO_1529 {
  436.     DWORD           sv1529_minrcvqueue;
  437. } SERVER_INFO_1529, *PSERVER_INFO_1529, *LPSERVER_INFO_1529;
  438.  
  439. typedef struct _SERVER_INFO_1530 {
  440.     DWORD           sv1530_minfreeworkitems;
  441. } SERVER_INFO_1530, *PSERVER_INFO_1530, *LPSERVER_INFO_1530;
  442.  
  443. typedef struct _SERVER_INFO_1533 {
  444.     DWORD           sv1533_maxmpxct;
  445. } SERVER_INFO_1533, *PSERVER_INFO_1533, *LPSERVER_INFO_1533;
  446.  
  447. typedef struct _SERVER_INFO_1534 {
  448.     DWORD           sv1534_oplockbreakwait;
  449. } SERVER_INFO_1534, *PSERVER_INFO_1534, *LPSERVER_INFO_1534;
  450.  
  451. typedef struct _SERVER_INFO_1535 {
  452.     DWORD           sv1535_oplockbreakresponsewait;
  453. } SERVER_INFO_1535, *PSERVER_INFO_1535, *LPSERVER_INFO_1535;
  454.  
  455. typedef struct _SERVER_INFO_1536 {
  456.     BOOL            sv1536_enableoplocks;
  457. } SERVER_INFO_1536, *PSERVER_INFO_1536, *LPSERVER_INFO_1536;
  458.  
  459. typedef struct _SERVER_INFO_1537 {
  460.     BOOL            sv1537_enableoplockforceclose;
  461. } SERVER_INFO_1537, *PSERVER_INFO_1537, *LPSERVER_INFO_1537;
  462.  
  463. typedef struct _SERVER_INFO_1538 {
  464.     BOOL            sv1538_enablefcbopens;
  465. } SERVER_INFO_1538, *PSERVER_INFO_1538, *LPSERVER_INFO_1538;
  466.  
  467. typedef struct _SERVER_INFO_1539 {
  468.     BOOL            sv1539_enableraw;
  469. } SERVER_INFO_1539, *PSERVER_INFO_1539, *LPSERVER_INFO_1539;
  470.  
  471. typedef struct _SERVER_INFO_1540 {
  472.     BOOL            sv1540_enabledpc;
  473. } SERVER_INFO_1540, *PSERVER_INFO_1540, *LPSERVER_INFO_1540;
  474.  
  475. typedef struct _SERVER_INFO_1541 {
  476.     BOOL            sv1541_enablemdlio;
  477. } SERVER_INFO_1541, *PSERVER_INFO_1541, *LPSERVER_INFO_1541;
  478.  
  479. typedef struct _SERVER_INFO_1542 {
  480.     BOOL            sv1542_enablefastio;
  481. } SERVER_INFO_1542, *PSERVER_INFO_1542, *LPSERVER_INFO_1542;
  482.  
  483. typedef struct _SERVER_INFO_1543 {
  484.     DWORD           sv1543_initsesstable;
  485. } SERVER_INFO_1543, *PSERVER_INFO_1543, *LPSERVER_INFO_1543;
  486.  
  487. typedef struct _SERVER_INFO_1544 {
  488.     DWORD           sv1544_initconntable;
  489. } SERVER_INFO_1544, *PSERVER_INFO_1544, *LPSERVER_INFO_1544;
  490.  
  491. typedef struct _SERVER_INFO_1545 {
  492.     DWORD           sv1545_initfiletable;
  493. } SERVER_INFO_1545, *PSERVER_INFO_1545, *LPSERVER_INFO_1545;
  494.  
  495. typedef struct _SERVER_INFO_1546 {
  496.     DWORD           sv1546_initsearchtable;
  497. } SERVER_INFO_1546, *PSERVER_INFO_1546, *LPSERVER_INFO_1546;
  498.  
  499. typedef struct _SERVER_INFO_1547 {
  500.     DWORD           sv1547_alertschedule;
  501. } SERVER_INFO_1547, *PSERVER_INFO_1547, *LPSERVER_INFO_1547;
  502.  
  503. typedef struct _SERVER_INFO_1548 {
  504.     DWORD           sv1548_errorthreshhold;
  505. } SERVER_INFO_1548, *PSERVER_INFO_1548, *LPSERVER_INFO_1548;
  506.  
  507. typedef struct _SERVER_INFO_1549 {
  508.     DWORD           sv1549_networkerrorthreshhold;
  509. } SERVER_INFO_1549, *PSERVER_INFO_1549, *LPSERVER_INFO_1549;
  510.  
  511. typedef struct _SERVER_INFO_1550 {
  512.     DWORD           sv1550_diskspacethreshhold;
  513. } SERVER_INFO_1550, *PSERVER_INFO_1550, *LPSERVER_INFO_1550;
  514.  
  515. typedef struct _SERVER_INFO_1552 {
  516.     DWORD           sv1552_maxlinkdelay;
  517. } SERVER_INFO_1552, *PSERVER_INFO_1552, *LPSERVER_INFO_1552;
  518.  
  519. typedef struct _SERVER_INFO_1553 {
  520.     DWORD           sv1553_minlinkthroughput;
  521. } SERVER_INFO_1553, *PSERVER_INFO_1553, *LPSERVER_INFO_1553;
  522.  
  523. typedef struct _SERVER_INFO_1554 {
  524.     DWORD           sv1554_linkinfovalidtime;
  525. } SERVER_INFO_1554, *PSERVER_INFO_1554, *LPSERVER_INFO_1554;
  526.  
  527. typedef struct _SERVER_INFO_1555 {
  528.     DWORD           sv1555_scavqosinfoupdatetime;
  529. } SERVER_INFO_1555, *PSERVER_INFO_1555, *LPSERVER_INFO_1555;
  530.  
  531. typedef struct _SERVER_INFO_1556 {
  532.     DWORD           sv1556_maxworkitemidletime;
  533. } SERVER_INFO_1556, *PSERVER_INFO_1556, *LPSERVER_INFO_1556;
  534.  
  535. //
  536. // A special structure definition is required in order for this
  537. // structure to work with RPC.  The problem is that having addresslength
  538. // indicate the number of bytes in address means that RPC must know the
  539. // link between the two.
  540. //
  541.  
  542. #ifdef MIDL_PASS
  543.  
  544. typedef struct _SERVER_TRANSPORT_INFO_0 {
  545.     DWORD           svti0_numberofvcs;
  546.     LPTSTR          svti0_transportname;
  547.     [size_is(svti0_transportaddresslength)]  LPBYTE svti0_transportaddress;
  548.     DWORD           svti0_transportaddresslength;
  549.     LPTSTR          svti0_networkaddress;
  550. } SERVER_TRANSPORT_INFO_0, *PSERVER_TRANSPORT_INFO_0, *LPSERVER_TRANSPORT_INFO_0;
  551.  
  552. #else
  553.  
  554. typedef struct _SERVER_TRANSPORT_INFO_0 {
  555.     DWORD           svti0_numberofvcs;
  556.     LPTSTR          svti0_transportname;
  557.     LPBYTE          svti0_transportaddress;
  558.     DWORD           svti0_transportaddresslength;
  559.     LPTSTR          svti0_networkaddress;
  560. } SERVER_TRANSPORT_INFO_0, *PSERVER_TRANSPORT_INFO_0, *LPSERVER_TRANSPORT_INFO_0;
  561.  
  562. #endif
  563.  
  564. //
  565. // Defines - SERVER
  566. //
  567.  
  568. //
  569. // The platform ID indicates the levels to use for platform-specific
  570. // information.
  571. //
  572.  
  573. #define SV_PLATFORM_ID_OS2 400
  574. #define SV_PLATFORM_ID_NT  500
  575.  
  576. //
  577. //      Mask to be applied to svX_version_major in order to obtain
  578. //      the major version number.
  579. //
  580.  
  581. #define MAJOR_VERSION_MASK  0x0F
  582.  
  583. //
  584. //      Bit-mapped values for svX_type fields. X = 1, 2 or 3.
  585. //
  586.  
  587. #define SV_TYPE_WORKSTATION         0x00000001
  588. #define SV_TYPE_SERVER              0x00000002
  589. #define SV_TYPE_SQLSERVER           0x00000004
  590. #define SV_TYPE_DOMAIN_CTRL         0x00000008
  591. #define SV_TYPE_DOMAIN_BAKCTRL      0x00000010
  592. #define SV_TYPE_TIME_SOURCE         0x00000020
  593. #define SV_TYPE_AFP                 0x00000040
  594. #define SV_TYPE_NOVELL              0x00000080
  595. #define SV_TYPE_DOMAIN_MEMBER       0x00000100
  596. #define SV_TYPE_PRINTQ_SERVER       0x00000200
  597. #define SV_TYPE_DIALIN_SERVER       0x00000400
  598. #define SV_TYPE_XENIX_SERVER        0x00000800
  599. #define SV_TYPE_NT                  0x00001000
  600. #define SV_TYPE_WFW                 0x00002000
  601. #define SV_TYPE_POTENTIAL_BROWSER   0x00010000
  602. #define SV_TYPE_BACKUP_BROWSER      0x00020000
  603. #define SV_TYPE_MASTER_BROWSER      0x00040000
  604. #define SV_TYPE_DOMAIN_MASTER       0x00080000
  605. #define SV_TYPE_LOCAL_LIST_ONLY     0x40000000  /* Return local list only */
  606. #define SV_TYPE_DOMAIN_ENUM         0x80000000
  607. #define SV_TYPE_ALL                 0xFFFFFFFF  /* handy for NetServerEnum2 */
  608.  
  609. //
  610. //      Special value for sv102_disc that specifies infinite disconnect
  611. //      time.
  612. //
  613.  
  614. #define SV_NODISC           (-1L)  /* No autodisconnect timeout enforced */
  615.  
  616. //
  617. //      Values of svX_security field. X = 2 or 3.
  618. //
  619.  
  620. #define SV_USERSECURITY     1
  621. #define SV_SHARESECURITY    0
  622.  
  623. //
  624. //      Values of svX_hidden field. X = 2 or 3.
  625. //
  626.  
  627. #define SV_HIDDEN       1
  628. #define SV_VISIBLE      0
  629.  
  630. //
  631. //      Values for ParmError parameter to NetServerSetInfo.
  632. //
  633.  
  634. #define SV_PLATFORM_ID_PARMNUM          101
  635. #define SV_NAME_PARMNUM                 102
  636. #define SV_VERSION_MAJOR_PARMNUM        103
  637. #define SV_VERSION_MINOR_PARMNUM        104
  638. #define SV_TYPE_PARMNUM                 105
  639. #define SV_COMMENT_PARMNUM              5
  640. #define SV_USERS_PARMNUM                107
  641. #define SV_DISC_PARMNUM                 10
  642. #define SV_HIDDEN_PARMNUM               16
  643. #define SV_ANNOUNCE_PARMNUM             17
  644. #define SV_ANNDELTA_PARMNUM             18
  645. #define SV_USERPATH_PARMNUM             112
  646.  
  647. #define SV_ULIST_MTIME_PARMNUM          401
  648. #define SV_GLIST_MTIME_PARMNUM          402
  649. #define SV_ALIST_MTIME_PARMNUM          403
  650. #define SV_ALERTS_PARMNUM               11
  651. #define SV_SECURITY_PARMNUM             405
  652. #define SV_NUMADMIN_PARMNUM             406
  653. #define SV_LANMASK_PARMNUM              407
  654. #define SV_GUESTACC_PARMNUM             408
  655. #define SV_CHDEVQ_PARMNUM               410
  656. #define SV_CHDEVJOBS_PARMNUM            411
  657. #define SV_CONNECTIONS_PARMNUM          412
  658. #define SV_SHARES_PARMNUM               413
  659. #define SV_OPENFILES_PARMNUM            414
  660. #define SV_SESSREQS_PARMNUM             417
  661. #define SV_ACTIVELOCKS_PARMNUM          419
  662. #define SV_NUMREQBUF_PARMNUM            420
  663. #define SV_NUMBIGBUF_PARMNUM            422
  664. #define SV_NUMFILETASKS_PARMNUM         423
  665. #define SV_ALERTSCHED_PARMNUM           37
  666. #define SV_ERRORALERT_PARMNUM           38
  667. #define SV_LOGONALERT_PARMNUM           39
  668. #define SV_ACCESSALERT_PARMNUM          40
  669. #define SV_DISKALERT_PARMNUM            41
  670. #define SV_NETIOALERT_PARMNUM           42
  671. #define SV_MAXAUDITSZ_PARMNUM           43
  672. #define SV_SRVHEURISTICS_PARMNUM        431
  673.  
  674. #define SV_SESSOPENS_PARMNUM                501
  675. #define SV_SESSVCS_PARMNUM                  502
  676. #define SV_OPENSEARCH_PARMNUM               503
  677. #define SV_SIZREQBUF_PARMNUM                504
  678. #define SV_INITWORKITEMS_PARMNUM            505
  679. #define SV_MAXWORKITEMS_PARMNUM             506
  680. #define SV_RAWWORKITEMS_PARMNUM             507
  681. #define SV_IRPSTACKSIZE_PARMNUM             508
  682. #define SV_MAXRAWBUFLEN_PARMNUM             509
  683. #define SV_SESSUSERS_PARMNUM                510
  684. #define SV_SESSCONNS_PARMNUM                511
  685. #define SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM   512
  686. #define SV_MAXPAGEDMEMORYUSAGE_PARMNUM      513
  687. #define SV_ENABLESOFTCOMPAT_PARMNUM         514
  688. #define SV_ENABLEFORCEDLOGOFF_PARMNUM       515
  689. #define SV_TIMESOURCE_PARMNUM               516
  690. #define SV_ACCEPTDOWNLEVELAPIS_PARMNUM      517
  691. #define SV_LMANNOUNCE_PARMNUM               518
  692. #define SV_DOMAIN_PARMNUM                   519
  693. #define SV_MAXCOPYREADLEN_PARMNUM           520
  694. #define SV_MAXCOPYWRITELEN_PARMNUM          521
  695. #define SV_MINKEEPSEARCH_PARMNUM            522
  696. #define SV_MAXKEEPSEARCH_PARMNUM            523
  697. #define SV_MINKEEPCOMPLSEARCH_PARMNUM       524
  698. #define SV_MAXKEEPCOMPLSEARCH_PARMNUM       525
  699. #define SV_THREADCOUNTADD_PARMNUM           526
  700. #define SV_NUMBLOCKTHREADS_PARMNUM          527
  701. #define SV_SCAVTIMEOUT_PARMNUM              528
  702. #define SV_MINRCVQUEUE_PARMNUM              529
  703. #define SV_MINFREEWORKITEMS_PARMNUM         530
  704. #define SV_XACTMEMSIZE_PARMNUM              531
  705. #define SV_THREADPRIORITY_PARMNUM           532
  706. #define SV_MAXMPXCT_PARMNUM                 533
  707. #define SV_OPLOCKBREAKWAIT_PARMNUM          534
  708. #define SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM  535
  709. #define SV_ENABLEOPLOCKS_PARMNUM            536
  710. #define SV_ENABLEOPLOCKFORCECLOSE_PARMNUM   537
  711. #define SV_ENABLEFCBOPENS_PARMNUM           538
  712. #define SV_ENABLERAW_PARMNUM                539
  713. #define SV_ENABLEDPC_PARMNUM                540
  714. #define SV_ENABLEMDLIO_PARMNUM              541
  715. #define SV_ENABLEFASTIO_PARMNUM             542
  716. #define SV_INITSESSTABLE_PARMNUM            543
  717. #define SV_INITCONNTABLE_PARMNUM            544
  718. #define SV_INITFILETABLE_PARMNUM            545
  719. #define SV_INITSEARCHTABLE_PARMNUM          546
  720. #define SV_ALERTSCHEDULE_PARMNUM            547
  721. #define SV_ERRORTHRESHHOLD_PARMNUM          548
  722. #define SV_NETWORKERRORTHRESHHOLD_PARMNUM   549
  723. #define SV_DISKSPACETHRESHHOLD_PARMNUM      550
  724. #define SV_DISKCONFIGURATION_PARMNUM        551
  725. #define SV_MAXLINKDELAY_PARMNUM             552
  726. #define SV_MINLINKTHROUGHPUT_PARMNUM        553
  727. #define SV_LINKINFOVALIDTIME_PARMNUM        554
  728. #define SV_SCAVQOSINFOUPDATETIME_PARMNUM    555
  729. #define SV_MAXWORKITEMIDLETIME_PARMNUM      556
  730.  
  731. //
  732. // Single-field infolevels for NetServerSetInfo.
  733. //
  734.  
  735. #define SV_COMMENT_INFOLEVEL                    \
  736.             (PARMNUM_BASE_INFOLEVEL + SV_COMMENT_PARMNUM)
  737. #define SV_USERS_INFOLEVEL                      \
  738.             (PARMNUM_BASE_INFOLEVEL + SV_USERS_PARMNUM)
  739. #define SV_DISC_INFOLEVEL                       \
  740.             (PARMNUM_BASE_INFOLEVEL + SV_DISC_PARMNUM)
  741. #define SV_HIDDEN_INFOLEVEL                     \
  742.             (PARMNUM_BASE_INFOLEVEL + SV_HIDDEN_PARMNUM)
  743. #define SV_ANNOUNCE_INFOLEVEL                   \
  744.             (PARMNUM_BASE_INFOLEVEL + SV_ANNOUNCE_PARMNUM)
  745. #define SV_ANNDELTA_INFOLEVEL                   \
  746.             (PARMNUM_BASE_INFOLEVEL + SV_ANNDELTA_PARMNUM)
  747. #define SV_SESSOPENS_INFOLEVEL                  \
  748.             (PARMNUM_BASE_INFOLEVEL + SV_SESSOPENS_PARMNUM)
  749. #define SV_SESSVCS_INFOLEVEL                    \
  750.             (PARMNUM_BASE_INFOLEVEL + SV_SESSVCS_PARMNUM)
  751. #define SV_OPENSEARCH_INFOLEVEL                 \
  752.             (PARMNUM_BASE_INFOLEVEL + SV_OPENSEARCH_PARMNUM)
  753. #define SV_MAXWORKITEMS_INFOLEVEL               \
  754.             (PARMNUM_BASE_INFOLEVEL + SV_MAXWORKITEMS_PARMNUM)
  755. #define SV_MAXRAWBUFLEN_INFOLEVEL               \
  756.             (PARMNUM_BASE_INFOLEVEL + SV_MAXRAWBUFLEN_PARMNUM)
  757. #define SV_SESSUSERS_INFOLEVEL                  \
  758.             (PARMNUM_BASE_INFOLEVEL + SV_SESSUSERS_PARMNUM)
  759. #define SV_SESSCONNS_INFOLEVEL                  \
  760.             (PARMNUM_BASE_INFOLEVEL + SV_SESSCONNS_PARMNUM)
  761. #define SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL     \
  762.             (PARMNUM_BASE_INFOLEVEL + SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM)
  763. #define SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL        \
  764.             (PARMNUM_BASE_INFOLEVEL + SV_MAXPAGEDMEMORYUSAGE_PARMNUM)
  765. #define SV_ENABLESOFTCOMPAT_INFOLEVEL           \
  766.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLESOFTCOMPAT_PARMNUM)
  767. #define SV_ENABLEFORCEDLOGOFF_INFOLEVEL         \
  768.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLEFORCEDLOGOFF_PARMNUM)
  769. #define SV_TIMESOURCE_INFOLEVEL                 \
  770.             (PARMNUM_BASE_INFOLEVEL + SV_TIMESOURCE_PARMNUM)
  771. #define SV_LMANNOUNCE_INFOLEVEL                 \
  772.             (PARMNUM_BASE_INFOLEVEL + SV_LMANNOUNCE_PARMNUM)
  773. #define SV_MAXCOPYREADLEN_INFOLEVEL             \
  774.             (PARMNUM_BASE_INFOLEVEL + SV_MAXCOPYREADLEN_PARMNUM)
  775. #define SV_MAXCOPYWRITELEN_INFOLEVEL            \
  776.             (PARMNUM_BASE_INFOLEVEL + SV_MAXCOPYWRITELEN_PARMNUM)
  777. #define SV_MINKEEPSEARCH_INFOLEVEL              \
  778.             (PARMNUM_BASE_INFOLEVEL + SV_MINKEEPSEARCH_PARMNUM)
  779. #define SV_MAXKEEPSEARCH_INFOLEVEL              \
  780.             (PARMNUM_BASE_INFOLEVEL + SV_MAXKEEPSEARCH_PARMNUM)
  781. #define SV_MINKEEPCOMPLSEARCH_INFOLEVEL         \
  782.             (PARMNUM_BASE_INFOLEVEL + SV_MINKEEPCOMPLSEARCH_PARMNUM)
  783. #define SV_MAXKEEPCOMPLSEARCH_INFOLEVEL         \
  784.             (PARMNUM_BASE_INFOLEVEL + SV_MAXKEEPCOMPLSEARCH_PARMNUM)
  785. #define SV_SCAVTIMEOUT_INFOLEVEL                \
  786.             (PARMNUM_BASE_INFOLEVEL + SV_SCAVTIMEOUT_PARMNUM)
  787. #define SV_MINRCVQUEUE_INFOLEVEL                \
  788.             (PARMNUM_BASE_INFOLEVEL + SV_MINRCVQUEUE_PARMNUM)
  789. #define SV_MINFREEWORKITEMS_INFOLEVEL           \
  790.             (PARMNUM_BASE_INFOLEVEL + SV_MINFREEWORKITEMS_PARMNUM)
  791. #define SV_MAXMPXCT_INFOLEVEL                   \
  792.             (PARMNUM_BASE_INFOLEVEL + SV_MAXMPXCT_PARMNUM)
  793. #define SV_OPLOCKBREAKWAIT_INFOLEVEL            \
  794.             (PARMNUM_BASE_INFOLEVEL + SV_OPLOCKBREAKWAIT_PARMNUM)
  795. #define SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL    \
  796.             (PARMNUM_BASE_INFOLEVEL + SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM)
  797. #define SV_ENABLEOPLOCKS_INFOLEVEL              \
  798.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLEOPLOCKS_PARMNUM)
  799. #define SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL     \
  800.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLEOPLOCKFORCECLOSE_PARMNUM)
  801. #define SV_ENABLEFCBOPENS_INFOLEVEL             \
  802.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLEFCBOPENS_PARMNUM)
  803. #define SV_ENABLERAW_INFOLEVEL                  \
  804.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLERAW_PARMNUM)
  805. #define SV_ENABLEDPC_INFOLEVEL                  \
  806.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLEDPC_PARMNUM)
  807. #define SV_ENABLEMDLIO_INFOLEVEL                \
  808.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLEMDLIO_PARMNUM)
  809. #define SV_ENABLEFASTIO_INFOLEVEL               \
  810.             (PARMNUM_BASE_INFOLEVEL + SV_ENABLEFASTIO_PARMNUM)
  811. #define SV_INITSESSTABLE_INFOLEVEL              \
  812.             (PARMNUM_BASE_INFOLEVEL + SV_INITSESSTABLE_PARMNUM)
  813. #define SV_INITCONNTABLE_INFOLEVEL              \
  814.             (PARMNUM_BASE_INFOLEVEL + SV_INITCONNTABLE_PARMNUM)
  815. #define SV_INITFILETABLE_INFOLEVEL              \
  816.             (PARMNUM_BASE_INFOLEVEL + SV_INITFILETABLE_PARMNUM)
  817. #define SV_INITSEARCHTABLE_INFOLEVEL            \
  818.             (PARMNUM_BASE_INFOLEVEL + SV_INITSEARCHTABLE_PARMNUM)
  819. #define SV_ALERTSCHEDULE_INFOLEVEL              \
  820.             (PARMNUM_BASE_INFOLEVEL + SV_ALERTSCHEDULE_PARMNUM)
  821. #define SV_ERRORTHRESHHOLD_INFOLEVEL            \
  822.             (PARMNUM_BASE_INFOLEVEL + SV_ERRORTHRESHHOLD_PARMNUM)
  823. #define SV_NETWORKERRORTHRESHHOLD_INFOLEVEL     \
  824.             (PARMNUM_BASE_INFOLEVEL + SV_NETWORKERRORTHRESHHOLD_PARMNUM)
  825. #define SV_DISKSPACETHRESHHOLD_INFOLEVEL        \
  826.             (PARMNUM_BASE_INFOLEVEL + SV_DISKSPACETHRESHHOLD_PARMNUM)
  827. #define SV_MAXLINKDELAY_INFOLEVEL               \
  828.             (PARMNUM_BASE_INFOLEVEL + SV_MAXLINKDELAY_PARMNUM)
  829. #define SV_MINLINKTHROUGHPUT_INFOLEVEL          \
  830.             (PARMNUM_BASE_INFOLEVEL + SV_MINLINKTHROUGHPUT_PARMNUM)
  831. #define SV_LINKINFOVALIDTIME_INFOLEVEL          \
  832.             (PARMNUM_BASE_INFOLEVEL + SV_LINKINFOVALIDTIME_PARMNUM)
  833. #define SV_SCAVQOSINFOUPDATETIME_INFOLEVEL      \
  834.             (PARMNUM_BASE_INFOLEVEL + SV_SCAVQOSINFOUPDATETIME_PARMNUM)
  835. #define SV_MAXWORKITEMIDLETIME_INFOLEVEL        \
  836.             (PARMNUM_BASE_INFOLEVEL + SV_MAXWORKITEMIDLETIME_PARMNUM)
  837.  
  838. #define SVI1_NUM_ELEMENTS       5
  839. #define SVI2_NUM_ELEMENTS       40
  840. #define SVI3_NUM_ELEMENTS       44
  841.  
  842. //
  843. //      Maxmimum length for command string to NetServerAdminCommand.
  844. //
  845.  
  846. #define SV_MAX_CMD_LEN          PATHLEN
  847.  
  848. //
  849. //      Masks describing AUTOPROFILE parameters
  850. //
  851.  
  852. #define SW_AUTOPROF_LOAD_MASK   0x1
  853. #define SW_AUTOPROF_SAVE_MASK   0x2
  854.  
  855. //
  856. //      Max size of svX_srvheuristics.
  857. //
  858.  
  859. #define SV_MAX_SRV_HEUR_LEN     32      // Max heuristics info string length.
  860.  
  861. //
  862. //      Equate for use with sv102_licenses.
  863. //
  864.  
  865. #define SV_USERS_PER_LICENSE    5
  866.  
  867. #endif // _LMSERVER_
  868.