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 / RIPL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-10  |  10.3 KB  |  220 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 ...  RIPL.H                                     *
  13.  *                                                                  *
  14.  *  This file contains information about the RIPL (Remote IPL)      *
  15.  *  APIs.  For each API class there is a section on:                *
  16.  *                                                                  *
  17.  *      Function prototypes.                                        *
  18.  *                                                                  *
  19.  *       Data structure templates.                                  *
  20.  *                                                                  *
  21.  *        Definition of special values.                             *
  22.  *                                                                  *
  23.  *                                                                  *
  24.  *  NOTE:  You must include NETCONS.H before this file, since this  *
  25.  *           file depends on values defined in NETCONS.H.           *
  26.  *                                                                  *
  27.  ********************************************************************/
  28.  
  29.  
  30. #ifdef  INCL_32
  31. #pragma pack(2)
  32. #endif
  33.  
  34. #if !defined NETRIPL_INCLUDED
  35. #define NETRIPL_INCLUDED
  36.  
  37.  
  38. /****************************************************************
  39.  *                                                              *
  40.  *              Function prototypes - NetxxxRIPLMachine         *
  41.  *                                    NetxxxRIPLMachineInfo     *
  42.  *                                                              *
  43.  ****************************************************************/
  44.  
  45. extern API_FUNCTION
  46.  NetCreateRIPLMachine (const unsigned char LSFAR *,   /* server               */
  47.                        unsigned short,                /* level (2, 12)        */
  48.                        unsigned char LSFAR *,         /* buffer (send)        */
  49.                        unsigned short);               /* buffer length        */
  50.  
  51. extern API_FUNCTION
  52.  NetDeleteRIPLMachine (const unsigned char LSFAR *,   /* server               */
  53.                        unsigned char LSFAR *);        /* machine name(client) */
  54.  
  55. extern API_FUNCTION
  56.  NetGetRIPLMachineInfo (const unsigned char LSFAR *,  /* server               */
  57.                         unsigned char LSFAR *,        /* machine name(client) */
  58.                         unsigned short,               /* level (0, 1, 2)      */
  59.                         unsigned char LSFAR *,        /* buffer (receive)     */
  60.                         unsigned short,               /* buffer length        */
  61.                         unsigned short LSFAR *);      /* bytes available      */
  62.  
  63. extern API_FUNCTION
  64.  NetSetRIPLMachineInfo (const unsigned char LSFAR *,  /* server               */
  65.                         unsigned char LSFAR *,        /* machine name(client) */
  66.                         unsigned short,               /* level (1, 2)         */
  67.                         unsigned char LSFAR *,        /* buffer (send)        */
  68.                         unsigned short,               /* buffer length        */
  69.                         unsigned short);              /* parameter number     */
  70.  
  71. extern API_FUNCTION
  72.  NetEnumRIPLMachine (const unsigned char LSFAR *,     /* server               */
  73.                      unsigned short,                  /* level (0, 1, 2)      */
  74.                      unsigned short,                  /* type                 */
  75.                      unsigned char LSFAR *,           /* buffer (receive)     */
  76.                      unsigned short,                  /* buffer length        */
  77.                      unsigned short LSFAR *,          /* entries returned     */
  78.                      unsigned short LSFAR *);         /* entries available    */
  79.  
  80. /****************************************************************
  81.  *                                                              *
  82.  *              Data structure templates - RIPL                 *
  83.  *                                                              *
  84.  ****************************************************************/
  85.  
  86. struct ripl_machine_info_0
  87.    {
  88.     unsigned char                     rmi0_name[CNLEN + 1];
  89.    };
  90.  
  91. struct ripl_machine_info_1
  92.    {
  93.     unsigned char                     rmi1_name[CNLEN + 1];
  94.     unsigned char LSFAR * LSPTR       rmi1_remark;
  95.    };
  96.  
  97. struct ripl_machine_info_2
  98.    {
  99.     unsigned char                     rmi2_name[CNLEN + 1];
  100.     unsigned char LSFAR * LSPTR       rmi2_remark;
  101.     unsigned char                     rmi2_adapter_address[NNLEN + 1];
  102.     unsigned char                     rmi2_pad_1;
  103.     unsigned char                     rmi2_OS2_boot_drive;
  104.     unsigned char                     rmi2_pad_2;
  105.     unsigned char                     rmi2_DOS_imageid[DOSIMGLEN + 1];
  106.     unsigned char                     rmi2_pad_3;
  107.     unsigned char LSFAR * LSPTR       rmi2_DOS_srv_rec_ID;
  108.     unsigned char LSFAR * LSPTR       rmi2_OS2_srv_rec_ID;
  109.     unsigned long                     rmi2_OS2_config_flags;
  110.    };
  111.  
  112. struct ripl_machine_info_12
  113.    {
  114.     unsigned char                     rmi12_name[CNLEN + 1];
  115.     unsigned char LSFAR * LSPTR       rmi12_remark;
  116.     unsigned char                     rmi12_adapter_address[NNLEN + 1];
  117.     unsigned char                     rmi12_pad_1;
  118.     unsigned char                     rmi12_model_name[CNLEN + 1];
  119.    };
  120.  
  121.  
  122.  
  123. #ifdef PURE_32
  124. /****************************************************************
  125.  *                                                              *
  126.  *   32-bit Function prototypes - NetxxxRIPLMachine             *
  127.  *                                NetxxxRIPLMachineInfo         *
  128.  *                                                              *
  129.  ****************************************************************/
  130.  
  131. extern API32_FUNCTION
  132.  Net32CreateRIPLMachine (const unsigned char *,       /* server               */
  133.                          unsigned long,               /* level (2, 12)        */
  134.                          unsigned char *,             /* buffer (send)        */
  135.                          unsigned long);              /* buffer length        */
  136.  
  137. extern API32_FUNCTION
  138.  Net32DeleteRIPLMachine (const unsigned char *,       /* server               */
  139.                          unsigned char LSFAR *);      /* machine name(client) */
  140.  
  141. extern API32_FUNCTION
  142.  Net32GetRIPLMachineInfo (const unsigned char *,      /* server               */
  143.                           unsigned char       *,      /* machine name(client) */
  144.                           unsigned long,              /* level (0, 1, 2)      */
  145.                           unsigned char       *,      /* buffer (receive)     */
  146.                           unsigned long,              /* buffer length        */
  147.                           unsigned long       *);     /* bytes available      */
  148.  
  149. extern API32_FUNCTION
  150.  Net32SetRIPLMachineInfo (const unsigned char *,      /* server               */
  151.                           unsigned char       *,      /* machine name(client) */
  152.                           unsigned long,              /* level (1, 2)         */
  153.                           unsigned char       *,      /* buffer (send)        */
  154.                           unsigned long,              /* buffer length        */
  155.                           unsigned long);             /* parameter number     */
  156.  
  157. extern API32_FUNCTION
  158.  Net32EnumRIPLMachine (const unsigned char *,         /* server               */
  159.                        unsigned long,                 /* level (0, 1, 2)      */
  160.                        unsigned long,                 /* type                 */
  161.                        unsigned char        *,        /* buffer (receive)     */
  162.                        unsigned long,                 /* buffer length        */
  163.                        unsigned long        *,        /* entries returned     */
  164.                        unsigned long        *);       /* entries available    */
  165. #endif /* PURE_32 */
  166.  
  167.  
  168. /****************************************************************
  169.  *                                                              *
  170.  *              Special values and constants - RIPL             *
  171.  *                                                              *
  172.  ****************************************************************/
  173.  
  174. /*
  175.  * values for rmi1_machine_type
  176.  */
  177.  
  178. #define MTYPE_OS2_RIPL_REQ             0x0001
  179. #define MTYPE_DOS_RIPL_REQ             0x0002
  180.  
  181. /*
  182.  * values for Parmnum
  183.  */
  184.  
  185. #define RIPL_MACH_REMARK_PARMNUM                 2
  186. #define RIPL_MACH_ADAPTER_PARMNUM                3
  187. #define RIPL_MACH_OS2_BOOTDRIVE_PARMNUM          5
  188. #define RIPL_MACH_DOS_IMAGEID_PARMNUM            7
  189. #define RIPL_MACH_DOS_SRVRECID_PARMNUM           9
  190. #define RIPL_MACH_OS2_SRVRECID_PARMNUM          10
  191.  
  192. #define RI1_NUM_ELEMENTS            2
  193. #define RI2_NUM_ELEMENTS           10
  194.  
  195. /*
  196.  * values for rmi2_OS2_config_flags
  197.  */
  198.  
  199. #define OS2_SWAPPER_LOCAL          0x00000000L
  200. #define OS2_SWAPPER_SERVER         0x00000001L
  201. #define OS2_BUS_MCA                0x00000000L
  202. #define OS2_BUS_ISA                0x00000002L
  203. #define OS2_DISPLAY_IBMVGA32       0x00000000L
  204. #define OS2_DISPLAY_IBMXGA32       0x00000010L
  205. #define OS2_DISPLAY_IBM8514        0x00000020L
  206. #define OS2_DISPLAY_SVGA           0x00000040L
  207. #define OS2_DISPLAY_S3SVGA         0x00000080L
  208. #define OS2_DISPLAY_IBMEGA         0x00000100L
  209.  
  210. #if defined(INCL_32) || defined (MIXED_32)
  211. #pragma linkage (NetCreateRIPLMachine,  far16 pascal)
  212. #pragma linkage (NetDeleteRIPLMachine,  far16 pascal)
  213. #pragma linkage (NetGetRIPLMachineInfo, far16 pascal)
  214. #pragma linkage (NetSetRIPLMachineInfo, far16 pascal)
  215. #pragma linkage (NetEnumRIPLMachine,    far16 pascal)
  216. #pragma pack ()
  217. #endif
  218.  
  219. #endif
  220.