added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / libraries / configvars.h
blob287d52685675f42241d144dfac0701e51e409ec0
1 #ifndef LIBRARIES_CONFIGVARS_H
2 #define LIBRARIES_CONFIGVARS_H
4 /*
5 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Software structures used by expansion boards
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 #include <exec/types.h>
14 #endif
16 #ifndef EXEC_NODES_H
17 #include <exec/nodes.h>
18 #endif
20 #ifndef LIBRARIES_CONFIGREGS_H
21 #include <libraries/configregs.h>
22 #endif
25 Each expansion board that is found has a ConfigDev structure created
26 for it very early at system startup. Software can search for boards
27 by the manufacturer and product id (for Zorro/AutoConfig(TM) boards).
29 For debugging, you can also look at the entire list of expansion
30 boards. See the expansion.library FindConfigDev() function for more
31 information.
34 struct ConfigDev
36 struct Node cd_Node;
37 UBYTE cd_Flags; /* read/write device flags */
38 UBYTE cd_Pad;
39 struct ExpansionRom cd_Rom; /* copy of boards expansion ROM */
40 APTR cd_BoardAddr; /* physical address of exp. board */
41 ULONG cd_BoardSize; /* size in bytes of exp. board */
42 UWORD cd_SlotAddr; /* private */
43 UWORD cd_SlotSize; /* private */
44 APTR cd_Driver; /* pointer to node of driver */
45 struct ConfigDev *cd_NextCD; /* linked list of devices to configure */
46 ULONG cd_Unused[4]; /* for the drivers use - private */
49 /* Flags definitions for cd_Flags */
50 #define CDB_SHUTUP 0 /* this board has been shut up */
51 #define CDF_SHUTUP 0x01
52 #define CDB_CONFIGME 1 /* board needs a driver to claim it */
53 #define CDF_CONFIGME 0x02
54 #define CDB_BADMEMORY 2 /* board contains bad memory */
55 #define CDF_BADMEMORY 0x04
56 #define CDB_PROCESSED 3 /* private */
57 #define CDF_PROCESSED 0x08
60 Boards without their own drivers are normally bound to software
61 drivers. This structure is used by GetCurrentBinding(), and
62 SetCurrentBinding().
64 struct CurrentBinding
66 struct ConfigDev *cb_ConfigDev; /* SLL of devices to configure */
67 UBYTE *cb_FileName; /* disk file name of driver */
68 UBYTE *cb_ProductString; /* PRODUCT= tool type from icon */
69 UBYTE **cb_ToolTypes; /* tool types from disk object */
72 #endif /* LIBRARIES_CONFIGVARS_H */