home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $Source: WB_2.1:homes/rkr/prog/sercli/src/RCS/fifo.h,v $
- ** $Author: rkr $
- ** $Revision: 1.5 $
- ** $Locker: rkr $
- ** $State: Exp $
- ** $Date: 1993/06/16 23:33:55 $
- **
- */
-
-
- /*
- * FIFO.H
- *
- * PUBLIC FIFO STRUCTURES AND DEFINES
- */
-
- #ifndef LIBRARIES_FIFO_H
- #define LIBRARIES_FIFO_H
-
- #define FIFONAME "fifo.library"
-
- #define FIFOF_READ 0x00000100L /* intend to read from fifo */
- #define FIFOF_WRITE 0x00000200L /* intend to write to fifo */
- #define FIFOF_RESERVED 0xFFFF0000L /* reserved for internal use */
- #define FIFOF_NORMAL 0x00000400L /* request blocking/sig support*/
- #define FIFOF_NBIO 0x00000800L /* non-blocking IO */
-
- #define FIFOF_KEEPIFD 0x00002000L /* keep fifo alive if data pending */
- #define FIFOF_EOF 0x00004000L /* EOF on close */
-
- #define FREQ_RPEND 1
- #define FREQ_WAVAIL 2
- #define FREQ_ABORT 3
-
- typedef void *FifoHan; /* returned by OpenFifo() */
-
-
-
- /*
- ** Need some protos so that I can use Manx/Aztec #pragmas...
- **
- ** ---rkr.
- **
- */
- FifoHan OpenFifo (char *name, long bufsize, long flags);
- void CloseFifo (FifoHan fifo, long flags);
- long ReadFifo (FifoHan fifo, char **pptr, long skip);
- long WriteFifo (FifoHan fifo, void *buf, long max);
- void RequestFifo (FifoHan fifo, struct Message *msg, long req);
- long BufSizeFifo (FifoHan fifo);
-
-
-
- /*
- ** Define __USE_LIBRARY_PRAGMAS if you want to get to "fifo_pragmas.h" (or
- ** else manually #include "fifo_pragmas.h"). (Except for Aztec users...
- ** you automatically get the #pragmas...)
- **
- ** The #pragmas were generated by the mapfd that came with Aztec; they are
- ** in Lattice form, so should work with either Aztec or Lattice/SAS.
- **
- ** You will need at least Aztec v5.0a.
- **
- ** ---rkr.
- **
- */
- #ifdef AZTEC_C
- #ifndef __USE_LIBRARY_PRAGMAS
-
- #define __USE_LIBRARY_PRAGMAS 1
-
- #endif /*** __USE_LIBRARY_PRAGMAS ***/
- #endif /*** AZTEC_C ***/
-
-
- #ifdef __USE_LIBRARY_PRAGMAS
- #include "fifo_pragmas.h"
- #endif /*** __USE_LIBRARY_PRAGMAS ***/
-
- #endif
-