added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / arch / all-unix / hidd / parallel / parallel_intern.h
blobc8607775862c95eaab28680bb56a7666d44331bd
1 /*
2 Copyright © 1995-2007 The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef PARALLEL_HIDD_INTERN_H
7 #define PARALLEL_HIDD_INTERN_H
9 /* Include files */
11 #include <sys/termios.h>
13 #ifndef EXEC_LIBRARIES_H
14 # include <exec/libraries.h>
15 #endif
16 #ifndef OOP_OOP_H
17 # include <oop/oop.h>
18 #endif
19 #ifndef HIDD_PARALLEL_H
20 # include <hidd/parallel.h>
21 #endif
22 #include <dos/dos.h>
24 #define PAR_MAX_UNITS 3
26 struct HIDDParallelData
28 OOP_Class *ParallelHIDDClass;
30 OOP_Object *ParallelUnits[PAR_MAX_UNITS];
31 UBYTE usedunits;
35 #define PAR_UNIT_0_F 1
36 #define PAR_UNIT_1_F 2
37 #define PAR_UNIT_2_F 4
40 struct class_static_data
42 struct Library * utilitybase;
43 struct Library * oopbase;
45 OOP_Class *parallelhiddclass;
46 OOP_Class *parallelunitclass;
49 struct HIDDParallelUnitData
51 VOID (*DataWriteCallBack) (ULONG unitnum, APTR userdata);
52 VOID (*DataReceivedCallBack)(UBYTE *buffer, ULONG len, ULONG unitnum, APTR userdata);
53 VOID *DataWriteUserData;
54 VOID *DataReceivedUserData;
56 ULONG unitnum;
57 int filedescriptor;
59 BOOL stopped;
61 struct MsgPort *replyport_read;
62 struct Interrupt *softint_read;
63 HIDD unixio_read;
65 struct MsgPort *replyport_write;
66 struct Interrupt *softint_write;
67 HIDD unixio_write;
72 /* Library base */
74 struct IntHIDDParallelBase
76 struct Library hdg_LibNode;
78 struct class_static_data hdg_csd;
82 #define CSD(cl) (&((struct IntHIDDParallelBase *)cl)->hdg_csd)
84 #endif /* PARALLEL_HIDD_INTERN_H */