home *** CD-ROM | disk | FTP | other *** search
- #ifndef XPRKERMIT_H
-
- #define XPRKERMIT_H 1
-
- /*
- * $Header: Work:src/xprkermit/RCS/xprkermit.h,v 1.3 91/11/09 06:55:40 swalton Exp Locker: swalton $
- */
-
- #include "xproto.h"
-
- /*
- * The abstract data type for setting up XPR Kermit.
- */
-
- typedef struct {
- void *DataSeg; /* ADDITION--Data segment for reentrancy */
- char FileName[256];
- int ParityFlag,
- TextFlag,
- ConvertFlag,
- MaxPacket,
- BlockCheckType,
- RetryLimit,
- Timeout,
- KeepFlag,
- GetFlag;
- } SetupVars;
-
- /* xprkermit.c */
- long XProtocolSend(struct XPR_IO *IO);
- long XProtocolReceive(struct XPR_IO *IO);
- long XProtocolSetup(struct XPR_IO *IO);
- int SetupFromString(struct XPR_IO *IO, char *s, SetupVars *sv);
- long XProtocolCleanup(struct XPR_IO *IO);
- int XPRParity(struct XPR_IO *IO);
- void XPRLong(struct XPR_IO *IO, long i);
- void ioerr(struct XPR_IO *IO, char *msg);
-
- #pragma regcall(SetupFromString(a0, a1, a2))
- #pragma regcall(XPRParity(a0))
- #pragma regcall(XPRLong(a0, d0))
- #pragma regcall(ioerr(a0,a1))
-
- /*
- * The structure for XProtocolBase. Now we need to know about this.
- */
-
- #include <exec/libraries.h>
-
- struct XProtocolBase {
- struct Library xp_Lib;
- unsigned long xp_SegList;
- };
- /*
- * Pragmas for the user-callable functions. No more stubs for me!
- */
-
- #pragma amicall(XProtocolBase, 0x1e, XProtocolCleanup(a0))
- #pragma amicall(XProtocolBase, 0x24, XProtocolSetup(a0))
- #pragma amicall(XProtocolBase, 0x2a, XProtocolSend(a0))
- #pragma amicall(XProtocolBase, 0x30, XProtocolReceive(a0))
-
- /*
- * Prototypes for the callbacks. We can't use amicall pragmas, sigh.
- */
-
- long calla(long (*f)(), void *);
- long calld(long (*f)(), long);
- long callda(long (*f)(), long, void *);
- long callaa(long (*f)(), void *, void *);
- long callad(long (*f)(), void *, long);
- long calladd(long (*f)(), void *, long, long);
- long calldaa(long (*f)(), long, void *, void *);
- long calladda(long (*f)(), void *, long, long, void *);
-
-
- #endif
-