try to make sure compiler/include/mmakefile is always refreshed correctly.
[AROS.git] / arch / ppc-sam440 / serial.hidd / serial_intern.h
blobc899ab78c1017cd51415b63257e00bdbb1713149
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef SERIAL_HIDD_INTERN_H
7 #define SERIAL_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_SERIAL_H
20 # include <hidd/serial.h>
21 #endif
22 #include <dos/dos.h>
23 #include <hardware/uart.h>
25 #define SER_MAX_UNITS 4
27 struct HIDDSerialData
29 OOP_Class *sd_HIDDSerialClass;
31 OOP_Object *sd_Unit[SER_MAX_UNITS];
32 UBYTE sd_UsedMask;
35 #define SER_UNIT_0_F 1
36 #define SER_UNIT_1_F 2
37 #define SER_UNIT_2_F 4
38 #define SER_UNIT_3_F 8
40 struct HIDDSerialUnitData
42 ULONG (*DataWriteCallBack) (ULONG unitnum, APTR userdata);
43 VOID (*DataReceivedCallBack)(UBYTE *buffer, ULONG len, ULONG unitnum, APTR userdata);
44 VOID *DataWriteUserData;
45 VOID *DataReceivedUserData;
47 ULONG unitnum;
48 ULONG baseaddr;
49 ULONG baudrate;
50 UBYTE datalength;
51 BOOL parity;
52 UBYTE paritytype;
53 UBYTE stopbits;
54 BOOL breakcontrol;
55 BOOL stopped;
58 struct class_static_data
60 OOP_Class *cs_SerialHIDDClass;
61 OOP_Class *cs_SerialUnitClass;
63 OOP_Object *cs_IRQHidd;
64 UBYTE cs_IRQ[4];
66 struct HIDDSerialUnitData *cs_Unit[SER_MAX_UNITS];
67 OOP_AttrBase cs_hiddSerialUnitAB;
70 #define __IHidd_SerialUnitAB (csd->cs_hiddSerialUnitAB)
72 #define SER_DEFAULT_BAUDRATE 115200
76 /* Library base */
78 struct IntHIDDSerialBase
80 struct Library hdg_LibNode;
82 struct class_static_data hdg_csd;
86 #define CSD(x) (&((struct IntHIDDSerialBase *)x)->hdg_csd)
88 /* pre declarations */
90 OOP_Class *init_serialhiddclass(struct class_static_data *csd);
91 void free_serialhiddclass(struct class_static_data *csd);
93 OOP_Class *init_serialunitclass(struct class_static_data *csd);
94 void free_serialunitclass(struct class_static_data *csd);
96 #endif /* SERIAL_HIDD_INTERN_H */