3 * Image4 object specifications.
5 #ifndef __IMG4_OBJECT_H
6 #define __IMG4_OBJECT_H
8 #ifndef __IMG4_INDIRECT
9 #error "Please #include <img4/firmware.h> instead of this file directly"
10 #endif // __IMG4_INDIRECT
16 OS_ASSUME_NONNULL_BEGIN
19 * @typedef img4_object_spec_t
20 * An opaque type which describes information about Image4 objects for use by
23 IMG4_API_AVAILABLE_20200508
24 typedef struct _img4_object_spec img4_object_spec_t
;
27 * @const IMG4_FIRMWARE_SPEC
28 * The object specification for an {@link img4_firmware_t} object.
30 #if !XNU_KERNEL_PRIVATE
31 IMG4_API_AVAILABLE_20200508
33 const img4_object_spec_t _img4_firmware_spec
;
34 #define IMG4_FIRMWARE_SPEC (&_img4_firmware_spec)
36 #define IMG4_FIRMWARE_SPEC (img4if->i4if_v7.firmware_spec)
40 * @const IMG4_FIRMWARE_SIZE_RECOMMENDED
41 * A constant describing the recommended stack allocation required for a
42 * {@link img4_firmware_t} object.
44 #define IMG4_FIRMWARE_SIZE_RECOMMENDED (1280u)
47 * @const IMG4_CHIP_SPEC
48 * The object specification for an {@link img4_chip_t} object.
50 #if !XNU_KERNEL_PRIVATE
51 IMG4_API_AVAILABLE_20200508
53 const img4_object_spec_t _img4_chip_spec
;
54 #define IMG4_CHIP_SPEC (&_img4_chip_spec)
56 #define IMG4_CHIP_SPEC (img4if->i4if_v7.chip_spec)
60 * @const IMG4_CHIP_SIZE_RECOMMENDED
61 * A constant describing the recommended stack allocation required for a
62 * {@link img4_chip_t} object.
64 #define IMG4_CHIP_SIZE_RECOMMENDED (256u)
68 #endif // __IMG4_OBJECT_H