home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
171.lha
/
DME_v1.30
/
Sources
/
rexxio.h
< prev
next >
Wrap
C/C++ Source or Header
|
1988-04-28
|
3KB
|
76 lines
/* === rexx/rexxio.h ====================================================
*
* Copyright (c) 1986, 1987 by William S. Hawes (All Rights Reserved)
*
* ======================================================================
* Header file for ARexx Input/Output related structures
*/
#ifndef REXX_REXXIO_H
#define REXX_REXXIO_H
#ifndef REXX_STORAGE_H
#include "rexx/storage.h"
#endif
#define RXBUFFSZ 204 /* buffer length */
/* The IoBuff is a resource node used to maintain the File List. Nodes are
* allocated and linked into the list whenever a file is opened.
*/
struct IoBuff {
struct RexxRsrc iobNode; /* structure for files/strings */
APTR iobRpt; /* read/write pointer */
LONG iobRct; /* character count */
LONG iobDFH; /* DOS filehandle */
APTR iobLock; /* DOS lock */
LONG iobBct; /* buffer length */
BYTE iobArea[RXBUFFSZ]; /* buffer area */
}; /* size: 256 bytes */
/* Access mode definitions */
#define RXIO_EXIST -1 /* an external filehandle */
#define RXIO_STRF 0 /* a "string file" */
#define RXIO_READ 1 /* read-only access */
#define RXIO_WRITE 2 /* write mode */
#define RXIO_APPEND 3 /* append mode (existing file) */
/* Offset anchors for SeekF() */
#define RXIO_BEGIN -1 /* relative to start */
#define RXIO_CURR 0 /* relative to current position */
#define RXIO_END 1 /* relative to end */
/* The Library List contains just plain resource nodes. */
#define LLOFFSET(rrp) (rrp->rr_Arg1) /* "Query" offset */
#define LLVERS(rrp) (rrp->rr_Arg2) /* library version */
/* The RexxClipNode structure is used to maintain the Clip List. The
* value string is stored as an argstring in the rr_Arg1 field.
*/
#define CLVALUE(rrp) ((STRPTR) rrp->rr_Arg1)
/* A message port structure, maintained as a resource node.
* The ReplyList holds packets that have been received but haven't been
* replied.
*/
struct RexxMsgPort {
struct RexxRsrc rmp_Node; /* linkage node */
struct MsgPort rmp_Port; /* the message port */
struct List rmp_ReplyList; /* messages awaiting reply */
};
/* DOS Device types */
#define DT_DEV 0 /* a device */
#define DT_DIR 1 /* an ASSIGNed directory */
#define DT_VOL 2 /* a volume */
/* Private DOS packet types */
#define ACTION_STACK 2002 /* stack a line */
#define ACTION_QUEUE 2003 /* queue a line */
#endif