home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / 3COMM.ZIP / H.ZIP / SERVER.H < prev    next >
C/C++ Source or Header  |  1989-05-17  |  7KB  |  194 lines

  1. /********************************************************************/
  2. /**                   Microsoft OS/2 LAN Manager                   **/
  3. /**            Copyright(c) Microsoft Corp., 1987, 1988            **/
  4. /********************************************************************/
  5.  
  6. /********************************************************************
  7.  *                                    *
  8.  *  About this file ...  SERVER.H                    *
  9.  *                                    *
  10.  *  This file contains information about the NetServer APIs.        *
  11.  *                                    *
  12.  *    Function prototypes.                        *
  13.  *                                    *
  14.  *    Data structure templates.                    *
  15.  *                                    *
  16.  *    Definition of special values.                    *
  17.  *                                    *
  18.  *                                    *
  19.  *  NOTE:  You must include NETCONS.H before this file, since this  *
  20.  *       file    depends on values defined in NETCONS.H.            *
  21.  *                                    *
  22.  ********************************************************************/
  23.  
  24.  
  25. /**************************************************************** 
  26.  *                                *
  27.  *          Function prototypes                 *
  28.  *                                *
  29.  ****************************************************************/
  30.  
  31.  
  32. extern API_FUNCTION
  33.   NetServerEnum( const char far *, short, char far *, unsigned short, 
  34.             unsigned short far *, unsigned short far *);
  35.  
  36.  
  37. extern API_FUNCTION
  38.   NetServerAdminCommand ( const char far *, const char far *, short far *, 
  39.             char far *, unsigned short, unsigned short far *, 
  40.             unsigned short far * );
  41.  
  42. extern API_FUNCTION
  43.   NetServerGetInfo ( const char far *, short, char far *, unsigned short,
  44.             unsigned short far * );
  45.  
  46. extern API_FUNCTION
  47.   NetServerSetInfo ( const char far *, short, const char far *, 
  48.             unsigned short, short );
  49.  
  50.  
  51. extern API_FUNCTION
  52.   NetServerDiskEnum  ( const char far *, short, char far *, unsigned short,
  53.             unsigned short far *, unsigned short far *);
  54.  
  55.  
  56. /**************************************************************** 
  57.  *                                *
  58.  *          Data structure templates            *
  59.  *                                *
  60.  ****************************************************************/
  61.  
  62. struct server_info_0 {
  63.     char        sv0_name[CNLEN + 1];     /* Server name            */
  64. };     /* server_info_0 */
  65.  
  66.  
  67. struct server_info_1 {
  68.     char        sv1_name[CNLEN + 1];
  69.     unsigned char   sv1_version_major;        /* Major version # of net   */
  70.     unsigned char   sv1_version_minor;        /* Minor version # of net   */
  71.     unsigned long   sv1_type;                 /* Server type             */
  72.     char far *        sv1_comment;         /* Exported server comment  */
  73. };     /* server_info_1 */
  74.  
  75.  
  76. struct server_info_2 {
  77.     char            sv2_name[CNLEN + 1];
  78.     unsigned char   sv2_version_major;
  79.     unsigned char   sv2_version_minor;
  80.     unsigned long   sv2_type;         
  81.     char far *        sv2_comment;            
  82.     unsigned long   sv2_ulist_mtime; /* User list, last modification time    */
  83.     unsigned long   sv2_glist_mtime; /* Group list, last modification time   */
  84.     unsigned long   sv2_alist_mtime; /* Access list, last modification time  */
  85.     unsigned short  sv2_users;       /* max number of users allowed          */
  86.     unsigned short  sv2_disc;        /* auto-disconnect timeout(in seconds)  */
  87.     char far *        sv2_alerts;        /* alert names (semicolon separated)    */
  88.     unsigned short  sv2_security;    /* SV_USERSECURITY or SV_SHARESECURITY  */
  89.     unsigned short  sv2_auditing;    /* 0 = no auditing; nonzero = auditing  */
  90.  
  91.     unsigned short  sv2_numadmin;    /* max number of administrators allowed */
  92.     unsigned short  sv2_lanmask;     /* bit mask representing the srv'd nets */
  93.     unsigned short  sv2_hidden;      /* 0 = visible; nonzero = hidden        */
  94.     unsigned short  sv2_announce;    /* visible server announce rate (sec)   */
  95.     unsigned short  sv2_anndelta;    /* announce randomize interval (sec)    */
  96.                                     /* name of guest account                */
  97.     char            sv2_guestacct[UNLEN + 1];
  98.     unsigned char   sv2_pad1;        /* Word alignment pad byte            */
  99.     char far *      sv2_userpath;    /* asciz path to user directories       */
  100.     unsigned short  sv2_chdevs;      /* max # shared character devices       */
  101.     unsigned short  sv2_chdevq;      /* max # character device queues        */
  102.     unsigned short  sv2_chdevjobs;   /* max # character device jobs          */
  103.     unsigned short  sv2_connections; /* max # of connections            */
  104.     unsigned short  sv2_shares;        /* max # of shares                */
  105.     unsigned short  sv2_openfiles;   /* max # of open files            */
  106.     unsigned short  sv2_sessopens;   /* max # of open files per session        */
  107.     unsigned short  sv2_sessvcs;     /* max # of virtual circuits per client */
  108.     unsigned short  sv2_sessreqs;    /* max # of simul. reqs. from a client  */
  109.     unsigned short  sv2_opensearch;  /* max # of open searches            */
  110.     unsigned short  sv2_activelocks; /* max # of active file locks           */
  111.     unsigned short  sv2_numreqbuf;   /* number of server (standard) buffers  */
  112.     unsigned short  sv2_sizreqbuf;   /* size of svr (standard) bufs (bytes)  */
  113.     unsigned short  sv2_numbigbuf;   /* number of big (64K) buffers          */
  114.     unsigned short  sv2_numfiletasks;/* number of file worker processes      */
  115.     unsigned short  sv2_alertsched;  /* alert counting interval (minutes)    */
  116.     unsigned short  sv2_erroralert;  /* error log alerting threshold         */
  117.     unsigned short  sv2_logonalert;  /* logon violation alerting threshold   */
  118.     unsigned short  sv2_accessalert; /* access violation alerting threshold  */
  119.     unsigned short  sv2_diskalert;   /* low disk space alert threshold (KB)  */
  120.     unsigned short  sv2_netioalert;  /* net i/o error ratio alert threshold  */
  121.                                     /*  (tenths of a percent)               */
  122.     unsigned short  sv2_maxauditsz;  /* Maximum audit file size in KB        */
  123.     char far *        sv2_srvheuristics; /* performance related server switches*/
  124. };    /* server_info_2 */
  125.  
  126.  
  127.  
  128. /**************************************************************** 
  129.  *                                *
  130.  *          Special values and constants            *
  131.  *                                *
  132.  ****************************************************************/
  133.  
  134. /*
  135.  *    Bit-mapped values for sv1_type and sv2_type fields.
  136.  */
  137.  
  138. #define SV_TYPE_WORKSTATION    0x1
  139. #define SV_TYPE_SERVER        0x2
  140. #define SV_TYPE_SQLSERVER    0x4
  141.  
  142. /*
  143.  *    Special value for sv2_disc that specifies infinite disconnect
  144.  *    time.
  145.  */
  146.  
  147. #define SV_NODISC        0xFFFF    /* No autodisconnect timeout enforced */
  148.  
  149. /*
  150.  *    Values of sv2_security field.
  151.  */
  152.  
  153. #define SV_USERSECURITY        1
  154. #define SV_SHARESECURITY    0
  155.  
  156. /*
  157.  *    Values of sv2_hidden field.
  158.  */
  159.  
  160. #define SV_HIDDEN        1
  161. #define SV_VISIBLE        0
  162.  
  163. /*
  164.  *    Values for parmnum parameter to NetServerSetInfo.
  165.  */
  166.  
  167. /*NOINC*/
  168. /*INC*/
  169. #define SV_COMMENT_PARMNUM    5
  170. #define SV_DISC_PARMNUM     10
  171. #define SV_ALERTS_PARMNUM    11
  172. #define SV_HIDDEN_PARMNUM    16
  173. #define SV_ANNOUNCE_PARMNUM    17
  174. #define SV_ANNDELTA_PARMNUM    18
  175. #define SV_ALERTSCHED_PARMNUM    37
  176. #define SV_ERRORALERT_PARMNUM    38
  177. #define SV_LOGONALERT_PARMNUM    39
  178. #define SV_ACCESSALERT_PARMNUM    40
  179. #define SV_DISKALERT_PARMNUM    41
  180. #define SV_NETIOALERT_PARMNUM    42
  181. #define SV_MAXAUDITSZ_PARMNUM    43
  182.  
  183.  
  184. #define SVI1_NUM_ELEMENTS    5
  185. #define SVI2_NUM_ELEMENTS    44
  186.  
  187. /*
  188.  *    Maxmimum length for command string to NetServerAdminCommand.
  189.  */
  190.  
  191. #define    SV_MAX_CMD_LEN        80
  192.  
  193.  
  194.