1 /****************************************************************************
3 ** Program: pipe-handler - an AmigaDOS handler for named pipes
5 ** Author: Ed Puckett qix@mit-oz
7 ** Copyright 1987 by EpAc Software. All Rights Reserved.
9 ** History: 05-Jan-87 Original Version (1.0)
10 ** 07-Feb-87 Added "lockct" check in CheckWaiting().
24 { BYTE
*buf
; /* the next position for read/write */
25 ULONG len
; /* the remaining length t read/write */
26 IOTYPE reqtype
; /* PIPEREAD or PIPEWRITE only */
31 { struct DosPacket
*clientpkt
; /* the client's packet */
32 struct FileHandle
*handle
; /* the associated filehandle */
37 { struct pipewait pipewait
; /* for packet waiting on pipe */
38 struct tapwait tapwait
; /* for packet waiting on tap */
42 typedef struct waitingdata
43 { PIPELISTNODE link
; /* for list use */
44 struct DosPacket
*pkt
; /* the packet we are waiting on */
45 union pktinfo pktinfo
; /* data pertaining to the waiting request */
51 extern void StartPipeIO ( /* pipe, pkt, iotype */ );
52 extern void CheckWaiting ( /* pipe */ );
53 extern struct DosPacket
*AllocPacket ( /* ReplyPort */ );
54 extern void FreePacket ( /* pkt */ );
55 extern void StartTapIO ( /* pkt, Type, Arg1, Arg2, Arg3, Handler */ );
56 extern void HandleTapReply ( /* pkt */ );