Updated PCI IDs to latest snapshot.
[tangerine.git] / workbench / hidds / parallel / include / parallel.h
blob4386d0ad58c8e9cb3dfeefdd6298e940f34ef59c
1 #ifndef HIDD_PARALLEL_H
2 #define HIDD_PARALLEL_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Definitions for the Parallel HIDD system.
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
15 #ifndef HIDD_HIDD_H
16 # include <hidd/hidd.h>
17 #endif
18 #ifndef OOP_OOP_H
19 # include <oop/oop.h>
20 #endif
22 #include <utility/utility.h>
25 #define CLID_Hidd_Parallel "hidd.parallel.parallel"
26 #define CLID_Hidd_ParallelUnit "hidd.parallel.parallelunit"
28 #define IID_Hidd_Parallel "hidd.parallel.parallel"
29 #define IID_Hidd_ParallelUnit "hidd.parallel.parallelunit"
33 /**** Graphics definitions ****************************************************/
35 #ifndef __OOP_NOATTRBASES__
36 extern OOP_AttrBase HiddParallelUnitAB;
37 #endif
39 enum {
40 aoHidd_ParallelUnit_Unit,
42 num_Hidd_ParallelUnit_Attrs
46 #define aHidd_ParallelUnit_Unit (HiddParallelUnitAB + aoHidd_ParallelUnit_Unit)
48 #define IS_HIDDPARALLELUNIT_ATTR(attr, idx) IS_IF_ATTR(attr, idx, HiddParallelUnitAB, num_Hidd_ParallelUnit_Attrs)
50 enum
52 moHidd_Parallel_NewUnit = 0,
53 moHidd_Parallel_DisposeUnit,
54 moHidd_Parallel_NumMethods // always keep this the last one!
60 struct pHidd_Parallel_NewUnit
62 OOP_MethodID mID;
63 ULONG unitnum;
66 struct pHidd_Parallel_DisposeUnit
68 OOP_MethodID mID;
69 OOP_Object *unit;
73 /**** Parallel Unit definitions ******************************************************/
76 enum
78 /* Methods for a parallel unit */
80 moHidd_ParallelUnit_Init,
81 moHidd_ParallelUnit_Write,
82 moHidd_ParallelUnit_Start,
83 moHidd_ParallelUnit_Stop,
84 moHidd_ParallelUnit_GetStatus,
85 moHidd_ParallelUnit_NumMethods // always keep this the last one!
89 /* messages for a parallel unit */
91 struct pHidd_ParallelUnit_Init
93 OOP_MethodID mID;
94 VOID *DataReceived;
95 VOID *DataReceivedUserData;
96 VOID *WriteData;
97 VOID *WriteDataUserData;
100 struct pHidd_ParallelUnit_Write
102 OOP_MethodID mID;
103 ULONG Length;
104 UBYTE *Outbuffer;
107 struct pHidd_ParallelUnit_Start
109 OOP_MethodID mID;
112 struct pHidd_ParallelUnit_Stop
114 OOP_MethodID mID;
117 struct pHidd_ParallelUnit_GetStatus
119 OOP_MethodID mID;
122 /* Predeclarations of stubs in libhiddparallelstubs.h */
124 OOP_Object * HIDD_Parallel_NewUnit (OOP_Object *obj, ULONG unitnum);
125 VOID HIDD_Parallel_DisposeUnit (OOP_Object *obj, OOP_Object *unit);
127 BOOL HIDD_ParallelUnit_Init (OOP_Object *obj, VOID * DataReceived, VOID * DataReceivedUserData, VOID * WriteData, VOID * WriteDataUserData);
128 ULONG HIDD_ParallelUnit_Write (OOP_Object *obj, UBYTE * data, ULONG length);
129 VOID HIDD_ParallelUnit_Start (OOP_Object *obj);
130 VOID HIDD_ParallelUnit_Stop (OOP_Object *obj);
131 UWORD HIDD_ParallelUnit_GetStatus (OOP_Object *obj);
133 #endif /* HIDD_PARALLEL_H */