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

  1. /********************************************************************
  2.  **                   Microsoft OS/2 LAN Manager                   **
  3.  **            Copyright(c) Microsoft Corp., 1987, 1988            **
  4.  ********************************************************************/
  5.  
  6. /********************************************************************
  7.  *                                    *
  8.  *  About this file ...  SHARES.H                    *
  9.  *                                    *
  10.  *  This file contains information about the NetShare, NetSession,  *
  11.  *  NetFile, and NetConnection APIs.  For each API class there is   *
  12.  *  a section on:                            *
  13.  *                                    *
  14.  *    Function prototypes.                        *
  15.  *                                    *
  16.  *    Data structure templates.                    *
  17.  *                                    *
  18.  *    Definition of special values.                    *
  19.  *                                    *
  20.  *                                    *
  21.  *  NOTE:  You must include NETCONS.H before this file, since this  *
  22.  *       file    depends on values defined in NETCONS.H.            *
  23.  *                                    *
  24.  ********************************************************************/
  25.  
  26.  
  27. /**************************************************************** 
  28.  *                                *
  29.  *          Function prototypes - SHARE            *
  30.  *                                *
  31.  ****************************************************************/
  32.  
  33.  
  34. extern API_FUNCTION
  35.   NetShareEnum ( const char far *, short, char far *, unsigned short,
  36.            unsigned short far *, unsigned short far *);
  37.  
  38. extern API_FUNCTION
  39.   NetShareGetInfo ( const char far *, const char far *, short, char far *,
  40.           unsigned short, unsigned short far *);
  41.  
  42. extern API_FUNCTION
  43.   NetShareSetInfo ( const char far *, const char far *, short, 
  44.             const char far *, unsigned short, short);
  45.  
  46. extern API_FUNCTION
  47.   NetShareAdd ( const char far *, short, const char far *, unsigned short);
  48.  
  49. extern API_FUNCTION
  50.   NetShareDel ( const char far *, const char far *, unsigned short);
  51.  
  52. extern API_FUNCTION
  53.   NetShareCheck ( const char far *, const char far *, unsigned short far *);
  54.  
  55.  
  56.  
  57. /**************************************************************** 
  58.  *                                *
  59.  *          Data structure templates - SHARE        *
  60.  *                                *
  61.  ****************************************************************/
  62.  
  63. struct share_info_0 {
  64.     char        shi0_netname[NNLEN+1];
  65. };  /* share_info_0 */
  66.  
  67. struct share_info_1 {
  68.     char        shi1_netname[NNLEN+1];
  69.     char        shi1_pad1;
  70.     unsigned short    shi1_type;
  71.     char far *        shi1_remark;
  72. };  /* share_info_1 */
  73.  
  74. struct share_info_2 {
  75.     char        shi2_netname[NNLEN+1];
  76.     char        shi2_pad1;
  77.     unsigned short    shi2_type;
  78.     char far *        shi2_remark;
  79.     unsigned short    shi2_permissions;
  80.     unsigned short    shi2_max_uses;
  81.     unsigned short    shi2_current_uses;
  82.     char far *        shi2_path;
  83.     char         shi2_passwd[SHPWLEN+1];
  84.     char        shi2_pad2;
  85. };  /* share_info_2 */
  86.  
  87.  
  88. /**************************************************************** 
  89.  *                                *
  90.  *          Special values and constants - SHARE        *
  91.  *                                *
  92.  ****************************************************************/
  93.  
  94.  
  95. /*
  96.  *    Values for parmnum parameter to NetShareSetInfo.
  97.  */
  98.  
  99. #define    SHI_REMARK_PARMNUM        4
  100. #define    SHI_PERMISSIONS_PARMNUM        5
  101. #define    SHI_MAX_USES_PARMNUM        6
  102. #define    SHI_PASSWD_PARMNUM        9
  103.  
  104. #define    SHI1_NUM_ELEMENTS        4
  105. #define    SHI2_NUM_ELEMENTS        10
  106.  
  107.  
  108. /*
  109.  *    Share types (shi1_type and shi2_type fields).
  110.  */
  111.  
  112. #define STYPE_DISKTREE             0
  113. #define STYPE_PRINTQ               1
  114. #define STYPE_DEVICE               2
  115. #define STYPE_IPC                  3
  116.  
  117.  
  118. /**************************************************************** 
  119.  *                                *
  120.  *          Function prototypes - SESSION            *
  121.  *                                *
  122.  ****************************************************************/
  123.  
  124. extern API_FUNCTION 
  125.   NetSessionEnum ( const char far *, short, char far *, unsigned short, 
  126.           unsigned short far *, unsigned short far *);
  127.  
  128. extern API_FUNCTION 
  129.   NetSessionGetInfo ( const char far *, const char far *, short, char far *,
  130.              unsigned short, unsigned short far *);
  131.  
  132. extern API_FUNCTION 
  133.   NetSessionDel ( const char far *, const char far *, short);
  134.  
  135.  
  136. /**************************************************************** 
  137.  *                                *
  138.  *        Data structure templates - SESSION        *
  139.  *                                *
  140.  ****************************************************************/
  141.  
  142.  
  143. struct session_info_0 {
  144.     char far *        sesi0_cname;
  145. };  /* session_info_0 */
  146.  
  147. struct session_info_1 {
  148.     char far *        sesi1_cname;
  149.     char far *        sesi1_username;
  150.     unsigned short    sesi1_num_conns;
  151.     unsigned short    sesi1_num_opens;
  152.     unsigned short    sesi1_num_users;
  153.     unsigned long    sesi1_time;
  154.     unsigned long    sesi1_idle_time;
  155.     unsigned long    sesi1_user_flags;
  156. };  /* session_info_1 */
  157.  
  158.  
  159. /**************************************************************** 
  160.  *                                *
  161.  *          Special values and constants - SESSION        *
  162.  *                                *
  163.  ****************************************************************/
  164.  
  165. /*
  166.  *    Bits defined in sesi1_user_flags.
  167.  */
  168.  
  169. #define SESS_GUEST        1    /* session is logged on as a guest */
  170. #define SESS_NOENCRYPTION    2    /* session is not using encryption */
  171.  
  172.  
  173. /**************************************************************** 
  174.  *                                *
  175.  *          Function prototypes - CONNECTION        *
  176.  *                                *
  177.  ****************************************************************/
  178.  
  179. extern API_FUNCTION 
  180.   NetConnectionEnum ( const char far *, const char far *, short, char far *, 
  181.             unsigned short, unsigned short far *, 
  182.             unsigned short far *);
  183.  
  184.  
  185. /**************************************************************** 
  186.  *                                *
  187.  *          Data structure templates - CONNECTION        *
  188.  *                                *
  189.  ****************************************************************/
  190.  
  191. struct connection_info_0 {
  192.     unsigned short    coni0_id;
  193. };  /* connection_info_0 */
  194.  
  195. struct connection_info_1 {
  196.     unsigned short    coni1_id;
  197.     unsigned short    coni1_type;
  198.     unsigned short    coni1_num_opens;
  199.     unsigned short    coni1_num_users;
  200.     unsigned long    coni1_time;
  201.     char far *        coni1_username;
  202.     char far *        coni1_netname;
  203. };  /* connection_info_1 */
  204.  
  205.  
  206.  
  207. /**************************************************************** 
  208.  *                                *
  209.  *          Function prototypes - FILE            *
  210.  *                                *
  211.  ****************************************************************/
  212.  
  213. extern API_FUNCTION
  214.     NetFileEnum ( const char far *, const char far *, short, char far *, 
  215.         unsigned short, unsigned short far *, unsigned short far * );
  216.  
  217. extern API_FUNCTION
  218.     NetFileGetInfo ( const char far *, unsigned short, short, char far *,
  219.             unsigned short, unsigned short far * );
  220.  
  221. extern API_FUNCTION 
  222.     NetFileClose ( const char far *, unsigned short);
  223.     
  224.  
  225. /**************************************************************** 
  226.  *                                *
  227.  *          Data structure templates - FILE            *
  228.  *                                *
  229.  ****************************************************************/
  230.  
  231. struct file_info_0 {
  232.     unsigned short    fi0_id;
  233. };  /* file_info_0 */
  234.  
  235. struct file_info_1 {
  236.     unsigned short    fi1_id;
  237.     unsigned short    fi1_permissions;
  238.     unsigned short    fi1_num_locks;
  239.     char far *        fi1_pathname;
  240.     char far *        fi1_username;
  241. };  /* file_info_1 */
  242.  
  243.  
  244. /**************************************************************** 
  245.  *                                *
  246.  *        Special values and constants - FILE        *
  247.  *                                *
  248.  ****************************************************************/
  249.  
  250.                 /* bit values for permissions */
  251. #define    FILE_READ    0x1    /* user has read access */
  252. #define    FILE_WRITE    0x2    /* user has write access */
  253. #define    FILE_CREATE    0x4    /* user has create access */
  254.