home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <exec/ports.h>
- #include <exec/semaphores.h>
- #include <exec/libraries.h>
- #include <dos/dos.h>
- #include <exec/memory.h>
- #include <clib/exec_protos.h>
- #include <clib/alib_protos.h>
- #include <clib/dos_protos.h>
- #include <clib/intuition_protos.h>
- #include <devices/timer.h>
- #include <string.h>
-
- #define LibCall __geta4 __regargs
- #define Prototype extern
-
- #include "golded:developer/api/include/apilib.h"
- #include "o/lib-protos.h"
-
- extern const char LibName[];
- extern const char LibId[];
-
- /* we allocate a context structure for each host process (because message ports work on a per-task basis) */
-
- struct HostContext {
-
- struct Node Node; /* it's a linked list */
- struct Task *Task; /* host task */
- struct MsgPort *TimerPort; /* port for receiving timer messages */
- struct timerequest *TimeRequest; /* device handle */
- struct timerequest *IOPending; /* pending IO request */
- UWORD OpenCount; /* open counter (number of plug-in instances used by this host) */
- };
-
- /* we allocate a PlugInContext for each plug-in instance */
-
- struct PlugInContext {
-
- struct APIClient APIClient; /* API handle (exposed to host) */
- struct HostContext *HostContext; /* host context for this instance */
- };
-
- /* globals */
-
- extern struct List HostList; /* list of hosts using this plug-in */
-