added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / devices / hardblocks.h
blob8c73bb8f234677b5adfe008252edbc9450a3121a
1 #ifndef DEVICES_HARDBLOCK_H
2 #define DEVICES_HARDBLOCK_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: File System identifier blocks for hard disks
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
16 struct RigidDiskBlock
18 ULONG rdb_ID;
19 ULONG rdb_SummedLongs;
20 LONG rdb_ChkSum;
21 ULONG rdb_HostID;
22 ULONG rdb_BlockBytes;
23 ULONG rdb_Flags;
24 ULONG rdb_BadBlockList;
25 ULONG rdb_PartitionList;
26 ULONG rdb_FileSysHeaderList;
27 ULONG rdb_DriveInit;
28 ULONG rdb_Reserved1[6];
29 ULONG rdb_Cylinders;
30 ULONG rdb_Sectors;
31 ULONG rdb_Heads;
32 ULONG rdb_Interleave;
33 ULONG rdb_Park;
34 ULONG rdb_Reserved2[3];
35 ULONG rdb_WritePreComp;
36 ULONG rdb_ReducedWrite;
37 ULONG rdb_StepRate;
38 ULONG rdb_Reserved3[5];
39 ULONG rdb_RDBBlocksLo;
40 ULONG rdb_RDBBlocksHi;
41 ULONG rdb_LoCylinder;
42 ULONG rdb_HiCylinder;
43 ULONG rdb_CylBlocks;
44 ULONG rdb_AutoParkSeconds;
45 ULONG rdb_HighRDSKBlock;
46 ULONG rdb_Reserved4;
47 char rdb_DiskVendor[8];
48 char rdb_DiskProduct[16];
49 char rdb_DiskRevision[4];
50 char rdb_ControllerVendor[8];
51 char rdb_ControllerProduct[16];
52 char rdb_ControllerRevision[4];
53 char rdb_DriveInitName[40];
56 #define IDNAME_RIGIDDISK 0x5244534B /* 'RDSK' */
58 #define RDB_LOCATION_LIMIT 16
60 #define RDBFB_LAST 0
61 #define RDBFB_LASTLUN 1
62 #define RDBFB_LASTTID 2
63 #define RDBFB_NORESELECT 3
64 #define RDBFB_DISKID 4
65 #define RDBFB_CTRLRID 5
66 #define RDBFB_SYNCH 6
68 #define RDBFF_LAST (1L << 0)
69 #define RDBFF_LASTLUN (1L << 1)
70 #define RDBFF_LASTTID (1L << 2)
71 #define RDBFF_NORESELECT (1L << 3)
72 #define RDBFF_DISKID (1L << 4)
73 #define RDBFF_CTRLRID (1L << 5)
74 #define RDBFF_SYNCH (1L << 6)
76 struct BadBlockEntry
78 ULONG bbe_BadBlock;
79 ULONG bbe_GoodBlock;
82 struct BadBlockBlock
84 ULONG bbb_ID;
85 ULONG bbb_SummedLongs;
86 LONG bbb_ChkSum;
87 ULONG bbb_HostID;
88 ULONG bbb_Next;
89 ULONG bbb_Reserved;
90 struct BadBlockEntry bbb_BlockPairs[61];
93 #define IDNAME_BADBLOCK 0x42414442 /* "BADB" */
95 struct PartitionBlock
97 ULONG pb_ID;
98 ULONG pb_SummedLongs;
99 LONG pb_ChkSum;
100 ULONG pb_HostID;
101 ULONG pb_Next;
102 ULONG pb_Flags;
103 ULONG pb_Reserved1[2];
104 ULONG pb_DevFlags;
105 UBYTE pb_DriveName[32];
106 ULONG pb_Reserved2[15];
107 ULONG pb_Environment[20];
108 ULONG pb_EReserved[12];
111 #define IDNAME_PARTITION 0x50415254 /* "PART" */
113 #define PBFB_BOOTABLE 0
114 #define PBFB_NOMOUNT 1
116 #define PBFF_BOOTABLE 1L
117 #define PBFF_NOMOUNT 2L
119 struct FileSysHeaderBlock
121 ULONG fhb_ID;
122 ULONG fhb_SummedLongs;
123 LONG fhb_ChkSum;
124 ULONG fhb_HostID;
125 ULONG fhb_Next;
126 ULONG fhb_Flags;
127 ULONG fhb_Reserved1[2];
128 ULONG fhb_DosType;
129 ULONG fhb_Version;
130 ULONG fhb_PatchFlags;
131 ULONG fhb_Type;
132 ULONG fhb_Task;
133 ULONG fhb_Lock;
134 ULONG fhb_Handler;
135 ULONG fhb_StackSize;
136 LONG fhb_Priority;
137 LONG fhb_Startup;
138 LONG fhb_SegListBlocks;
139 LONG fhb_GlobalVec;
140 ULONG fhb_Reserved2[23];
141 char fhb_FileSysName[84];
145 #define IDNAME_FILESYSHEADER 0x46534844 /* "FSHD" */
147 struct LoadSegBlock
149 ULONG lsb_ID;
150 ULONG lsb_SummedLongs;
151 LONG lsb_ChkSum;
152 ULONG lsb_HostID;
153 ULONG lsb_Next;
154 ULONG lsb_LoadData[123];
157 #define IDNAME_LOADSEG 0x4C534547 /* "LSEG" */
159 #endif /* DEVICES_HARDBLOCK_H */