2 * Copyright (c) 1999, Stefan Esser <se@freebsd.org>
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice unmodified, this list of conditions, and the following
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 * $FreeBSD: src/sys/boot/arc/include/arctypes.h,v 1.2 1999/08/28 00:39:34 peter Exp $
35 typedef u_int8_t BOOLEAN;
36 typedef u_int16_t WCHAR;
38 typedef int64_t fpos_t;
40 /* XXX the following types are defined in ARC but are not currently used */
47 typedef int16_t SHORT;
49 typedef int64_t LONGLONG;
51 typedef u_int8_t UCHAR;
52 typedef u_int16_t USHORT;
53 typedef u_int32_t ULONG;
54 typedef u_int64_t ULONGLONG;
57 * The following ARC types conflict with <sys/types.h> !
58 * They are not used in the ARC wrapper functions or ARC structs
59 * currently, and thus may be left alone for now. In case the
60 * wrappers or structs are converted to use them, it is suggested
61 * to prefix them with "arc" to avoid type clashes (if linking
62 * against libstand.a which expects the FreeBSD declarations).
65 typedef u_int32_t size_t;
66 typedef int64_t clock_t;
67 typedef int64_t off_t;
68 typedef int32_t time_t;
77 u_int32_t SPBSignature;
84 arcptr ULTBMissVectorP;
85 u_int32_t FirmwareVectorLength;
86 arcptr FirmwareVectorP;
87 u_int32_t PrivateVectorLength;
88 arcptr PrivateVectorP;
89 u_int32_t AdapterCount;
91 u_int32_t AdapterType;
92 u_int32_t AdapterVectorLength;
93 arcptr AdapterVectorP;
97 /* ARC function specific data types */
108 } CONFIGURATION_CLASS;
113 FloatingPointProcessor,
123 MultiFunctionAdapter,
137 FloppyDiskPeripheral,
150 } CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
163 CONFIGURATION_CLASS Class;
164 CONFIGURATION_TYPE Type;
165 IDENTIFIERFLAG Flags;
169 u_int32_t AffinityMask;
170 u_int32_t ConfigurationDataLength;
171 u_int32_t IdentifierLength;
173 } CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT;
181 MemoryExceptionBlock,
186 MemoryFirmwareTemporary,
187 MemoryFirmwarePermanent,
188 MemoryFreeContiguous,
199 typedef struct _TIME_FIELDS{
200 u_int16_t Year; /* 1601 .. */
201 u_int16_t Month; /* 1 .. 12 */
202 u_int16_t Day; /* 1 .. 31 */
203 u_int16_t Hour; /* 0 .. 23 */
204 u_int16_t Minute; /* 0 .. 59 */
205 u_int16_t Second; /* 0 .. 59 */
206 u_int16_t Milliseconds; /* 0 .. 999 */
207 u_int16_t Weekday; /* 0 .. 6 = Sunday .. Saturday */
208 } TIME_FIELDS, *PTIME_FIELDS;
211 #define StandardOut 1
213 #define ReadOnlyFile 0x01
214 #define HiddenFile 0x02
215 #define SystemFile 0x04
216 #define ArchiveFile 0x08
217 #define DirectoryFile 0x10
218 #define DeleteFile 0x20
221 u_int32_t FileNameLength;
222 u_int8_t FileAttribute;
252 fpos_t StartingAddress;
253 fpos_t EndingAddress;
254 fpos_t CurrentAddress;
255 CONFIGURATION_TYPE Type;
256 u_int32_t FileNameLength;
262 u_int16_t CursorXPosition;
263 u_int16_t CursorYPosition;
264 u_int16_t CursorMaxXPosition;
265 u_int16_t CursorMaxYPosition;
266 u_int8_t ForegroundColor;
267 u_int8_t BackgroundColor;
268 BOOLEAN HighIntensity;
270 BOOLEAN ReverseVideo;
271 } ARC_DISPLAY_STATUS;
273 /* vendor function specific data types */
276 u_int32_t ProcessorId;
277 u_int32_t ProcessorRevision;
278 u_int32_t ProcessorPageSize;
279 u_int32_t NumberOfPhysicalAddressBits;
280 u_int32_t MaximumAddressSpaceNumber;
281 u_int32_t ProcessorCycleCounterPeriod;
282 u_int32_t SystemRevision;
283 u_int8_t SystemSerialNumber[16];
284 u_int8_t FirmwareVersion[16];
285 u_int8_t FirmwareBuildTimeStamp[12];
286 } EXTENDED_SYSTEM_INFORMATION, *PEXTENDED_SYSTEM_INFORMATION;
288 #endif /* _ARC_TYPES_H_ */