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

  1. #ifndef __OOL_XNPIPE_H__
  2. #define __OOL_XNPIPE_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------------- r 1.0 */
  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.