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 / MAILSLOT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-10  |  6.3 KB  |  150 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 ...  MAILSLOT.H                    *
  13.  *                                    *
  14.  *  This file contains information about the Mailslot APIs.        *
  15.  *                                    *
  16.  *    Function prototypes.                        *
  17.  *                                    *
  18.  ********************************************************************/
  19.  
  20.  
  21. #ifdef  INCL_32
  22. #pragma pack(1)
  23. #endif
  24.  
  25.  
  26. #ifndef NETMAILSLOT_INCLUDED
  27.  
  28. #define NETMAILSLOT_INCLUDED
  29.  
  30.  
  31. /****************************************************************
  32.  *                                                              *
  33.  *               Function prototypes - Mailslot                 *
  34.  *                                                              *
  35.  ****************************************************************/
  36.  
  37. extern API_FUNCTION
  38.   DosMakeMailslot ( const unsigned char LSFAR * pszName,
  39.                     unsigned short              cbMessageSize,
  40.                     unsigned short              cbMailslotSize,
  41.                     unsigned LSINT LSFAR *      phMailslot );
  42.  
  43. extern API_FUNCTION
  44.   DosDeleteMailslot ( unsigned LSINT hMailslot );
  45.  
  46. extern API_FUNCTION
  47.   DosMailslotInfo ( unsigned LSINT         hMailslot,
  48.                     unsigned short LSFAR * pcbMessageSize,
  49.                     unsigned short LSFAR * pcbMailslotSize,
  50.                     unsigned short LSFAR * pcbNextSize,
  51.                     unsigned short LSFAR * pusNextPriority,
  52.                     unsigned short LSFAR * pcMessages);
  53.  
  54. extern API_FUNCTION
  55.   DosPeekMailslot ( unsigned  LSINT        hMailslot,
  56.                     unsigned char LSFAR *  pbBuffer,
  57.                     unsigned short LSFAR * pcbReturned,
  58.                     unsigned short LSFAR * pcbNextSize,
  59.                     unsigned short LSFAR * pusNextPriority );
  60.  
  61. extern API_FUNCTION
  62.   DosReadMailslot ( unsigned  LSINT        hMailslot,
  63.                     unsigned char LSFAR *  pbBuffer,
  64.                     unsigned short LSFAR * pcbReturned,
  65.                     unsigned short LSFAR * pcbNextSize,
  66.                     unsigned short LSFAR * pusNextPriority,
  67.                     long                   cTimeout );
  68.  
  69. extern API_FUNCTION
  70.   DosWriteMailslot ( const unsigned char LSFAR * pszName,
  71.                      const unsigned char LSFAR * pbBuffer,
  72.                      unsigned short              cbBuffer,
  73.                      unsigned short              usPriority,
  74.                      unsigned short              usClass,
  75.                      long                        cTimeout );
  76.  
  77.  
  78. /* -------------------- Begin F2359 --------------------- */
  79.  
  80. #ifdef PURE_32
  81. /****************************************************************
  82.  *                                                              *
  83.  *               Function prototypes - Mailslot                 *
  84.  *                                                              *
  85.  ****************************************************************/
  86.  
  87. extern API32_FUNCTION
  88. Dos32MakeMailslot ( const unsigned char * pszName,
  89.                     unsigned long         ulMessageSize,  /* was USHORT*/
  90.                     unsigned long         ulMailslotSize, /* was USHORT*/
  91.                     unsigned long       * phMailslot );  /* was unsigned LSINT*/
  92.  
  93. extern API32_FUNCTION
  94. Dos32DeleteMailslot ( unsigned long  hMailslot );
  95.  
  96. extern API32_FUNCTION
  97. Dos32MailslotInfo ( unsigned long    hMailslot,        /* was unsigned LSINT */
  98.                     unsigned long  * pulMessageSize,   /* was USHORT */
  99.                     unsigned long  * pulMailslotSize,  /* was USHORT */
  100.                     unsigned long  * pulNextSize,      /* was USHORT */
  101.                     unsigned long  * pulNextPriority,  /* was USHORT */
  102.                     unsigned long  * pulMessages);     /* was USHORT */
  103.  
  104. extern API32_FUNCTION
  105. Dos32PeekMailslot ( unsigned long    hMailslot,        /* was unsigned LSINT */
  106.                     unsigned char  * pbBuffer,
  107.                     unsigned long  * pulReturned,      /* was USHORT */
  108.                     unsigned long  * pulNextSize,      /* was USHORT */
  109.                     unsigned long  * pulNextPriority); /* was USHORT */
  110.  
  111. extern API32_FUNCTION
  112. Dos32ReadMailslot ( unsigned long    hMailslot,        /* was unsigned LSINT */
  113.                     unsigned char  * pbBuffer,
  114.                     unsigned long  * pulReturned,      /* was USHORT */
  115.                     unsigned long  * pulNextSize,      /* was USHORT */
  116.                     unsigned long  * pulNextPriority,  /* was USHORT */
  117.                     long             lTimeout );
  118.  
  119. extern API32_FUNCTION
  120. Dos32WriteMailslot ( const unsigned char * pszName,
  121.                      const unsigned char * pbBuffer,
  122.                      unsigned long         ulBuffer,     /* was USHORT */
  123.                      unsigned long         ulPriority,   /* was USHORT */
  124.                      unsigned long         ulClass,      /* was USHORT */
  125.                      long                  lTimeout );
  126. #endif /* PURE_32 */
  127.  
  128. /* --------------------  End  F2359 --------------------- */
  129.  
  130.  
  131. /****************************************************************
  132.  *                                *
  133.  *          Special values and constants - Mailslot        *
  134.  *                                *
  135.  ****************************************************************/
  136.  
  137. #define MAILSLOT_NO_TIMEOUT    -1
  138.  
  139. #endif /* NETMAILSLOT_INCLUDED */
  140.  
  141. #if defined(INCL_32) || defined(MIXED_32)
  142. #pragma linkage (DosDeleteMailslot, far16 pascal)
  143. #pragma linkage (DosMailslotInfo, far16 pascal)
  144. #pragma linkage (DosMakeMailslot, far16 pascal)
  145. #pragma linkage (DosPeekMailslot, far16 pascal)
  146. #pragma linkage (DosReadMailslot, far16 pascal)
  147. #pragma linkage (DosWriteMailslot, far16 pascal)
  148. #pragma pack()
  149. #endif
  150.