home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool.zip / OOL / include / xnpipe.h < prev    next >
C/C++ Source or Header  |  1997-03-09  |  2KB  |  58 lines

  1. #ifndef __OOL_XNPIPE_H__
  2. #define __OOL_XNPIPE_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------- OS/2 Beta 1 */
  6. /*===========================================================================*/
  7. /*                              class: XNamedPipeServer                      */
  8. /*                       derived from: XIO                                   */
  9. /*                        last update: 9/96                                  */
  10. /*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
  11. /*===========================================================================*/
  12.  
  13. #include "xio.h"
  14.  
  15. #ifdef OOL_FOR_OS2_X86
  16.    #define XNPIPE_DEFAULTSIZE            4096
  17.    #define XNPIPE_INDEFINITE_WAIT    (-1)
  18.    #define XNPIPE_DEFAULT_WAIT        0
  19.    #define XNPIPE_STATE_DISCONNECTED    1
  20.    #define XNPIPE_STATE_LISTENING    2
  21.    #define XNPIPE_STATE_CONNECTED    3
  22.    #define XNPIPE_STATE_CLOSING    4
  23.    #define XNPIPE_ACCESS_INBOUND    0x0000
  24.    #define XNPIPE_ACCESS_OUTBOUND    0x0001
  25.    #define XNPIPE_ACCESS_DUPLEX    0x0002
  26.    #define XNPIPE_INHERIT        0x0000
  27.    #define XNPIPE_NOINHERIT        0x0080
  28.    #define XNPIPE_WRITEBEHIND        0x0000
  29.    #define XNPIPE_NOWRITEBEHIND    0x4000
  30.  
  31.    #define XNPIPE_READMODE_BYTE    0x0000
  32.    #define XNPIPE_READMODE_MESSAGE    0x0100
  33.    #define XNPIPE_TYPE_BYTE        0x0000
  34.    #define XNPIPE_TYPE_MESSAGE        0x0400
  35.    #define XNPIPE_END_CLIENT        0x0000
  36.    #define XNPIPE_END_SERVER        0x4000
  37.    #define XNPIPE_WAIT            0x0000
  38.    #define XNPIPE_NOWAIT        0x8000
  39.    #define XNPIPE_UNLIMITED_INSTANCES    0x00ff
  40.  
  41. #endif
  42.  
  43.  
  44. class _export_ XNamedPipeServer: public XIO
  45. {
  46.       BOOL isOpen;
  47.    public:
  48.       XNamedPipeServer() { isOpen = FALSE; }
  49.       ~XNamedPipeServer() { if(isOpen) Close();  }
  50.       LONG Connect(void);
  51.       LONG DisConnect( void );
  52.       LONG Open( char * name, ULONG openMode = XNPIPE_ACCESS_DUPLEX, ULONG pipeMode = XNPIPE_WAIT|XNPIPE_TYPE_BYTE|XNPIPE_READMODE_BYTE, char pipeCount = 1, LONG outSize = XNPIPE_DEFAULTSIZE, long inSize = XNPIPE_DEFAULTSIZE, ULONG timeOut = 500 );
  53.       LONG GetState( void );
  54.       LONG ResetBuffer( void ) { return DosResetBuffer(handle); }
  55. };
  56.  
  57. #endif
  58.