home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0210 - 0219 / ibm0210-0219 / ibm0213.tar / ibm0213 / LS4APWAD.ZIP / LS40A.A12 / IBMLSA / IBM400R2 / OSLANAPI.ZIP / IBMLAN / NETSRC / H / SHARES.H < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-10  |  24.7 KB  |  599 lines

  1. /**************************************************************************/
  2. /*                                                                        */
  3. /*              IBM OS/2(tm) Local Area Network (LAN) Server              */
  4. /*                            Version 3.0                                 */
  5. /* (c) Copyright International Business Machines Corporation, 1988, 1992  */
  6. /*                                                                        */
  7. /**************************************************************************/
  8. /********************************************************************/
  9.  
  10. /********************************************************************
  11.  *                                                                  *
  12.  *  About this file ...  SHARES.H                                   *
  13.  *                                                                  *
  14.  *  This file contains information about the NetShare, NetSession,  *
  15.  *  NetFile, and NetConnection APIs.  For each API class there is   *
  16.  *  a section on:                                                   *
  17.  *                                                                  *
  18.  *      Function prototypes.                                        *
  19.  *                                                                  *
  20.  *      Data structure templates.                                   *
  21.  *                                                                  *
  22.  *      Definition of special values.                               *
  23.  *                                                                  *
  24.  *                                                                  *
  25.  *  NOTE:  You must include NETCONS.H before this file, since this  *
  26.  *         file depends on values defined in NETCONS.H.             *
  27.  *                                                                  *
  28.  *         This file is always included by LAN.H.                   *
  29.  *                                                                  *
  30.  ********************************************************************/
  31.  
  32.  
  33. #if defined(INCL_32) || defined (ANY_32_BIT)
  34. #pragma pack(1)
  35. #endif
  36.  
  37.  
  38.  
  39. /****************************************************************
  40.  *                                                              *
  41.  *              Share Class                                     *
  42.  *                                                              *
  43.  ****************************************************************/
  44.  
  45. #if (defined( INCL_NETSHARE ) || !defined( LAN_INCLUDED )) \
  46.     && !defined( NETSHARE_INCLUDED )
  47.  
  48. #define NETSHARE_INCLUDED
  49.  
  50. /****************************************************************
  51.  *                                                              *
  52.  *              Function prototypes - SHARE                     *
  53.  *                                                              *
  54.  ****************************************************************/
  55.  
  56.  
  57. extern API_FUNCTION
  58.   NetShareAdd ( const unsigned char LSFAR * pszServer,
  59.                 short                       sLevel,
  60.                 const unsigned char LSFAR * pbBuffer,
  61.                 unsigned short              cbBuffer );
  62.  
  63. extern API_FUNCTION
  64.   NetShareCheck ( const unsigned char LSFAR *     pszServer,
  65.                   const unsigned char LSFAR *     pszDeviceName,
  66.                   unsigned short LSFAR *          pusType );
  67.  
  68. extern API_FUNCTION
  69.   NetShareDel ( const unsigned char LSFAR * pszServer,
  70.                 const unsigned char LSFAR * pszNetName,
  71.                 unsigned short              usReserved );
  72.  
  73. extern API_FUNCTION
  74.   NetShareEnum ( const unsigned char LSFAR *     pszServer,
  75.                  short                           sLevel,
  76.                  unsigned char LSFAR *           pbBuffer,
  77.                  unsigned short                  cbBuffer,
  78.                  unsigned short LSFAR *          pcEntriesRead,
  79.                  unsigned short LSFAR *          pcTotalAvail );
  80.  
  81. extern API_FUNCTION
  82.   NetShareGetInfo ( const unsigned char LSFAR *     pszServer,
  83.                     const unsigned char LSFAR *     pszNetName,
  84.                     short                           sLevel,
  85.                     unsigned char LSFAR *           pbBuffer,
  86.                     unsigned short                  cbBuffer,
  87.                     unsigned short LSFAR *          pcbTotalAvail );
  88.  
  89. extern API_FUNCTION
  90.   NetShareSetInfo ( const unsigned char LSFAR * pszServer,
  91.                     const unsigned char LSFAR * pszNetName,
  92.                     short                       sLevel,
  93.                     const unsigned char LSFAR * pbBuffer,
  94.                     unsigned short              cbBuffer,
  95.                     short                       sParmNum );
  96.  
  97.  
  98. /****************************************************************
  99.  *                                                              *
  100.  *              Data structure templates - SHARE                *
  101.  *                                                              *
  102.  ****************************************************************/
  103.  
  104. struct share_info_0 {
  105.     unsigned char      shi0_netname[NNLEN+1];
  106. };  /* share_info_0 */
  107.  
  108. struct share_info_1 {
  109.     unsigned char      shi1_netname[NNLEN+1];
  110.     unsigned char      shi1_pad1;
  111.     unsigned short     shi1_type;
  112.     unsigned char LSFAR * LSPTR shi1_remark;
  113. };  /* share_info_1 */
  114.  
  115. struct share_info_2 {
  116.     unsigned char      shi2_netname[NNLEN+1];
  117.     unsigned char      shi2_pad1;
  118.     unsigned short     shi2_type;
  119.     unsigned char LSFAR * LSPTR shi2_remark;
  120.     unsigned short     shi2_permissions;
  121.     unsigned short     shi2_max_uses;
  122.     unsigned short     shi2_current_uses;
  123.     unsigned char LSFAR * LSPTR shi2_path;
  124.     unsigned char      shi2_passwd[SHPWLEN+1];
  125.     unsigned char      shi2_pad2;
  126. };  /* share_info_2 */
  127.  
  128.  
  129. /* -------------------- Begin F2359 --------------------- */
  130.  
  131. #ifdef PURE_32
  132. /****************************************************************
  133.  *                                                              *
  134.  *              Function prototypes - SHARE                     *
  135.  *                for "pure" 32-bit code                        *
  136.  *                                                              *
  137.  ****************************************************************/
  138.  
  139. extern API32_FUNCTION
  140. Net32ShareAdd ( const unsigned char * pszServer,
  141.                 unsigned long         ulLevel,           /* was signed short */
  142.                 const unsigned char * pbBuffer,
  143.                 unsigned long         ulBuffer );        /* was USHORT */
  144.  
  145. extern API32_FUNCTION
  146. Net32ShareCheck ( const unsigned char * pszServer,
  147.                   const unsigned char * pszDeviceName,
  148.                   unsigned long       * pulType );      /* was USHORT */
  149.  
  150. extern API32_FUNCTION
  151. Net32ShareDel ( const unsigned char * pszServer,
  152.                 const unsigned char * pszNetName,
  153.                 unsigned long         ulReserved );     /* was USHORT */
  154.  
  155. extern API32_FUNCTION
  156. Net32ShareEnum ( const unsigned char     * pszServer,
  157.                  unsigned long     ulLevel,       /* was signed short */
  158.                  unsigned char   * pbBuffer,
  159.                  unsigned long     ulBuffer,       /* was USHORT */
  160.                  unsigned long   * pulEntriesRead, /* was USHORT */
  161.                  unsigned long   * pulTotalAvail );/* was USHORT */
  162.  
  163. extern API32_FUNCTION
  164. Net32ShareGetInfo ( const unsigned char     * pszServer,
  165.                     const unsigned char     * pszNetName,
  166.                     unsigned long     ulLevel,        /* was signed short */
  167.                     unsigned char   * pbBuffer,
  168.                     unsigned long     ulBuffer,        /* was USHORT */
  169.                     unsigned long   * pulTotalAvail ); /* was USHORT */
  170.  
  171. extern API32_FUNCTION
  172. Net32ShareSetInfo ( const unsigned char    * pszServer,
  173.                     const unsigned char    * pszNetName,
  174.                     unsigned long    ulLevel,     /* was signed short */
  175.                     const unsigned char    * pbBuffer,
  176.                     unsigned long    ulBuffer,    /* was USHORT */
  177.                     unsigned long    ulParmNum ); /* was signed short */
  178. #endif /* PURE_32 */
  179.  
  180. /* --------------------  End  F2359 --------------------- */
  181. /****************************************************************
  182.  *                                                              *
  183.  *          Special values and constants - SHARE                *
  184.  *                                                              *
  185.  ****************************************************************/
  186.  
  187.  
  188. /*
  189.  *      Values for parmnum parameter to NetShareSetInfo.
  190.  */
  191.  
  192. #define SHI_REMARK_PARMNUM              4
  193. #define SHI_PERMISSIONS_PARMNUM         5
  194. #define SHI_MAX_USES_PARMNUM            6
  195. #define SHI_PASSWD_PARMNUM              9
  196.  
  197. #define SHI1_NUM_ELEMENTS               4
  198. #define SHI2_NUM_ELEMENTS              10
  199.  
  200.  
  201. /*
  202.  *      Share types (shi1_type and shi2_type fields).
  203.  */
  204.  
  205. #define STYPE_DISKTREE                  0
  206. #define STYPE_PRINTQ                    1
  207. #define STYPE_DEVICE                    2
  208. #define STYPE_IPC                       3
  209.  
  210. #define SHI_USES_UNLIMITED              -1
  211.  
  212. #endif /* NETSHARE_INCLUDED */
  213.  
  214.  
  215. /****************************************************************
  216.  *                                                              *
  217.  *         Session Class                                        *
  218.  *                                                              *
  219.  ****************************************************************/
  220.  
  221. #if (defined( INCL_NETSESSION ) || !defined( LAN_INCLUDED )) \
  222.     && !defined( NETSESSION_INCLUDED )
  223.  
  224. #define NETSESSION_INCLUDED
  225.  
  226.  
  227. /****************************************************************
  228.  *                                                              *
  229.  *              Function prototypes - SESSION                   *
  230.  *                                                              *
  231.  ****************************************************************/
  232.  
  233. extern API_FUNCTION
  234.   NetSessionDel ( const unsigned char LSFAR * pszServer,
  235.                   const unsigned char LSFAR * pszClientName,
  236.                   short              sReserved );
  237.  
  238. extern API_FUNCTION
  239.   NetSessionEnum ( const unsigned char LSFAR *     pszServer,
  240.                    short                  sLevel,
  241.                    unsigned char LSFAR *           pbBuffer,
  242.                    unsigned short         cbBuffer,
  243.                    unsigned short LSFAR * pcEntriesRead,
  244.                    unsigned short LSFAR * pcTotalAvail );
  245.  
  246. extern API_FUNCTION
  247.   NetSessionGetInfo ( const unsigned char LSFAR *     pszServer,
  248.                       const unsigned char LSFAR *     pszClientName,
  249.                       short                  sLevel,
  250.                       unsigned char LSFAR *           pbBuffer,
  251.                       unsigned short         cbBuffer,
  252.                       unsigned short LSFAR * pcbTotalAvail );
  253.  
  254.  
  255. /****************************************************************
  256.  *                                                              *
  257.  *            Data structure templates - SESSION                *
  258.  *                                                              *
  259.  ****************************************************************/
  260.  
  261.  
  262. struct session_info_0 {
  263.     unsigned char LSFAR * LSPTR sesi0_cname;
  264. };  /* session_info_0 */
  265.  
  266. struct session_info_1 {
  267.     unsigned char LSFAR * LSPTR sesi1_cname;
  268.     unsigned char LSFAR * LSPTR sesi1_username;
  269.     unsigned short     sesi1_num_conns;
  270.     unsigned short     sesi1_num_opens;
  271.     unsigned short     sesi1_num_users;
  272.     unsigned long      sesi1_time;
  273.     unsigned long      sesi1_idle_time;
  274.     unsigned long      sesi1_user_flags;
  275. };  /* session_info_1 */
  276.  
  277. struct session_info_2 {
  278.     unsigned char LSFAR * LSPTR sesi2_cname;
  279.     unsigned char LSFAR * LSPTR sesi2_username;
  280.     unsigned short     sesi2_num_conns;
  281.     unsigned short     sesi2_num_opens;
  282.     unsigned short     sesi2_num_users;
  283.     unsigned long      sesi2_time;
  284.     unsigned long      sesi2_idle_time;
  285.     unsigned long      sesi2_user_flags;
  286.     unsigned char LSFAR * LSPTR sesi2_cltype_name;
  287. };  /* session_info_2 */
  288.  
  289. struct session_info_10 {
  290.         unsigned char LSFAR * LSPTR sesi10_cname;
  291.         unsigned char LSFAR * LSPTR sesi10_username;
  292.         unsigned long      sesi10_time;
  293.         unsigned long      sesi10_idle_time;
  294. };  /* session_info_10 */
  295.  
  296.  
  297. /* -------------------- Begin F2359 --------------------- */
  298.  
  299. #ifdef PURE_32
  300. /****************************************************************
  301.  *                                                              *
  302.  *              Function prototypes - SESSION                   *
  303.  *                                                              *
  304.  ****************************************************************/
  305.  
  306. extern API32_FUNCTION
  307. Net32SessionDel (const unsigned char    * pszServer,
  308.                  const unsigned char    * pszClientName,
  309.                  unsigned long    ulReserved);  /* was signed short */
  310.  
  311. extern API32_FUNCTION
  312. Net32SessionEnum (const unsigned char    * pszServer,
  313.                   unsigned long    ulLevel,         /* was signed short */
  314.                   unsigned char  * pbBuffer,
  315.                   unsigned long    ulBuffer,        /* was USHORT */
  316.                   unsigned long  * pulEntriesRead,  /* was USHORT */
  317.                   unsigned long  * pulTotalAvail);  /* was USHORT */
  318.  
  319. extern API32_FUNCTION
  320. Net32SessionGetInfo (const unsigned char    * pszServer,
  321.                      const unsigned char    * pszClientName,
  322.                      unsigned long    ulLevel,        /* was signed short */
  323.                      unsigned char  * pbBuffer,
  324.                      unsigned long    ulBuffer,       /* was USHORT */
  325.                      unsigned long  * pulTotalAvail); /* was USHORT */
  326. #endif /* PURE_32 */
  327.  
  328. /* --------------------  End  F2359 --------------------- */
  329.  
  330.  
  331. /****************************************************************
  332.  *                                                              *
  333.  *        Special values and constants - SESSION                *
  334.  *                                                              *
  335.  ****************************************************************/
  336.  
  337. /*
  338.  *      Bits defined in sesi1_user_flags.
  339.  */
  340.  
  341. #define SESS_GUEST              1       /* session is logged on as a guest */
  342. #define SESS_NOENCRYPTION       2       /* session is not using encryption */
  343.  
  344.  
  345. #define SESI1_NUM_ELEMENTS      8
  346. #define SESI2_NUM_ELEMENTS      9
  347.  
  348. #endif /* NETSESSION_INCLUDED */
  349.  
  350.  
  351. /****************************************************************
  352.  *                                                              *
  353.  *              Connection Class                                *
  354.  *                                                              *
  355.  ****************************************************************/
  356.  
  357. #if (defined( INCL_NETCONNECTION ) || !defined( LAN_INCLUDED )) \
  358.     && !defined( NETCONNECTION_INCLUDED )
  359.  
  360. #define NETCONNECTION_INCLUDED
  361.  
  362.  
  363. /****************************************************************
  364.  *                                                              *
  365.  *              Function prototypes - CONNECTION                *
  366.  *                                                              *
  367.  ****************************************************************/
  368.  
  369. extern API_FUNCTION
  370.   NetConnectionEnum ( const unsigned char LSFAR *     pszServer,
  371.                       const unsigned char LSFAR *     pszQualifier,
  372.                       short                  sLevel,
  373.                       unsigned char LSFAR *           pbBuffer,
  374.                       unsigned short         cbBuffer,
  375.                       unsigned short LSFAR * pcEntriesRead,
  376.                       unsigned short LSFAR * pcTotalAvail );
  377.  
  378.  
  379. /****************************************************************
  380.  *                                                              *
  381.  *              Data structure templates - CONNECTION           *
  382.  *                                                              *
  383.  ****************************************************************/
  384.  
  385. struct connection_info_0 {
  386.     unsigned short      coni0_id;
  387. };  /* connection_info_0 */
  388.  
  389. struct connection_info_1 {
  390.     unsigned short     coni1_id;
  391.     unsigned short     coni1_type;
  392.     unsigned short     coni1_num_opens;
  393.     unsigned short     coni1_num_users;
  394.     unsigned long      coni1_time;
  395.     unsigned char LSFAR * LSPTR coni1_username;
  396.     unsigned char LSFAR * LSPTR coni1_netname;
  397. };  /* connection_info_1 */
  398.  
  399.  
  400. /* -------------------- Begin F2359 --------------------- */
  401. #ifdef PURE_32
  402. /****************************************************************
  403.  *                                                              *
  404.  *       Function prototypes - CONNECTION (32-Bit)              *
  405.  *                                                              *
  406.  ****************************************************************/
  407.  
  408. extern API32_FUNCTION
  409.   Net32ConnectionEnum ( const unsigned char    * pszServer,
  410.                         const unsigned char    * pszQualifier,
  411.                         unsigned long    ulLevel,         /* was signed short*/
  412.                         unsigned char  * pbBuffer,
  413.                         unsigned long    ulBuffer,        /* was USHORT */
  414.                         unsigned long  * pulEntriesRead,  /* was PUSHORT*/
  415.                         unsigned long  * pulTotalAvail ); /* was PUSHORT*/
  416. #endif /* PURE_32 */
  417.  
  418. /* --------------------  End  F2359 --------------------- */
  419.  
  420. #endif /* NETCONNECTION_INCLUDED */
  421.  
  422.  
  423. /****************************************************************
  424.  *                                                              *
  425.  *              File Class                                      *
  426.  *                                                              *
  427.  ****************************************************************/
  428.  
  429. #if (defined( INCL_NETFILE ) || !defined( LAN_INCLUDED )) \
  430.     && !defined( NETFILE_INCLUDED )
  431.  
  432. #define NETFILE_INCLUDED
  433.  
  434.  
  435. /****************************************************************
  436.  *                                                              *
  437.  *              Function prototypes - FILE                      *
  438.  *                                                              *
  439.  ****************************************************************/
  440.  
  441. extern API_FUNCTION
  442.   NetFileClose ( const unsigned char LSFAR * pszServer,
  443.                  unsigned short     usFileId );
  444.  
  445. extern API_FUNCTION
  446.   NetFileClose2 ( const unsigned char LSFAR * pszServer,
  447.                   unsigned long      ulFileId );
  448.  
  449. extern API_FUNCTION
  450.   NetFileEnum ( const unsigned char LSFAR *     pszServer,
  451.                 const unsigned char LSFAR *     pszBasePath,
  452.                 short                  sLevel,
  453.                 unsigned char LSFAR *           pbBuffer,
  454.                 unsigned short         cbBuffer,
  455.                 unsigned short LSFAR * pcEntriesRead,
  456.                 unsigned short LSFAR * pcTotalAvail );
  457.  
  458. extern API_FUNCTION
  459.   NetFileEnum2 ( const unsigned char LSFAR *     pszServer,
  460.                  const unsigned char LSFAR *     pszBasePath,
  461.                  const unsigned char LSFAR *     pszUserName,
  462.                  short                  sLevel,
  463.                  unsigned char LSFAR *           pbBuffer,
  464.                  unsigned short         cbBuffer,
  465.                  unsigned short LSFAR * pcEntriesRead,
  466.                  unsigned short LSFAR * pcEntriesRemaining,
  467.                  void LSFAR *           pResumeKey );
  468.  
  469. extern API_FUNCTION
  470.   NetFileGetInfo ( const unsigned char LSFAR *     pszServer,
  471.                    unsigned short         usFileId,
  472.                    short                  sLevel,
  473.                    unsigned char LSFAR *           pbBuffer,
  474.                    unsigned short         cbBuffer,
  475.                    unsigned short LSFAR * pcbTotalAvail );
  476.  
  477. extern API_FUNCTION
  478.   NetFileGetInfo2 ( const unsigned char LSFAR *     pszServer,
  479.                     unsigned long          ulFileId,
  480.                     short                  sLevel,
  481.                     unsigned char LSFAR *           pbBuffer,
  482.                     unsigned short         cbBuffer,
  483.                     unsigned short LSFAR * pcbTotalAvail );
  484.  
  485.  
  486. /****************************************************************
  487.  *                                                              *
  488.  *              Data structure templates - FILE                 *
  489.  *                                                              *
  490.  ****************************************************************/
  491.  
  492. struct file_info_0 {
  493.     unsigned short      fi0_id;
  494. };  /* file_info_0 */
  495.  
  496. struct file_info_1 {
  497.     unsigned short     fi1_id;
  498.     unsigned short     fi1_permissions;
  499.     unsigned short     fi1_num_locks;
  500.     unsigned char LSFAR * LSPTR fi1_pathname;
  501.     unsigned char LSFAR * LSPTR fi1_username;
  502. };  /* file_info_1 */
  503.  
  504. struct file_info_2 {
  505.     unsigned long       fi2_id;
  506. };  /* file_info_2 */
  507.  
  508. struct file_info_3 {
  509.     unsigned long      fi3_id;
  510.     unsigned short     fi3_permissions;
  511.     unsigned short     fi3_num_locks;
  512.     unsigned char LSFAR * LSPTR fi3_pathname;
  513.     unsigned char LSFAR * LSPTR fi3_username;
  514. };  /* file_info_3 */
  515.  
  516.  
  517. struct res_file_enum_2 {
  518.     unsigned short      res_pad;         /* not used now */
  519.     unsigned short      res_fs;          /* server type */
  520.     unsigned long       res_pro;          /* progressive */
  521. };  /* res_file_enum_2 */
  522.  
  523. #ifdef  PURE_32
  524. /****************************************************************
  525.  *                                                              *
  526.  *              Function prototypes - FILE                      *
  527.  *                for "pure" 32-bit code                        *
  528.  *                                                              *
  529.  ****************************************************************/
  530. extern API32_FUNCTION
  531. Net32FileClose2 ( const unsigned char    * pszServer,
  532.                   unsigned long    ulFileId );
  533.  
  534. extern API32_FUNCTION
  535. Net32FileEnum2 ( const unsigned char    * pszServer,
  536.                  const unsigned char    * pszBasePath,
  537.                  const unsigned char    * pszUserName,
  538.                  unsigned long    ulLevel,             /*was signed short*/
  539.                  unsigned char  * pbBuffer,
  540.                  unsigned long    ulBuffer,            /* was USHORT */
  541.                  unsigned long  * pulEntriesRead,      /* was PUSHORT*/
  542.                  unsigned long  * pulEntriesRemaining, /* was PUSHORT*/
  543.                  void           * pResumeKey );
  544.  
  545. extern API32_FUNCTION
  546. Net32FileGetInfo2 ( const unsigned char    * pszServer,
  547.                     unsigned long    ulFileId,
  548.                     unsigned long    ulLevel,          /*was signed short*/
  549.                     unsigned char  * pbBuffer,
  550.                     unsigned long    ulBuffer,         /* was USHORT */
  551.                     unsigned long  * pulTotalAvail );  /* was PUSHORT*/
  552. #endif /* PURE_32 */
  553.  
  554.  
  555.  
  556. /****************************************************************
  557.  *                                                              *
  558.  *              Special values and constants - FILE             *
  559.  *                                                              *
  560.  ****************************************************************/
  561.  
  562.                                         /* bit values for permissions */
  563. #define PERM_FILE_READ          0x1     /* user has read access */
  564. #define PERM_FILE_WRITE         0x2     /* user has write access */
  565. #define PERM_FILE_CREATE        0x4     /* user has create access */
  566.  
  567.  
  568. typedef struct res_file_enum_2 FRK;
  569.  
  570. #define FRK_INIT( f )   \
  571.         {               \
  572.                 (f).res_pad = 0L;       \
  573.                 (f).res_fs = 0; \
  574.                 (f).res_pro = 0;        \
  575.         }
  576.  
  577.  
  578. #endif /* NETFILE_INCLUDED */
  579.  
  580. #if defined(MIXED_32) || defined(INCL_32)
  581. #pragma linkage (NetShareAdd, far16 pascal)
  582. #pragma linkage (NetShareCheck, far16 pascal)
  583. #pragma linkage (NetShareDel, far16 pascal)
  584. #pragma linkage (NetShareEnum, far16 pascal)
  585. #pragma linkage (NetShareGetInfo, far16 pascal)
  586. #pragma linkage (NetShareSetInfo, far16 pascal)
  587. #pragma linkage (NetSessionDel, far16 pascal)
  588. #pragma linkage (NetSessionEnum, far16 pascal)
  589. #pragma linkage (NetSessionGetInfo, far16 pascal)
  590. #pragma linkage (NetConnectionEnum, far16 pascal)
  591. #pragma linkage (NetFileClose, far16 pascal)
  592. #pragma linkage (NetFileClose2, far16 pascal)
  593. #pragma linkage (NetFileEnum, far16 pascal)
  594. #pragma linkage (NetFileEnum2, far16 pascal)
  595. #pragma linkage (NetFileGetInfo, far16 pascal)
  596. #pragma linkage (NetFileGetInfo2, far16 pascal)
  597. #pragma pack()
  598. #endif
  599.