]> git.saurik.com Git - apple/xnu.git/blob - EXTERNAL_HEADERS/img4/object.h
xnu-7195.101.1.tar.gz
[apple/xnu.git] / EXTERNAL_HEADERS / img4 / object.h
1 /*!
2 * @header
3 * Image4 object specifications.
4 */
5 #ifndef __IMG4_OBJECT_H
6 #define __IMG4_OBJECT_H
7
8 #ifndef __IMG4_INDIRECT
9 #error "Please #include <img4/firmware.h> instead of this file directly"
10 #endif // __IMG4_INDIRECT
11
12 #if IMG4_TAPI
13 #include "tapi.h"
14 #endif
15
16 OS_ASSUME_NONNULL_BEGIN
17
18 /*!
19 * @typedef img4_object_spec_t
20 * An opaque type which describes information about Image4 objects for use by
21 * the runtime.
22 */
23 IMG4_API_AVAILABLE_20200508
24 typedef struct _img4_object_spec img4_object_spec_t;
25
26 /*!
27 * @const IMG4_FIRMWARE_SPEC
28 * The object specification for an {@link img4_firmware_t} object.
29 */
30 #if !XNU_KERNEL_PRIVATE
31 IMG4_API_AVAILABLE_20200508
32 OS_EXPORT
33 const img4_object_spec_t _img4_firmware_spec;
34 #define IMG4_FIRMWARE_SPEC (&_img4_firmware_spec)
35 #else
36 #define IMG4_FIRMWARE_SPEC (img4if->i4if_v7.firmware_spec)
37 #endif
38
39 /*!
40 * @const IMG4_FIRMWARE_SIZE_RECOMMENDED
41 * A constant describing the recommended stack allocation required for a
42 * {@link img4_firmware_t} object.
43 */
44 #define IMG4_FIRMWARE_SIZE_RECOMMENDED (1280u)
45
46 /*!
47 * @const IMG4_CHIP_SPEC
48 * The object specification for an {@link img4_chip_t} object.
49 */
50 #if !XNU_KERNEL_PRIVATE
51 IMG4_API_AVAILABLE_20200508
52 OS_EXPORT
53 const img4_object_spec_t _img4_chip_spec;
54 #define IMG4_CHIP_SPEC (&_img4_chip_spec)
55 #else
56 #define IMG4_CHIP_SPEC (img4if->i4if_v7.chip_spec)
57 #endif
58
59 /*!
60 * @const IMG4_CHIP_SIZE_RECOMMENDED
61 * A constant describing the recommended stack allocation required for a
62 * {@link img4_chip_t} object.
63 */
64 #define IMG4_CHIP_SIZE_RECOMMENDED (256u)
65
66 OS_ASSUME_NONNULL_END
67
68 #endif // __IMG4_OBJECT_H