/* * Copyright (c) Apple, Inc. * All rights reserved. */ _Pragma("once") #include #include #include #include #include #include __BEGIN_DECLS _Pragma("clang assume_nonnull begin") _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wused-but-marked-unused\"") /*! * @typedef oslogdarwin_firehosetracepointid_s * @brief Type alias definition for `OSLogDarwin.FirehoseTracepointId` * @internal */ typedef uint64_t oslogdarwin_firehosetracepointid_s; /*! * @typedef oslogdarwin_logbyte_s * @brief Type alias definition for `OSLogDarwin.LogByte` * @internal */ typedef uint8_t oslogdarwin_logbyte_s; /*! * @typedef oslogdarwin_offset_s * @brief Type alias definition for `OSLogDarwin.Offset` * @internal */ typedef uint32_t oslogdarwin_offset_s; /*! * @typedef oslogdarwin_lognamespace_s * @brief Declaration of the `OSLogDarwin.LogNamespace` enumeration * @internal */ typedef enum oslogdarwin_lognamespace_s : uint8_t { OSLOGDARWIN_LOGNAMESPACE_LOG = 4, OSLOGDARWIN_LOGNAMESPACE_METADATA = 5, OSLOGDARWIN_LOGNAMESPACE_SIGNPOST = 6, } oslogdarwin_lognamespace_s; /*! * @typedef oslogdarwin_logtype_s * @brief Declaration of the `OSLogDarwin.LogType` enumeration * @internal */ typedef enum oslogdarwin_logtype_s : uint8_t { OSLOGDARWIN_LOGTYPE_DEFAULT = 0, OSLOGDARWIN_LOGTYPE_INFO = 1, OSLOGDARWIN_LOGTYPE_DEBUG = 2, OSLOGDARWIN_LOGTYPE_ERROR = 16, OSLOGDARWIN_LOGTYPE_FAULT = 17, } oslogdarwin_logtype_s; /*! * @typedef oslogdarwin_signposttype_s * @brief Declaration of the `OSLogDarwin.SignpostType` enumeration * @internal */ typedef enum oslogdarwin_signposttype_s : uint8_t { OSLOGDARWIN_SIGNPOSTTYPE_EVENT = 0, OSLOGDARWIN_SIGNPOSTTYPE_INTERVALBEGIN = 1, OSLOGDARWIN_SIGNPOSTTYPE_INTERVALEND = 2, } oslogdarwin_signposttype_s; /*! * @typedef oslogdarwin_signpostscope_s * @brief Declaration of the `OSLogDarwin.SignpostScope` enumeration * @internal */ typedef enum oslogdarwin_signpostscope_s : uint8_t { OSLOGDARWIN_SIGNPOSTSCOPE_DISABLED = 0, OSLOGDARWIN_SIGNPOSTSCOPE_LOCAL = 1, OSLOGDARWIN_SIGNPOSTSCOPE_CONCLAVE = 2, OSLOGDARWIN_SIGNPOSTSCOPE_SYSTEM = 3, } oslogdarwin_signpostscope_s; /*! * @typedef oslogdarwin_logstreamtype_s * @brief Declaration of the `OSLogDarwin.LogStreamType` enumeration * @internal */ typedef enum oslogdarwin_logstreamtype_s : uint8_t { OSLOGDARWIN_LOGSTREAMTYPE_PERSISTS = 0, OSLOGDARWIN_LOGSTREAMTYPE_SPECIAL = 1, OSLOGDARWIN_LOGSTREAMTYPE_MEMORY = 2, OSLOGDARWIN_LOGSTREAMTYPE_METADATA = 3, OSLOGDARWIN_LOGSTREAMTYPE_SIGNPOST = 4, OSLOGDARWIN_LOGSTREAMTYPE_DISABLED = 255, } oslogdarwin_logstreamtype_s; /*! * @typedef logbyte_v_tag_s * @brief Implementation detail of variable length array of `OSLogDarwin.LogByte (aka. UInt8)` * @internal */ typedef enum logbyte_v_tag_s : uint8_t { LOGBYTE__V_INVALID = 0, LOGBYTE__V_PACKED = 1, LOGBYTE__V_REFERENCE = 2, LOGBYTE__V_UNPACKED = 3, } logbyte_v_tag_s; /*! * @typedef logbyte_v_s * @brief Variable length array of `OSLogDarwin.LogByte (aka. UInt8)` * @internal * * @discussion * Declaration of a variable length array of `OSLogDarwin.LogByte * (aka. UInt8)`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct logbyte_v_s { enum logbyte_v_tag_s tag; union { struct { oslogdarwin_logbyte_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } logbyte_v_s; /*! * @function logbyte__v_count * @brief Returns the number of elements in `OSLogDarwin.LogByte (aka. UInt8)` variable length arrays * @internal */ TB_NOEXPORT size_t logbyte__v_count(const logbyte_v_s *_Nonnull val); /*! * @function logbyte__v_visit * @brief Array visitor for `OSLogDarwin.LogByte (aka. UInt8)` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void logbyte__v_visit(const logbyte_v_s *_Nonnull val, void (^ block)(size_t i, const oslogdarwin_logbyte_s item)); /*! * @function logbyte__v_assign_copy * @brief Copy content to variable length array of `OSLogDarwin.LogByte (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t logbyte__v_assign_copy(logbyte_v_s *_Nonnull val, oslogdarwin_logbyte_s *__counted_by(count) ptr, size_t count); /*! * @function logbyte__v_assign_owned * @brief Copy content to variable length array of `OSLogDarwin.LogByte (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void logbyte__v_assign_owned(logbyte_v_s *_Nonnull val, oslogdarwin_logbyte_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function logbyte__v_assign_owned * @brief Copy content to variable length array of `OSLogDarwin.LogByte (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void logbyte__v_assign_unowned(logbyte_v_s *_Nonnull val, oslogdarwin_logbyte_s *__counted_by(count) ptr, size_t count); /*! * @function logbyte__v_copyout * @brief Copy the content out of variable length array of `OSLogDarwin.LogByte (aka. UInt8)` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t logbyte__v_copyout(const logbyte_v_s *_Nonnull val, oslogdarwin_logbyte_s *__counted_by(count) out, size_t count); /*! * @typedef oslogdarwin_logdata_s * @brief Declaration of the `OSLogDarwin.LogData` struct * @internal */ typedef TB_UNUSED struct oslogdarwin_logdata_s { oslogdarwin_logstreamtype_s stream; uint64_t stamp; oslogdarwin_firehosetracepointid_s ftid; uint16_t pubsize; uint16_t size; logbyte_v_s data; } oslogdarwin_logdata_s; /*! * @function oslogdarwin_logdata__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `OSLogDarwin.LogData`" * @internal */ TB_NOEXPORT size_t oslogdarwin_logdata__marshal_sizeof(const oslogdarwin_logdata_s *_Nonnull value); /*! * @function oslogdarwin_logdata__marshal * @brief Encode `OSLogDarwin.LogData` into target buffer * @internal * * @discussion * Encode a `OSLogDarwin.LogData` instance into a binary form * written to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t oslogdarwin_logdata__marshal(const oslogdarwin_logdata_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function oslogdarwin_logdata__unmarshal * @brief Decode `OSLogDarwin.LogData` from a buffer * @internal * * @discussion * Decode a `OSLogDarwin.LogData` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t oslogdarwin_logdata__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(oslogdarwin_logdata_s)); /*! * @typedef oslogdarwin_redactedlogdata_log_s * @brief Associated data for `OSLogDarwin.RedactedLogData.Log` * @internal */ typedef struct { oslogdarwin_logstreamtype_s stream; uint64_t stamp; oslogdarwin_logtype_s type; oslogdarwin_offset_s offset; uint8_t uuid[16ULL]; } oslogdarwin_redactedlogdata_log_s; /*! * @typedef oslogdarwin_redactedlogdata_signpost_s * @brief Associated data for `OSLogDarwin.RedactedLogData.Signpost` * @internal */ typedef struct { oslogdarwin_logstreamtype_s stream; uint64_t stamp; oslogdarwin_signposttype_s type; oslogdarwin_signpostscope_s scope; oslogdarwin_offset_s nameOffset; oslogdarwin_offset_s fmtOffset; uint8_t uuid[16ULL]; } oslogdarwin_redactedlogdata_signpost_s; /*! * @typedef oslogdarwin_redactedlogdata_subsystem_s * @brief Associated data for `OSLogDarwin.RedactedLogData.Subsystem` * @internal */ typedef struct { uint64_t stamp; uint16_t subsystemId; } oslogdarwin_redactedlogdata_subsystem_s; /*! * @typedef oslogdarwin_redactedlogdata_imageload_s * @brief Associated data for `OSLogDarwin.RedactedLogData.ImageLoad` * @internal */ typedef struct { uint64_t stamp; uint8_t uuid[16ULL]; } oslogdarwin_redactedlogdata_imageload_s; /*! * @typedef oslogdarwin_redactedlogdata__tag_s * @brief Tag descriminator for the `OSLogDarwin.RedactedLogData` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum oslogdarwin_redactedlogdata__tag_s : uint64_t { OSLOGDARWIN_REDACTEDLOGDATA__LOG = 0x64874a2dcfa6dc87ULL, OSLOGDARWIN_REDACTEDLOGDATA__SIGNPOST = 0x2acca8c0cee8cb16ULL, OSLOGDARWIN_REDACTEDLOGDATA__SUBSYSTEM = 0xf02f48422b783d30ULL, OSLOGDARWIN_REDACTEDLOGDATA__IMAGELOAD = 0x75d20b205443543aULL, } oslogdarwin_redactedlogdata__tag_s; /*! * @typedef oslogdarwin_redactedlogdata_s * @brief Declaration for the `OSLogDarwin.RedactedLogData` enumeration * @internal */ typedef struct oslogdarwin_redactedlogdata_s { oslogdarwin_redactedlogdata__tag_s tag; union { oslogdarwin_redactedlogdata_log_s Log; oslogdarwin_redactedlogdata_signpost_s Signpost; oslogdarwin_redactedlogdata_subsystem_s Subsystem; oslogdarwin_redactedlogdata_imageload_s ImageLoad; } values; } oslogdarwin_redactedlogdata_s; /*! * @function oslogdarwin_redactedlogdata_log__get * @brief Accessor for `OSLogDarwin.RedactedLogData.Log` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `OSLogDarwin.RedactedLogData.Log` enumeration variant. Otherwise, * returns `NULL` */ TB_NOEXPORT const oslogdarwin_redactedlogdata_log_s TB_UNUSED *_Nullable oslogdarwin_redactedlogdata_log__get(const oslogdarwin_redactedlogdata_s *_Nonnull en); /*! * @function oslogdarwin_redactedlogdata_signpost__get * @brief Accessor for `OSLogDarwin.RedactedLogData.Signpost` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `OSLogDarwin.RedactedLogData.Signpost` enumeration variant. * Otherwise, returns `NULL` */ TB_NOEXPORT const oslogdarwin_redactedlogdata_signpost_s TB_UNUSED *_Nullable oslogdarwin_redactedlogdata_signpost__get(const oslogdarwin_redactedlogdata_s *_Nonnull en); /*! * @function oslogdarwin_redactedlogdata_subsystem__get * @brief Accessor for `OSLogDarwin.RedactedLogData.Subsystem` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `OSLogDarwin.RedactedLogData.Subsystem` enumeration variant. * Otherwise, returns `NULL` */ TB_NOEXPORT const oslogdarwin_redactedlogdata_subsystem_s TB_UNUSED *_Nullable oslogdarwin_redactedlogdata_subsystem__get(const oslogdarwin_redactedlogdata_s *_Nonnull en); /*! * @function oslogdarwin_redactedlogdata_imageload__get * @brief Accessor for `OSLogDarwin.RedactedLogData.ImageLoad` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `OSLogDarwin.RedactedLogData.ImageLoad` enumeration variant. * Otherwise, returns `NULL` */ TB_NOEXPORT const oslogdarwin_redactedlogdata_imageload_s TB_UNUSED *_Nullable oslogdarwin_redactedlogdata_imageload__get(const oslogdarwin_redactedlogdata_s *_Nonnull en); /*! * @function oslogdarwin_redactedlogdata_log__init * @brief Initializer for `OSLogDarwin.RedactedLogData.Log` * @internal * * @discussion * Initializes `en` to contain a `OSLogDarwin.RedactedLogData.Log` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void oslogdarwin_redactedlogdata_log__init(oslogdarwin_redactedlogdata_s *_Nonnull en, oslogdarwin_redactedlogdata_log_s val); /*! * @function oslogdarwin_redactedlogdata_signpost__init * @brief Initializer for `OSLogDarwin.RedactedLogData.Signpost` * @internal * * @discussion * Initializes `en` to contain a `OSLogDarwin.RedactedLogData.Signpost` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void oslogdarwin_redactedlogdata_signpost__init(oslogdarwin_redactedlogdata_s *_Nonnull en, oslogdarwin_redactedlogdata_signpost_s val); /*! * @function oslogdarwin_redactedlogdata_subsystem__init * @brief Initializer for `OSLogDarwin.RedactedLogData.Subsystem` * @internal * * @discussion * Initializes `en` to contain a `OSLogDarwin.RedactedLogData.Subsystem` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void oslogdarwin_redactedlogdata_subsystem__init(oslogdarwin_redactedlogdata_s *_Nonnull en, oslogdarwin_redactedlogdata_subsystem_s val); /*! * @function oslogdarwin_redactedlogdata_imageload__init * @brief Initializer for `OSLogDarwin.RedactedLogData.ImageLoad` * @internal * * @discussion * Initializes `en` to contain a `OSLogDarwin.RedactedLogData.ImageLoad` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void oslogdarwin_redactedlogdata_imageload__init(oslogdarwin_redactedlogdata_s *_Nonnull en, oslogdarwin_redactedlogdata_imageload_s val); /*! * @typedef oslogdarwin_configerror__tag_s * @brief Tag descriminator for the `OSLogDarwin.ConfigError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum oslogdarwin_configerror__tag_s : uint64_t { OSLOGDARWIN_CONFIGERROR__FULL = 0x4ef7d98df3e71501ULL, OSLOGDARWIN_CONFIGERROR__INVALIDSUBSYSTEM = 0xcbd9dc39909d106aULL, } oslogdarwin_configerror__tag_s; /*! * @typedef oslogdarwin_configerror_s * @brief Declaration for the `OSLogDarwin.ConfigError` enumeration * @internal */ typedef struct oslogdarwin_configerror_s { oslogdarwin_configerror__tag_s tag; } oslogdarwin_configerror_s; /*! * @function oslogdarwin_configerror_full__get * @brief Accessor for `OSLogDarwin.ConfigError.Full` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `OSLogDarwin.ConfigError.Full` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool oslogdarwin_configerror_full__get(const oslogdarwin_configerror_s *_Nonnull en); /*! * @function oslogdarwin_configerror_invalidsubsystem__get * @brief Accessor for `OSLogDarwin.ConfigError.InvalidSubsystem` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `OSLogDarwin.ConfigError.InvalidSubsystem` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool oslogdarwin_configerror_invalidsubsystem__get(const oslogdarwin_configerror_s *_Nonnull en); /*! * @function oslogdarwin_configerror_full__init * @brief Initializer for `OSLogDarwin.ConfigError.Full` * @internal * * @discussion * Initializes `en` to contain a `OSLogDarwin.ConfigError.Full` * enumeration variant */ TB_NOEXPORT TB_UNUSED void oslogdarwin_configerror_full__init(oslogdarwin_configerror_s *_Nonnull en); /*! * @function oslogdarwin_configerror_invalidsubsystem__init * @brief Initializer for `OSLogDarwin.ConfigError.InvalidSubsystem` * @internal * * @discussion * Initializes `en` to contain a `OSLogDarwin.ConfigError.InvalidSubsystem` * enumeration variant */ TB_NOEXPORT TB_UNUSED void oslogdarwin_configerror_invalidsubsystem__init(oslogdarwin_configerror_s *_Nonnull en); /*! * @typedef oslogdarwin_configadmin_s * @brief Client connection handle for `OSLogDarwin.ConfigAdmin` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_configadmin_s { tb_client_connection_t connection; } oslogdarwin_configadmin_s; /*! * @function oslogdarwin_configadmin_settracemode * @brief Invokes the `OSLogDarwin.ConfigAdmin.setTraceMode(mode:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t oslogdarwin_configadmin_settracemode(const oslogdarwin_configadmin_s *_Nonnull client, const uint32_t mode); /*! * @typedef oslogdarwin_configadmin__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t oslogdarwin_configadmin__init(oslogdarwin_configadmin_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef oslogdarwin_configadmin__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t oslogdarwin_configadmin__init_static(oslogdarwin_configadmin_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function oslogdarwin_configadmin__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void oslogdarwin_configadmin__copy(const oslogdarwin_configadmin_s *_Nonnull src, oslogdarwin_configadmin_s *_Nonnull dst); /*! * @function oslogdarwin_configadmin__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void oslogdarwin_configadmin__destruct(oslogdarwin_configadmin_s *_Nonnull client); /*! * @typedef oslogdarwin_configadmin__service_s * @brief Service connection handle for `OSLogDarwin.ConfigAdmin` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_configadmin__service_s { tb_service_connection_t connection; } oslogdarwin_configadmin__service_s; /*! * @typedef oslogdarwin_configadmin__server_s * @brief Method callback blocks for handling `OSLogDarwin.ConfigAdmin` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct oslogdarwin_configadmin__server_s { /*! * @field settracemode * @brief Method handler for `OSLogDarwin.ConfigAdmin.setTraceMode(mode:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ settracemode)(const uint32_t mode, tb_error_t (^ completion)(void)); } oslogdarwin_configadmin__server_s; /*! * @function oslogdarwin_configadmin__server_start * @brief Server start method for the `OSLogDarwin.ConfigAdmin` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t oslogdarwin_configadmin__server_start(tb_endpoint_t ep, const oslogdarwin_configadmin__server_s *_Nonnull server); /*! * @function oslogdarwin_configadmin__server_start_owned * @brief Server start method for the `OSLogDarwin.ConfigAdmin` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t oslogdarwin_configadmin__server_start_owned(tb_endpoint_t ep, oslogdarwin_configadmin__service_s *_Nonnull service, const oslogdarwin_configadmin__server_s *_Nonnull server); /*! * @function oslogdarwin_configadmin__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void oslogdarwin_configadmin__server_stop(oslogdarwin_configadmin__service_s *_Nonnull service); /*! * @typedef oslogdarwin_logdata_v_tag_s * @brief Implementation detail of variable length array of `OSLogDarwin.LogData` * @internal */ typedef enum oslogdarwin_logdata_v_tag_s : uint8_t { OSLOGDARWIN_LOGDATA__V_INVALID = 0, OSLOGDARWIN_LOGDATA__V_PACKED = 1, OSLOGDARWIN_LOGDATA__V_REFERENCE = 2, OSLOGDARWIN_LOGDATA__V_UNPACKED = 3, } oslogdarwin_logdata_v_tag_s; /*! * @typedef oslogdarwin_logdata_v_s * @brief Variable length array of `OSLogDarwin.LogData` * @internal * * @discussion * Declaration of a variable length array of `OSLogDarwin.LogData`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_logdata_v_s { enum oslogdarwin_logdata_v_tag_s tag; union { struct { oslogdarwin_logdata_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } oslogdarwin_logdata_v_s; /*! * @function oslogdarwin_logdata__v_count * @brief Returns the number of elements in `OSLogDarwin.LogData` variable length arrays * @internal */ TB_NOEXPORT size_t oslogdarwin_logdata__v_count(const oslogdarwin_logdata_v_s *_Nonnull val); /*! * @function oslogdarwin_logdata__v_visit * @brief Array visitor for `OSLogDarwin.LogData` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void oslogdarwin_logdata__v_visit(const oslogdarwin_logdata_v_s *_Nonnull val, void (^ block)(size_t i, const oslogdarwin_logdata_s *_Nonnull item)); /*! * @function oslogdarwin_logdata__v_assign_copy * @brief Copy content to variable length array of `OSLogDarwin.LogData` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t oslogdarwin_logdata__v_assign_copy(oslogdarwin_logdata_v_s *_Nonnull val, oslogdarwin_logdata_s *__counted_by(count) ptr, size_t count); /*! * @function oslogdarwin_logdata__v_assign_owned * @brief Copy content to variable length array of `OSLogDarwin.LogData` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void oslogdarwin_logdata__v_assign_owned(oslogdarwin_logdata_v_s *_Nonnull val, oslogdarwin_logdata_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function oslogdarwin_logdata__v_assign_owned * @brief Copy content to variable length array of `OSLogDarwin.LogData` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void oslogdarwin_logdata__v_assign_unowned(oslogdarwin_logdata_v_s *_Nonnull val, oslogdarwin_logdata_s *__counted_by(count) ptr, size_t count); /*! * @typedef oslogdarwin_consumer_s * @brief Client connection handle for `OSLogDarwin.Consumer` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_consumer_s { tb_client_connection_t connection; } oslogdarwin_consumer_s; /*! * @function oslogdarwin_consumer_getlogs * @brief Invokes the `OSLogDarwin.Consumer.getLogs()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t oslogdarwin_consumer_getlogs(const oslogdarwin_consumer_s *_Nonnull client, void (^ result)(oslogdarwin_logdata_v_s)); /*! * @typedef oslogdarwin_consumer__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t oslogdarwin_consumer__init(oslogdarwin_consumer_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef oslogdarwin_consumer__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t oslogdarwin_consumer__init_static(oslogdarwin_consumer_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function oslogdarwin_consumer__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void oslogdarwin_consumer__copy(const oslogdarwin_consumer_s *_Nonnull src, oslogdarwin_consumer_s *_Nonnull dst); /*! * @function oslogdarwin_consumer__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void oslogdarwin_consumer__destruct(oslogdarwin_consumer_s *_Nonnull client); /*! * @typedef oslogdarwin_consumer__service_s * @brief Service connection handle for `OSLogDarwin.Consumer` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_consumer__service_s { tb_service_connection_t connection; } oslogdarwin_consumer__service_s; /*! * @typedef oslogdarwin_consumer__server_s * @brief Method callback blocks for handling `OSLogDarwin.Consumer` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct oslogdarwin_consumer__server_s { /*! * @field getlogs * @brief Method handler for `OSLogDarwin.Consumer.getLogs()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getlogs)(tb_error_t (^ completion)(oslogdarwin_logdata_v_s)); } oslogdarwin_consumer__server_s; /*! * @function oslogdarwin_consumer__server_start * @brief Server start method for the `OSLogDarwin.Consumer` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t oslogdarwin_consumer__server_start(tb_endpoint_t ep, const oslogdarwin_consumer__server_s *_Nonnull server); /*! * @function oslogdarwin_consumer__server_start_owned * @brief Server start method for the `OSLogDarwin.Consumer` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t oslogdarwin_consumer__server_start_owned(tb_endpoint_t ep, oslogdarwin_consumer__service_s *_Nonnull service, const oslogdarwin_consumer__server_s *_Nonnull server); /*! * @function oslogdarwin_consumer__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void oslogdarwin_consumer__server_stop(oslogdarwin_consumer__service_s *_Nonnull service); /*! * @typedef oslogdarwin_redactedlogdata_v_tag_s * @brief Implementation detail of variable length array of `OSLogDarwin.RedactedLogData` * @internal */ typedef enum oslogdarwin_redactedlogdata_v_tag_s : uint8_t { OSLOGDARWIN_REDACTEDLOGDATA__V_INVALID = 0, OSLOGDARWIN_REDACTEDLOGDATA__V_PACKED = 1, OSLOGDARWIN_REDACTEDLOGDATA__V_REFERENCE = 2, OSLOGDARWIN_REDACTEDLOGDATA__V_UNPACKED = 3, } oslogdarwin_redactedlogdata_v_tag_s; /*! * @typedef oslogdarwin_redactedlogdata_v_s * @brief Variable length array of `OSLogDarwin.RedactedLogData` * @internal * * @discussion * Declaration of a variable length array of `OSLogDarwin.RedactedLogData`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_redactedlogdata_v_s { enum oslogdarwin_redactedlogdata_v_tag_s tag; union { struct { oslogdarwin_redactedlogdata_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } oslogdarwin_redactedlogdata_v_s; /*! * @function oslogdarwin_redactedlogdata__v_count * @brief Returns the number of elements in `OSLogDarwin.RedactedLogData` variable length arrays * @internal */ TB_NOEXPORT size_t oslogdarwin_redactedlogdata__v_count(const oslogdarwin_redactedlogdata_v_s *_Nonnull val); /*! * @function oslogdarwin_redactedlogdata__v_visit * @brief Array visitor for `OSLogDarwin.RedactedLogData` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void oslogdarwin_redactedlogdata__v_visit(const oslogdarwin_redactedlogdata_v_s *_Nonnull val, void (^ block)(size_t i, const oslogdarwin_redactedlogdata_s *_Nonnull item)); /*! * @function oslogdarwin_redactedlogdata__v_assign_copy * @brief Copy content to variable length array of `OSLogDarwin.RedactedLogData` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t oslogdarwin_redactedlogdata__v_assign_copy(oslogdarwin_redactedlogdata_v_s *_Nonnull val, oslogdarwin_redactedlogdata_s *__counted_by(count) ptr, size_t count); /*! * @function oslogdarwin_redactedlogdata__v_assign_owned * @brief Copy content to variable length array of `OSLogDarwin.RedactedLogData` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void oslogdarwin_redactedlogdata__v_assign_owned(oslogdarwin_redactedlogdata_v_s *_Nonnull val, oslogdarwin_redactedlogdata_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function oslogdarwin_redactedlogdata__v_assign_owned * @brief Copy content to variable length array of `OSLogDarwin.RedactedLogData` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void oslogdarwin_redactedlogdata__v_assign_unowned(oslogdarwin_redactedlogdata_v_s *_Nonnull val, oslogdarwin_redactedlogdata_s *__counted_by(count) ptr, size_t count); /*! * @typedef oslogdarwin_redactedconsumer_s * @brief Client connection handle for `OSLogDarwin.RedactedConsumer` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_redactedconsumer_s { tb_client_connection_t connection; } oslogdarwin_redactedconsumer_s; /*! * @function oslogdarwin_redactedconsumer_getlogs * @brief Invokes the `OSLogDarwin.RedactedConsumer.getLogs()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t oslogdarwin_redactedconsumer_getlogs(const oslogdarwin_redactedconsumer_s *_Nonnull client, void (^ result)(oslogdarwin_redactedlogdata_v_s)); /*! * @typedef oslogdarwin_redactedconsumer__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t oslogdarwin_redactedconsumer__init(oslogdarwin_redactedconsumer_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef oslogdarwin_redactedconsumer__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t oslogdarwin_redactedconsumer__init_static(oslogdarwin_redactedconsumer_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function oslogdarwin_redactedconsumer__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void oslogdarwin_redactedconsumer__copy(const oslogdarwin_redactedconsumer_s *_Nonnull src, oslogdarwin_redactedconsumer_s *_Nonnull dst); /*! * @function oslogdarwin_redactedconsumer__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void oslogdarwin_redactedconsumer__destruct(oslogdarwin_redactedconsumer_s *_Nonnull client); /*! * @typedef oslogdarwin_redactedconsumer__service_s * @brief Service connection handle for `OSLogDarwin.RedactedConsumer` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct oslogdarwin_redactedconsumer__service_s { tb_service_connection_t connection; } oslogdarwin_redactedconsumer__service_s; /*! * @typedef oslogdarwin_redactedconsumer__server_s * @brief Method callback blocks for handling `OSLogDarwin.RedactedConsumer` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct oslogdarwin_redactedconsumer__server_s { /*! * @field getlogs * @brief Method handler for `OSLogDarwin.RedactedConsumer.getLogs()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getlogs)(tb_error_t (^ completion)(oslogdarwin_redactedlogdata_v_s)); } oslogdarwin_redactedconsumer__server_s; /*! * @function oslogdarwin_redactedconsumer__server_start * @brief Server start method for the `OSLogDarwin.RedactedConsumer` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t oslogdarwin_redactedconsumer__server_start(tb_endpoint_t ep, const oslogdarwin_redactedconsumer__server_s *_Nonnull server); /*! * @function oslogdarwin_redactedconsumer__server_start_owned * @brief Server start method for the `OSLogDarwin.RedactedConsumer` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t oslogdarwin_redactedconsumer__server_start_owned(tb_endpoint_t ep, oslogdarwin_redactedconsumer__service_s *_Nonnull service, const oslogdarwin_redactedconsumer__server_s *_Nonnull server); /*! * @function oslogdarwin_redactedconsumer__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void oslogdarwin_redactedconsumer__server_stop(oslogdarwin_redactedconsumer__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_registryid_s * @brief Type alias definition for `XnuUpcallsV2.RegistryID` * @internal */ typedef uint64_t xnuupcallsv2_registryid_s; /*! * @typedef xnuupcallsv2_interruptindex_s * @brief Type alias definition for `XnuUpcallsV2.InterruptIndex` * @internal */ typedef int32_t xnuupcallsv2_interruptindex_s; /*! * @typedef xnuupcallsv2_timerid_s * @brief Type alias definition for `XnuUpcallsV2.TimerID` * @internal */ typedef uint32_t xnuupcallsv2_timerid_s; /*! * @typedef u32_v_tag_s * @brief Implementation detail of variable length array of `UInt32` * @internal */ typedef enum u32_v_tag_s : uint8_t { U32__V_INVALID = 0, U32__V_PACKED = 1, U32__V_REFERENCE = 2, U32__V_UNPACKED = 3, } u32_v_tag_s; /*! * @typedef u32_v_s * @brief Variable length array of `UInt32` * @internal * * @discussion * Declaration of a variable length array of `UInt32`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct u32_v_s { enum u32_v_tag_s tag; union { struct { uint32_t *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } u32_v_s; /*! * @function u32__v_count * @brief Returns the number of elements in `UInt32` variable length arrays * @internal */ TB_NOEXPORT size_t u32__v_count(const u32_v_s *_Nonnull val); /*! * @function u32__v_visit * @brief Array visitor for `UInt32` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void u32__v_visit(const u32_v_s *_Nonnull val, void (^ block)(size_t i, const uint32_t item)); /*! * @function u32__v_assign_copy * @brief Copy content to variable length array of `UInt32` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t u32__v_assign_copy(u32_v_s *_Nonnull val, uint32_t *__counted_by(count) ptr, size_t count); /*! * @function u32__v_assign_owned * @brief Copy content to variable length array of `UInt32` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void u32__v_assign_owned(u32_v_s *_Nonnull val, uint32_t *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function u32__v_assign_owned * @brief Copy content to variable length array of `UInt32` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void u32__v_assign_unowned(u32_v_s *_Nonnull val, uint32_t *__counted_by(count) ptr, size_t count); /*! * @function u32__v_copyout * @brief Copy the content out of variable length array of `UInt32` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t u32__v_copyout(const u32_v_s *_Nonnull val, uint32_t *__counted_by(count) out, size_t count); /*! * @typedef xnuupcallsv2_pagelist_s * @brief Type alias definition for `XnuUpcallsV2.PageList` * @internal */ typedef u32_v_s xnuupcallsv2_pagelist_s; /*! * @typedef xnuupcallsv2_assertionid_s * @brief Type alias definition for `XnuUpcallsV2.AssertionID` * @internal */ typedef uint64_t xnuupcallsv2_assertionid_s; /*! * @typedef xnuupcallsv2_fstag__tag_s * @brief Tag descriminator for the `XnuUpcallsV2.FSTag` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum xnuupcallsv2_fstag__tag_s : uint64_t { XNUUPCALLSV2_FSTAG__EXCLAVE = 0x651eb370b558b85dULL, XNUUPCALLSV2_FSTAG__SYSTEM = 0xabe0af511dcadfb3ULL, XNUUPCALLSV2_FSTAG__EXCLAVEMAIN = 0x8b5ea54c1f7c41c6ULL, } xnuupcallsv2_fstag__tag_s; /*! * @typedef xnuupcallsv2_fstag_s * @brief Declaration for the `XnuUpcallsV2.FSTag` enumeration * @internal */ typedef struct xnuupcallsv2_fstag_s { xnuupcallsv2_fstag__tag_s tag; } xnuupcallsv2_fstag_s; /*! * @function xnuupcallsv2_fstag_exclave__get * @brief Accessor for `XnuUpcallsV2.FSTag.exclave` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.FSTag.exclave` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_fstag_exclave__get(const xnuupcallsv2_fstag_s *_Nonnull en); /*! * @function xnuupcallsv2_fstag_system__get * @brief Accessor for `XnuUpcallsV2.FSTag.system` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.FSTag.system` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_fstag_system__get(const xnuupcallsv2_fstag_s *_Nonnull en); /*! * @function xnuupcallsv2_fstag_exclavemain__get * @brief Accessor for `XnuUpcallsV2.FSTag.exclaveMain` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.FSTag.exclaveMain` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_fstag_exclavemain__get(const xnuupcallsv2_fstag_s *_Nonnull en); /*! * @function xnuupcallsv2_fstag_exclave__init * @brief Initializer for `XnuUpcallsV2.FSTag.exclave` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.FSTag.exclave` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_fstag_exclave__init(xnuupcallsv2_fstag_s *_Nonnull en); /*! * @function xnuupcallsv2_fstag_system__init * @brief Initializer for `XnuUpcallsV2.FSTag.system` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.FSTag.system` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_fstag_system__init(xnuupcallsv2_fstag_s *_Nonnull en); /*! * @function xnuupcallsv2_fstag_exclavemain__init * @brief Initializer for `XnuUpcallsV2.FSTag.exclaveMain` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.FSTag.exclaveMain` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_fstag_exclavemain__init(xnuupcallsv2_fstag_s *_Nonnull en); /*! * @typedef xnuupcallsv2_iodesc_s * @brief Declaration of the `XnuUpcallsV2.IODesc` struct * @internal */ typedef TB_UNUSED struct xnuupcallsv2_iodesc_s { uint64_t bufferoffset; uint64_t fileoffset; uint64_t length; } xnuupcallsv2_iodesc_s; /*! * @function xnuupcallsv2_iodesc__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcallsV2.IODesc`" * @internal */ TB_NOEXPORT size_t xnuupcallsv2_iodesc__marshal_sizeof(const xnuupcallsv2_iodesc_s *_Nonnull value); /*! * @function xnuupcallsv2_iodesc__marshal * @brief Encode `XnuUpcallsV2.IODesc` into target buffer * @internal * * @discussion * Encode a `XnuUpcallsV2.IODesc` instance into a binary form * written to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcallsv2_iodesc__marshal(const xnuupcallsv2_iodesc_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcallsv2_iodesc__unmarshal * @brief Decode `XnuUpcallsV2.IODesc` from a buffer * @internal * * @discussion * Decode a `XnuUpcallsV2.IODesc` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcallsv2_iodesc__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcallsv2_iodesc_s)); /*! * @typedef xnuupcallsv2_syncop__tag_s * @brief Tag descriminator for the `XnuUpcallsV2.SyncOp` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum xnuupcallsv2_syncop__tag_s : uint64_t { XNUUPCALLSV2_SYNCOP__BARRIER = 0xbe3f1af670508dd2ULL, XNUUPCALLSV2_SYNCOP__FULL = 0x26d51f659e0784caULL, XNUUPCALLSV2_SYNCOP__UBC = 0x9c58a1b24da71c32ULL, } xnuupcallsv2_syncop__tag_s; /*! * @typedef xnuupcallsv2_syncop_s * @brief Declaration for the `XnuUpcallsV2.SyncOp` enumeration * @internal */ typedef struct xnuupcallsv2_syncop_s { xnuupcallsv2_syncop__tag_s tag; } xnuupcallsv2_syncop_s; /*! * @function xnuupcallsv2_syncop_barrier__get * @brief Accessor for `XnuUpcallsV2.SyncOp.barrier` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.SyncOp.barrier` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_syncop_barrier__get(const xnuupcallsv2_syncop_s *_Nonnull en); /*! * @function xnuupcallsv2_syncop_full__get * @brief Accessor for `XnuUpcallsV2.SyncOp.full` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.SyncOp.full` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_syncop_full__get(const xnuupcallsv2_syncop_s *_Nonnull en); /*! * @function xnuupcallsv2_syncop_ubc__get * @brief Accessor for `XnuUpcallsV2.SyncOp.ubc` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.SyncOp.ubc` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_syncop_ubc__get(const xnuupcallsv2_syncop_s *_Nonnull en); /*! * @function xnuupcallsv2_syncop_barrier__init * @brief Initializer for `XnuUpcallsV2.SyncOp.barrier` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.SyncOp.barrier` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_syncop_barrier__init(xnuupcallsv2_syncop_s *_Nonnull en); /*! * @function xnuupcallsv2_syncop_full__init * @brief Initializer for `XnuUpcallsV2.SyncOp.full` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.SyncOp.full` enumeration * variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_syncop_full__init(xnuupcallsv2_syncop_s *_Nonnull en); /*! * @function xnuupcallsv2_syncop_ubc__init * @brief Initializer for `XnuUpcallsV2.SyncOp.ubc` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.SyncOp.ubc` enumeration * variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_syncop_ubc__init(xnuupcallsv2_syncop_s *_Nonnull en); /*! * @typedef xnuupcallsv2_storageupcallserror_s * @brief Declaration of the `XnuUpcallsV2.StorageUpcallsError` enumeration * @internal */ typedef enum xnuupcallsv2_storageupcallserror_s : uint32_t { XNUUPCALLSV2_STORAGEUPCALLSERROR_SUCCESS = 0, XNUUPCALLSV2_STORAGEUPCALLSERROR_PERMISSIONDENIED = 1, XNUUPCALLSV2_STORAGEUPCALLSERROR_NOSUCHFILE = 2, XNUUPCALLSV2_STORAGEUPCALLSERROR_IOERROR = 5, XNUUPCALLSV2_STORAGEUPCALLSERROR_OUTOFMEMORY = 12, XNUUPCALLSV2_STORAGEUPCALLSERROR_ACCESSERROR = 13, XNUUPCALLSV2_STORAGEUPCALLSERROR_FILEEXISTS = 17, XNUUPCALLSV2_STORAGEUPCALLSERROR_NOTADIRECTORY = 20, XNUUPCALLSV2_STORAGEUPCALLSERROR_ISADIRECTORY = 21, XNUUPCALLSV2_STORAGEUPCALLSERROR_INVALIDARG = 22, XNUUPCALLSV2_STORAGEUPCALLSERROR_NOSPACELEFT = 28, XNUUPCALLSV2_STORAGEUPCALLSERROR_READONLYFILESYSTEM = 30, XNUUPCALLSV2_STORAGEUPCALLSERROR_RESULTTOOLARGE = 34, XNUUPCALLSV2_STORAGEUPCALLSERROR_RESOURCETEMPORARILYUNAVAILABLE = 35, XNUUPCALLSV2_STORAGEUPCALLSERROR_NOTSUPPORTED = 45, XNUUPCALLSV2_STORAGEUPCALLSERROR_BUFFERTOOSMALL = 55, XNUUPCALLSV2_STORAGEUPCALLSERROR_NAMETOOLONG = 63, XNUUPCALLSV2_STORAGEUPCALLSERROR_STALEFILEHANDLE = 70, XNUUPCALLSV2_STORAGEUPCALLSERROR_AUTHENTICATIONERROR = 80, XNUUPCALLSV2_STORAGEUPCALLSERROR_VALUETOOSMALL = 128, XNUUPCALLSV2_STORAGEUPCALLSERROR_INTERNALERROR = 129, XNUUPCALLSV2_STORAGEUPCALLSERROR_UNKNOWN = 9999, } xnuupcallsv2_storageupcallserror_s; /*! * @typedef xnuupcallsv2_driverupcallerror__tag_s * @brief Tag descriminator for the `XnuUpcallsV2.DriverUpcallError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum xnuupcallsv2_driverupcallerror__tag_s : uint64_t { XNUUPCALLSV2_DRIVERUPCALLERROR__SUCCESS = 0x10ba472b336e7a50ULL, XNUUPCALLSV2_DRIVERUPCALLERROR__FAILURE = 0x87b520134b24938ULL, } xnuupcallsv2_driverupcallerror__tag_s; /*! * @typedef xnuupcallsv2_driverupcallerror_s * @brief Declaration for the `XnuUpcallsV2.DriverUpcallError` enumeration * @internal */ typedef struct xnuupcallsv2_driverupcallerror_s { xnuupcallsv2_driverupcallerror__tag_s tag; } xnuupcallsv2_driverupcallerror_s; /*! * @function xnuupcallsv2_driverupcallerror_success__get * @brief Accessor for `XnuUpcallsV2.DriverUpcallError.success` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.DriverUpcallError.success` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_driverupcallerror_success__get(const xnuupcallsv2_driverupcallerror_s *_Nonnull en); /*! * @function xnuupcallsv2_driverupcallerror_failure__get * @brief Accessor for `XnuUpcallsV2.DriverUpcallError.failure` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.DriverUpcallError.failure` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_driverupcallerror_failure__get(const xnuupcallsv2_driverupcallerror_s *_Nonnull en); /*! * @function xnuupcallsv2_driverupcallerror_success__init * @brief Initializer for `XnuUpcallsV2.DriverUpcallError.success` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.DriverUpcallError.success` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_driverupcallerror_success__init(xnuupcallsv2_driverupcallerror_s *_Nonnull en); /*! * @function xnuupcallsv2_driverupcallerror_failure__init * @brief Initializer for `XnuUpcallsV2.DriverUpcallError.failure` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.DriverUpcallError.failure` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_driverupcallerror_failure__init(xnuupcallsv2_driverupcallerror_s *_Nonnull en); /*! * @typedef xnuupcallsv2_drivertimertype_s * @brief Declaration of the `XnuUpcallsV2.DriverTimerType` enumeration * @internal */ typedef enum xnuupcallsv2_drivertimertype_s : uint32_t { XNUUPCALLSV2_DRIVERTIMERTYPE_ABSOLUTE = 0, XNUUPCALLSV2_DRIVERTIMERTYPE_CONTINUOUS = 1, } xnuupcallsv2_drivertimertype_s; /*! * @typedef xnuupcallsv2_drivertimerspecification_s * @brief Declaration of the `XnuUpcallsV2.DriverTimerSpecification` struct * @internal */ typedef TB_UNUSED struct xnuupcallsv2_drivertimerspecification_s { xnuupcallsv2_drivertimertype_s type; uint32_t seconds; uint32_t nanoseconds; } xnuupcallsv2_drivertimerspecification_s; /*! * @function xnuupcallsv2_drivertimerspecification__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcallsV2.DriverTimerSpecification`" * @internal */ TB_NOEXPORT size_t xnuupcallsv2_drivertimerspecification__marshal_sizeof(const xnuupcallsv2_drivertimerspecification_s *_Nonnull value); /*! * @function xnuupcallsv2_drivertimerspecification__marshal * @brief Encode `XnuUpcallsV2.DriverTimerSpecification` into target buffer * @internal * * @discussion * Encode a `XnuUpcallsV2.DriverTimerSpecification` instance * into a binary form written to `buffer` such that it can be * decoded by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcallsv2_drivertimerspecification__marshal(const xnuupcallsv2_drivertimerspecification_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcallsv2_drivertimerspecification__unmarshal * @brief Decode `XnuUpcallsV2.DriverTimerSpecification` from a buffer * @internal * * @discussion * Decode a `XnuUpcallsV2.DriverTimerSpecification` structure, * given binary data written into `buffer` by the corresponding * marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcallsv2_drivertimerspecification__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcallsv2_drivertimerspecification_s)); /*! * @typedef xnuupcallsv2_pagekind_s * @brief Declaration of the `XnuUpcallsV2.PageKind` enumeration * @internal */ typedef enum xnuupcallsv2_pagekind_s : uint32_t { XNUUPCALLSV2_PAGEKIND_ROOTDOMAIN = 1, XNUUPCALLSV2_PAGEKIND_CONCLAVE = 2, } xnuupcallsv2_pagekind_s; /*! * @typedef xnuupcallsv2_pageallocflagsv2_s * @brief Declaration of the `XnuUpcallsV2.PageAllocFlagsV2` enumeration * @internal */ typedef enum xnuupcallsv2_pageallocflagsv2_s : uint32_t { XNUUPCALLSV2_PAGEALLOCFLAGSV2_NONE = (0 << 0), XNUUPCALLSV2_PAGEALLOCFLAGSV2_CONCLAVE = (1 << 0), XNUUPCALLSV2_PAGEALLOCFLAGSV2_SEC_TRANSITION = (1 << 1), } xnuupcallsv2_pageallocflagsv2_s; /*! * @typedef xnuupcallsv2_pagefreeflagsv2_s * @brief Declaration of the `XnuUpcallsV2.PageFreeFlagsV2` enumeration * @internal */ typedef enum xnuupcallsv2_pagefreeflagsv2_s : uint32_t { XNUUPCALLSV2_PAGEFREEFLAGSV2_NONE = (0 << 0), XNUUPCALLSV2_PAGEFREEFLAGSV2_CONCLAVE = (1 << 0), XNUUPCALLSV2_PAGEFREEFLAGSV2_SEC_TRANSITION = (1 << 1), } xnuupcallsv2_pagefreeflagsv2_s; /*! * @typedef xnuupcallsv2_notificationerror_s * @brief Declaration of the `XnuUpcallsV2.NotificationError` enumeration * @internal */ typedef enum xnuupcallsv2_notificationerror_s : uint32_t { XNUUPCALLSV2_NOTIFICATIONERROR_NOTFOUND = 1, } xnuupcallsv2_notificationerror_s; /*! * @typedef xnuupcallsv2_lifecycleerror_s * @brief Declaration of the `XnuUpcallsV2.LifeCycleError` enumeration * @internal */ typedef enum xnuupcallsv2_lifecycleerror_s : uint32_t { XNUUPCALLSV2_LIFECYCLEERROR_FAILURE = 1, XNUUPCALLSV2_LIFECYCLEERROR_INVALIDTASK = 2, } xnuupcallsv2_lifecycleerror_s; /*! * @typedef xnuupcallsv2_conclavescidlist_s * @brief Declaration of the `XnuUpcallsV2.ConclaveSCIDList` struct * @internal */ typedef TB_UNUSED struct xnuupcallsv2_conclavescidlist_s { uint64_t scid[32ULL]; } xnuupcallsv2_conclavescidlist_s; /*! * @function xnuupcallsv2_conclavescidlist__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcallsV2.ConclaveSCIDList`" * @internal */ TB_NOEXPORT size_t xnuupcallsv2_conclavescidlist__marshal_sizeof(const xnuupcallsv2_conclavescidlist_s *_Nonnull value); /*! * @function xnuupcallsv2_conclavescidlist__marshal * @brief Encode `XnuUpcallsV2.ConclaveSCIDList` into target buffer * @internal * * @discussion * Encode a `XnuUpcallsV2.ConclaveSCIDList` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclavescidlist__marshal(const xnuupcallsv2_conclavescidlist_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcallsv2_conclavescidlist__unmarshal * @brief Decode `XnuUpcallsV2.ConclaveSCIDList` from a buffer * @internal * * @discussion * Decode a `XnuUpcallsV2.ConclaveSCIDList` structure, given * binary data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclavescidlist__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcallsv2_conclavescidlist_s)); /*! * @typedef xnuupcallsv2_conclavesharedbuffer_s * @brief Declaration of the `XnuUpcallsV2.ConclaveSharedBuffer` struct * @internal */ typedef TB_UNUSED struct xnuupcallsv2_conclavesharedbuffer_s { uint64_t physaddr[2ULL]; } xnuupcallsv2_conclavesharedbuffer_s; /*! * @function xnuupcallsv2_conclavesharedbuffer__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcallsV2.ConclaveSharedBuffer`" * @internal */ TB_NOEXPORT size_t xnuupcallsv2_conclavesharedbuffer__marshal_sizeof(const xnuupcallsv2_conclavesharedbuffer_s *_Nonnull value); /*! * @function xnuupcallsv2_conclavesharedbuffer__marshal * @brief Encode `XnuUpcallsV2.ConclaveSharedBuffer` into target buffer * @internal * * @discussion * Encode a `XnuUpcallsV2.ConclaveSharedBuffer` instance into * a binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclavesharedbuffer__marshal(const xnuupcallsv2_conclavesharedbuffer_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcallsv2_conclavesharedbuffer__unmarshal * @brief Decode `XnuUpcallsV2.ConclaveSharedBuffer` from a buffer * @internal * * @discussion * Decode a `XnuUpcallsV2.ConclaveSharedBuffer` structure, given * binary data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclavesharedbuffer__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcallsv2_conclavesharedbuffer_s)); /*! * @typedef xnuupcallsv2_lpwerror__tag_s * @brief Tag descriminator for the `XnuUpcallsV2.LPWError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum xnuupcallsv2_lpwerror__tag_s : uint64_t { XNUUPCALLSV2_LPWERROR__ASSERTIONDENIED = 0x1b94bb5431fde496ULL, XNUUPCALLSV2_LPWERROR__RUNMODEREQUESTDENIED = 0x674d5d542b7e619fULL, XNUUPCALLSV2_LPWERROR__INTERNALERROR = 0xa762b68d10f10e24ULL, } xnuupcallsv2_lpwerror__tag_s; /*! * @typedef xnuupcallsv2_lpwerror_s * @brief Declaration for the `XnuUpcallsV2.LPWError` enumeration * @internal */ typedef struct xnuupcallsv2_lpwerror_s { xnuupcallsv2_lpwerror__tag_s tag; } xnuupcallsv2_lpwerror_s; /*! * @function xnuupcallsv2_lpwerror_assertiondenied__get * @brief Accessor for `XnuUpcallsV2.LPWError.assertionDenied` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.LPWError.assertionDenied` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_lpwerror_assertiondenied__get(const xnuupcallsv2_lpwerror_s *_Nonnull en); /*! * @function xnuupcallsv2_lpwerror_runmoderequestdenied__get * @brief Accessor for `XnuUpcallsV2.LPWError.runModeRequestDenied` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.LPWError.runModeRequestDenied` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_lpwerror_runmoderequestdenied__get(const xnuupcallsv2_lpwerror_s *_Nonnull en); /*! * @function xnuupcallsv2_lpwerror_internalerror__get * @brief Accessor for `XnuUpcallsV2.LPWError.internalError` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `XnuUpcallsV2.LPWError.internalError` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool xnuupcallsv2_lpwerror_internalerror__get(const xnuupcallsv2_lpwerror_s *_Nonnull en); /*! * @function xnuupcallsv2_lpwerror_assertiondenied__init * @brief Initializer for `XnuUpcallsV2.LPWError.assertionDenied` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.LPWError.assertionDenied` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_lpwerror_assertiondenied__init(xnuupcallsv2_lpwerror_s *_Nonnull en); /*! * @function xnuupcallsv2_lpwerror_runmoderequestdenied__init * @brief Initializer for `XnuUpcallsV2.LPWError.runModeRequestDenied` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.LPWError.runModeRequestDenied` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_lpwerror_runmoderequestdenied__init(xnuupcallsv2_lpwerror_s *_Nonnull en); /*! * @function xnuupcallsv2_lpwerror_internalerror__init * @brief Initializer for `XnuUpcallsV2.LPWError.internalError` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.LPWError.internalError` * enumeration variant */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_lpwerror_internalerror__init(xnuupcallsv2_lpwerror_s *_Nonnull en); /*! * @typedef xnuupcallsv2_lpwrunmode_s * @brief Declaration of the `XnuUpcallsV2.LPWRunMode` enumeration * @internal */ typedef enum xnuupcallsv2_lpwrunmode_s : uint64_t { XNUUPCALLSV2_LPWRUNMODE_FULLWAKE = 18446744073709551615ULL, } xnuupcallsv2_lpwrunmode_s; /*! * @typedef xnuupcallsv2_aoeworkinfo_conclavework_s * @brief Associated data for `XnuUpcallsV2.AOEWorkInfo.conclaveWork` * @internal */ typedef struct { uint64_t field0; } xnuupcallsv2_aoeworkinfo_conclavework_s; /*! * @typedef xnuupcallsv2_aoeworkinfo__tag_s * @brief Tag descriminator for the `XnuUpcallsV2.AOEWorkInfo` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum xnuupcallsv2_aoeworkinfo__tag_s : uint64_t { XNUUPCALLSV2_AOEWORKINFO__CONCLAVEWORK = 0x94a50a26e372d0f7ULL, } xnuupcallsv2_aoeworkinfo__tag_s; /*! * @typedef xnuupcallsv2_aoeworkinfo_s * @brief Declaration for the `XnuUpcallsV2.AOEWorkInfo` enumeration * @internal */ typedef struct xnuupcallsv2_aoeworkinfo_s { xnuupcallsv2_aoeworkinfo__tag_s tag; union { xnuupcallsv2_aoeworkinfo_conclavework_s conclaveWork; } values; } xnuupcallsv2_aoeworkinfo_s; /*! * @function xnuupcallsv2_aoeworkinfo_conclavework__get * @brief Accessor for `XnuUpcallsV2.AOEWorkInfo.conclaveWork` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `XnuUpcallsV2.AOEWorkInfo.conclaveWork` enumeration variant. * Otherwise, returns `NULL` */ TB_NOEXPORT const xnuupcallsv2_aoeworkinfo_conclavework_s TB_UNUSED *_Nullable xnuupcallsv2_aoeworkinfo_conclavework__get(const xnuupcallsv2_aoeworkinfo_s *_Nonnull en); /*! * @function xnuupcallsv2_aoeworkinfo_conclavework__init * @brief Initializer for `XnuUpcallsV2.AOEWorkInfo.conclaveWork` * @internal * * @discussion * Initializes `en` to contain a `XnuUpcallsV2.AOEWorkInfo.conclaveWork` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void xnuupcallsv2_aoeworkinfo_conclavework__init(xnuupcallsv2_aoeworkinfo_s *_Nonnull en, xnuupcallsv2_aoeworkinfo_conclavework_s val); /*! * @typedef xnuupcallsv2_testupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.TestUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_testupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_testupcallsprivate_s; /*! * @function xnuupcallsv2_testupcallsprivate_helloupcall * @brief Invokes the `XnuUpcallsV2.TestUpcallsPrivate.helloUpcall(arg:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_testupcallsprivate_helloupcall(const xnuupcallsv2_testupcallsprivate_s *_Nonnull client, const uint64_t arg, void (^ result)(uint64_t)); /*! * @typedef xnuupcallsv2_testupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_testupcallsprivate__init(xnuupcallsv2_testupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_testupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_testupcallsprivate__init_static(xnuupcallsv2_testupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_testupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_testupcallsprivate__copy(const xnuupcallsv2_testupcallsprivate_s *_Nonnull src, xnuupcallsv2_testupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_testupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_testupcallsprivate__destruct(xnuupcallsv2_testupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_testupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.TestUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_testupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_testupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_testupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.TestUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_testupcallsprivate__server_s { /*! * @field helloupcall * @brief Method handler for `XnuUpcallsV2.TestUpcallsPrivate.helloUpcall(arg:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ helloupcall)(const uint64_t arg, tb_error_t (^ completion)(uint64_t)); } xnuupcallsv2_testupcallsprivate__server_s; /*! * @function xnuupcallsv2_testupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.TestUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_testupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_testupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_testupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.TestUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_testupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_testupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_testupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_testupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_testupcallsprivate__server_stop(xnuupcallsv2_testupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_memoryupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.MemoryUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_memoryupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_memoryupcallsprivate_s; /*! * @function xnuupcallsv2_memoryupcallsprivate_alloc * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.alloc(npages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate_alloc(const xnuupcallsv2_memoryupcallsprivate_s *_Nonnull client, const uint32_t npages, const xnuupcallsv2_pagekind_s kind, void (^ result)(xnuupcallsv2_pagelist_s)); /*! * @function xnuupcallsv2_memoryupcallsprivate_alloc_ext * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.alloc_ext(npages:flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate_alloc_ext(const xnuupcallsv2_memoryupcallsprivate_s *_Nonnull client, const uint32_t npages, const xnuupcallsv2_pageallocflagsv2_s flags, void (^ result)(xnuupcallsv2_pagelist_s)); /*! * @function xnuupcallsv2_memoryupcallsprivate_free * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.free(pages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate_free(const xnuupcallsv2_memoryupcallsprivate_s *_Nonnull client, const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagekind_s kind); /*! * @function xnuupcallsv2_memoryupcallsprivate_free_ext * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.free_ext(pages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate_free_ext(const xnuupcallsv2_memoryupcallsprivate_s *_Nonnull client, const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagefreeflagsv2_s kind); /*! * @typedef xnuupcallsv2_memoryupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate__init(xnuupcallsv2_memoryupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_memoryupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate__init_static(xnuupcallsv2_memoryupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_memoryupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_memoryupcallsprivate__copy(const xnuupcallsv2_memoryupcallsprivate_s *_Nonnull src, xnuupcallsv2_memoryupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_memoryupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_memoryupcallsprivate__destruct(xnuupcallsv2_memoryupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_memoryupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.MemoryUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_memoryupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_memoryupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_memoryupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.MemoryUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_memoryupcallsprivate__server_s { /*! * @field alloc * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.alloc(npages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ alloc)(const uint32_t npages, const xnuupcallsv2_pagekind_s kind, tb_error_t (^ completion)(xnuupcallsv2_pagelist_s)); /*! * @field alloc_ext * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.alloc_ext(npages:flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ alloc_ext)(const uint32_t npages, const xnuupcallsv2_pageallocflagsv2_s flags, tb_error_t (^ completion)(xnuupcallsv2_pagelist_s)); /*! * @field free * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.free(pages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ free)(const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagekind_s kind, tb_error_t (^ completion)(void)); /*! * @field free_ext * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.free_ext(pages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ free_ext)(const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagefreeflagsv2_s kind, tb_error_t (^ completion)(void)); } xnuupcallsv2_memoryupcallsprivate__server_s; /*! * @function xnuupcallsv2_memoryupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.MemoryUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_memoryupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_memoryupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.MemoryUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_memoryupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_memoryupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_memoryupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_memoryupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_memoryupcallsprivate__server_stop(xnuupcallsv2_memoryupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; bool success; } value; } xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_get_success(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_get_failure(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * @internal * * @discussion * Initializes a return value for a call to `queryVolumeGroup(VGUUID:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `queryVolumeGroup(VGUUID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_init_success(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s *_Nonnull result, bool value); /*! * @function xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * @internal * * @discussion * Initializes a return value for a call to `queryVolumeGroup(VGUUID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `queryVolumeGroup(VGUUID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_init_failure(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_sealstate__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_sealstate__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; bool success; } value; } xnuupcallsv2_storageupcallsprivate_sealstate__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_sealstate__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcallsv2_storageupcallsprivate_sealstate__result_get_success(xnuupcallsv2_storageupcallsprivate_sealstate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_sealstate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_sealstate__result_get_failure(xnuupcallsv2_storageupcallsprivate_sealstate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_sealstate__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * @internal * * @discussion * Initializes a return value for a call to `sealState(fsTag:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `sealState(fsTag:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_sealstate__result_init_success(xnuupcallsv2_storageupcallsprivate_sealstate__result_s *_Nonnull result, bool value); /*! * @function xnuupcallsv2_storageupcallsprivate_sealstate__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * @internal * * @discussion * Initializes a return value for a call to `sealState(fsTag:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `sealState(fsTag:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_sealstate__result_init_failure(xnuupcallsv2_storageupcallsprivate_sealstate__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_getsize__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_getsize__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; uint64_t success; } value; } xnuupcallsv2_storageupcallsprivate_getsize__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_getsize__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcallsv2_storageupcallsprivate_getsize__result_get_success(xnuupcallsv2_storageupcallsprivate_getsize__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_getsize__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_getsize__result_get_failure(xnuupcallsv2_storageupcallsprivate_getsize__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_getsize__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * @internal * * @discussion * Initializes a return value for a call to `getSize(fsTag:fileID:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `getSize(fsTag:fileID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_getsize__result_init_success(xnuupcallsv2_storageupcallsprivate_getsize__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcallsv2_storageupcallsprivate_getsize__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * @internal * * @discussion * Initializes a return value for a call to `getSize(fsTag:fileID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `getSize(fsTag:fileID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_getsize__result_init_failure(xnuupcallsv2_storageupcallsprivate_getsize__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_readdir__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_readdir__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; uint32_t success; } value; } xnuupcallsv2_storageupcallsprivate_readdir__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_readdir__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint32_t *_Nullable xnuupcallsv2_storageupcallsprivate_readdir__result_get_success(xnuupcallsv2_storageupcallsprivate_readdir__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_readdir__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_readdir__result_get_failure(xnuupcallsv2_storageupcallsprivate_readdir__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_readdir__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * @internal * * @discussion * Initializes a return value for a call to `readDir(fsTag:fileID:buf:length:)`, * indicating the call was successful and returns an associated * `UInt32` value. * * An initialized result type should be passed to the completion * handler provided to a `readDir(fsTag:fileID:buf:length:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_readdir__result_init_success(xnuupcallsv2_storageupcallsprivate_readdir__result_s *_Nonnull result, uint32_t value); /*! * @function xnuupcallsv2_storageupcallsprivate_readdir__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * @internal * * @discussion * Initializes a return value for a call to `readDir(fsTag:fileID:buf:length:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `readDir(fsTag:fileID:buf:length:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_readdir__result_init_failure(xnuupcallsv2_storageupcallsprivate_readdir__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_sync__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_sync__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; } value; } xnuupcallsv2_storageupcallsprivate_sync__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_sync__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_storageupcallsprivate_sync__result_get_success(xnuupcallsv2_storageupcallsprivate_sync__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_sync__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_sync__result_get_failure(xnuupcallsv2_storageupcallsprivate_sync__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_sync__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * @internal * * @discussion * Initializes a return value for a call to `sync(fsTag:op:fileID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `sync(fsTag:op:fileID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_sync__result_init_success(xnuupcallsv2_storageupcallsprivate_sync__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_sync__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * @internal * * @discussion * Initializes a return value for a call to `sync(fsTag:op:fileID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `sync(fsTag:op:fileID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_sync__result_init_failure(xnuupcallsv2_storageupcallsprivate_sync__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_remove__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_remove__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; } value; } xnuupcallsv2_storageupcallsprivate_remove__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_remove__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_storageupcallsprivate_remove__result_get_success(xnuupcallsv2_storageupcallsprivate_remove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_remove__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_remove__result_get_failure(xnuupcallsv2_storageupcallsprivate_remove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_remove__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * @internal * * @discussion * Initializes a return value for a call to `remove(fsTag:rootID:name:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `remove(fsTag:rootID:name:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_remove__result_init_success(xnuupcallsv2_storageupcallsprivate_remove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_remove__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * @internal * * @discussion * Initializes a return value for a call to `remove(fsTag:rootID:name:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `remove(fsTag:rootID:name:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_remove__result_init_failure(xnuupcallsv2_storageupcallsprivate_remove__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_write__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_write__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; } value; } xnuupcallsv2_storageupcallsprivate_write__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_write__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_storageupcallsprivate_write__result_get_success(xnuupcallsv2_storageupcallsprivate_write__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_write__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_write__result_get_failure(xnuupcallsv2_storageupcallsprivate_write__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_write__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `write(fsTag:fileID:descriptor:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `write(fsTag:fileID:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_write__result_init_success(xnuupcallsv2_storageupcallsprivate_write__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_write__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `write(fsTag:fileID:descriptor:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `write(fsTag:fileID:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_write__result_init_failure(xnuupcallsv2_storageupcallsprivate_write__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_read__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_read__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; } value; } xnuupcallsv2_storageupcallsprivate_read__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_read__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_storageupcallsprivate_read__result_get_success(xnuupcallsv2_storageupcallsprivate_read__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_read__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_read__result_get_failure(xnuupcallsv2_storageupcallsprivate_read__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_read__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `read(fsTag:fileID:descriptor:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `read(fsTag:fileID:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_read__result_init_success(xnuupcallsv2_storageupcallsprivate_read__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_read__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `read(fsTag:fileID:descriptor:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `read(fsTag:fileID:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_read__result_init_failure(xnuupcallsv2_storageupcallsprivate_read__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_create__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_create__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; uint64_t success; } value; } xnuupcallsv2_storageupcallsprivate_create__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_create__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcallsv2_storageupcallsprivate_create__result_get_success(xnuupcallsv2_storageupcallsprivate_create__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_create__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_create__result_get_failure(xnuupcallsv2_storageupcallsprivate_create__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_create__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * @internal * * @discussion * Initializes a return value for a call to `create(fsTag:rootID:name:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `create(fsTag:rootID:name:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_create__result_init_success(xnuupcallsv2_storageupcallsprivate_create__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcallsv2_storageupcallsprivate_create__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * @internal * * @discussion * Initializes a return value for a call to `create(fsTag:rootID:name:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `create(fsTag:rootID:name:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_create__result_init_failure(xnuupcallsv2_storageupcallsprivate_create__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_close__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_close__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; } value; } xnuupcallsv2_storageupcallsprivate_close__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_close__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_storageupcallsprivate_close__result_get_success(xnuupcallsv2_storageupcallsprivate_close__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_close__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_close__result_get_failure(xnuupcallsv2_storageupcallsprivate_close__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_close__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * @internal * * @discussion * Initializes a return value for a call to `close(fsTag:fileID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `close(fsTag:fileID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_close__result_init_success(xnuupcallsv2_storageupcallsprivate_close__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_close__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * @internal * * @discussion * Initializes a return value for a call to `close(fsTag:fileID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `close(fsTag:fileID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_close__result_init_failure(xnuupcallsv2_storageupcallsprivate_close__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_open__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_open__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; uint64_t success; } value; } xnuupcallsv2_storageupcallsprivate_open__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_open__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcallsv2_storageupcallsprivate_open__result_get_success(xnuupcallsv2_storageupcallsprivate_open__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_open__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_open__result_get_failure(xnuupcallsv2_storageupcallsprivate_open__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_open__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * @internal * * @discussion * Initializes a return value for a call to `open(fsTag:rootID:name:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `open(fsTag:rootID:name:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_open__result_init_success(xnuupcallsv2_storageupcallsprivate_open__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcallsv2_storageupcallsprivate_open__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * @internal * * @discussion * Initializes a return value for a call to `open(fsTag:rootID:name:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `open(fsTag:rootID:name:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_open__result_init_failure(xnuupcallsv2_storageupcallsprivate_open__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_rootex__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_rootex__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; uint64_t success; } value; } xnuupcallsv2_storageupcallsprivate_rootex__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_rootex__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcallsv2_storageupcallsprivate_rootex__result_get_success(xnuupcallsv2_storageupcallsprivate_rootex__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_rootex__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_rootex__result_get_failure(xnuupcallsv2_storageupcallsprivate_rootex__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_rootex__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * @internal * * @discussion * Initializes a return value for a call to `rootEx(fsTag:exclaveID:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `rootEx(fsTag:exclaveID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_rootex__result_init_success(xnuupcallsv2_storageupcallsprivate_rootex__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcallsv2_storageupcallsprivate_rootex__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * @internal * * @discussion * Initializes a return value for a call to `rootEx(fsTag:exclaveID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `rootEx(fsTag:exclaveID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_rootex__result_init_failure(xnuupcallsv2_storageupcallsprivate_rootex__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_root__result_s * @brief Result structure for `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_root__result_s { uint8_t tag; union { xnuupcallsv2_storageupcallserror_s failure; uint64_t success; } value; } xnuupcallsv2_storageupcallsprivate_root__result_s; /*! * @function xnuupcallsv2_storageupcallsprivate_root__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcallsv2_storageupcallsprivate_root__result_get_success(xnuupcallsv2_storageupcallsprivate_root__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_root__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_storageupcallserror_s *_Nullable xnuupcallsv2_storageupcallsprivate_root__result_get_failure(xnuupcallsv2_storageupcallsprivate_root__result_s *_Nonnull result); /*! * @function xnuupcallsv2_storageupcallsprivate_root__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * @internal * * @discussion * Initializes a return value for a call to `root(exclaveID:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `root(exclaveID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_root__result_init_success(xnuupcallsv2_storageupcallsprivate_root__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcallsv2_storageupcallsprivate_root__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * @internal * * @discussion * Initializes a return value for a call to `root(exclaveID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `root(exclaveID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate_root__result_init_failure(xnuupcallsv2_storageupcallsprivate_root__result_s *_Nonnull result, xnuupcallsv2_storageupcallserror_s value); /*! * @typedef xnuupcallsv2_storageupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.StorageUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_storageupcallsprivate_s; /*! * @function xnuupcallsv2_storageupcallsprivate_root * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_root(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint8_t exclaveID[_Nonnull 32], void (^ result)(xnuupcallsv2_storageupcallsprivate_root__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_rootex * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_rootex(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint8_t exclaveID[_Nonnull 32], void (^ result)(xnuupcallsv2_storageupcallsprivate_rootex__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_open * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_open(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcallsv2_storageupcallsprivate_open__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_close * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_close(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, void (^ result)(xnuupcallsv2_storageupcallsprivate_close__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_create * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_create(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcallsv2_storageupcallsprivate_create__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_read * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_read(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, void (^ result)(xnuupcallsv2_storageupcallsprivate_read__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_write * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_write(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, void (^ result)(xnuupcallsv2_storageupcallsprivate_write__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_remove * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_remove(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcallsv2_storageupcallsprivate_remove__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_sync * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_sync(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const xnuupcallsv2_syncop_s * op, const uint64_t fileID, void (^ result)(xnuupcallsv2_storageupcallsprivate_sync__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_readdir * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_readdir(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, const uint64_t buf, const uint32_t length, void (^ result)(xnuupcallsv2_storageupcallsprivate_readdir__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_getsize * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_getsize(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, void (^ result)(xnuupcallsv2_storageupcallsprivate_getsize__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_sealstate * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_sealstate(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint32_t fsTag, void (^ result)(xnuupcallsv2_storageupcallsprivate_sealstate__result_s)); /*! * @function xnuupcallsv2_storageupcallsprivate_queryvolumegroup * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate_queryvolumegroup(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, const uint8_t VGUUID[_Nonnull 37], void (^ result)(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s)); /*! * @typedef xnuupcallsv2_storageupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate__init(xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_storageupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate__init_static(xnuupcallsv2_storageupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_storageupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate__copy(const xnuupcallsv2_storageupcallsprivate_s *_Nonnull src, xnuupcallsv2_storageupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_storageupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate__destruct(xnuupcallsv2_storageupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_storageupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.StorageUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_storageupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_storageupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_storageupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.StorageUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_storageupcallsprivate__server_s { /*! * @field root * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ root)(const uint8_t exclaveID[_Nonnull 32], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_root__result_s)); /*! * @field rootex * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ rootex)(const uint32_t fsTag, const uint8_t exclaveID[_Nonnull 32], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_rootex__result_s)); /*! * @field open * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ open)(const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_open__result_s)); /*! * @field close * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ close)(const uint32_t fsTag, const uint64_t fileID, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_close__result_s)); /*! * @field create * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ create)(const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_create__result_s)); /*! * @field read * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ read)(const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_read__result_s)); /*! * @field write * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ write)(const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_write__result_s)); /*! * @field remove * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ remove)(const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_remove__result_s)); /*! * @field sync * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ sync)(const uint32_t fsTag, const xnuupcallsv2_syncop_s * op, const uint64_t fileID, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_sync__result_s)); /*! * @field readdir * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ readdir)(const uint32_t fsTag, const uint64_t fileID, const uint64_t buf, const uint32_t length, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_readdir__result_s)); /*! * @field getsize * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getsize)(const uint32_t fsTag, const uint64_t fileID, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_getsize__result_s)); /*! * @field sealstate * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ sealstate)(const uint32_t fsTag, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_sealstate__result_s)); /*! * @field queryvolumegroup * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ queryvolumegroup)(const uint8_t VGUUID[_Nonnull 37], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s)); } xnuupcallsv2_storageupcallsprivate__server_s; /*! * @function xnuupcallsv2_storageupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.StorageUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_storageupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_storageupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.StorageUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_storageupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_storageupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_storageupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_storageupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_storageupcallsprivate__server_stop(xnuupcallsv2_storageupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_get_success(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_get_failure(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapperDeactivate(id:mapperIndex:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `mapperDeactivate(id:mapperIndex:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_init_success(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapperDeactivate(id:mapperIndex:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mapperDeactivate(id:mapperIndex:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_init_failure(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_mapperactivate__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_mapperactivate__result_get_success(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperactivate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_mapperactivate__result_get_failure(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperactivate__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapperActivate(id:mapperIndex:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `mapperActivate(id:mapperIndex:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_mapperactivate__result_init_success(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperactivate__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapperActivate(id:mapperIndex:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mapperActivate(id:mapperIndex:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_mapperactivate__result_init_failure(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_get_success(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_get_failure(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * @internal * * @discussion * Initializes a return value for a call to `asyncNotificationSignal(id:notificationID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `asyncNotificationSignal(id:notificationID:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_init_success(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * @internal * * @discussion * Initializes a return value for a call to `asyncNotificationSignal(id:notificationID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `asyncNotificationSignal(id:notificationID:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_init_failure(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_get_success(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_get_failure(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * @internal * * @discussion * Initializes a return value for a call to `unlockWorkloop(id:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `unlockWorkloop(id:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_init_success(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * @internal * * @discussion * Initializes a return value for a call to `unlockWorkloop(id:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `unlockWorkloop(id:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_init_failure(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_lockworkloop__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_lockworkloop__result_get_success(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_lockworkloop__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_lockworkloop__result_get_failure(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_lockworkloop__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * @internal * * @discussion * Initializes a return value for a call to `lockWorkloop(id:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `lockWorkloop(id:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_lockworkloop__result_init_success(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_lockworkloop__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * @internal * * @discussion * Initializes a return value for a call to `lockWorkloop(id:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `lockWorkloop(id:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_lockworkloop__result_init_failure(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_get_success(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_get_failure(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerCancelTimeout(id:timerID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timerCancelTimeout(id:timerID:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_init_success(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerCancelTimeout(id:timerID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timerCancelTimeout(id:timerID:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_init_failure(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; bool success; } value; } xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_timersettimeout__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcallsv2_driverupcallsprivate_timersettimeout__result_get_success(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timersettimeout__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_timersettimeout__result_get_failure(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timersettimeout__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * @internal * * @discussion * Initializes a return value for a call to `timerSetTimeout(id:timerID:duration:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `timerSetTimeout(id:timerID:duration:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timersettimeout__result_init_success(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s *_Nonnull result, bool value); /*! * @function xnuupcallsv2_driverupcallsprivate_timersettimeout__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * @internal * * @discussion * Initializes a return value for a call to `timerSetTimeout(id:timerID:duration:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timerSetTimeout(id:timerID:duration:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timersettimeout__result_init_failure(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_timerdisable__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_timerdisable__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_timerdisable__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_timerdisable__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_timerdisable__result_get_success(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerdisable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_timerdisable__result_get_failure(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerdisable__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerDisable(id:timerID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timerDisable(id:timerID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerdisable__result_init_success(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerdisable__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerDisable(id:timerID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timerDisable(id:timerID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerdisable__result_init_failure(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_timerenable__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_timerenable__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_timerenable__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_timerenable__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_timerenable__result_get_success(xnuupcallsv2_driverupcallsprivate_timerenable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerenable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_timerenable__result_get_failure(xnuupcallsv2_driverupcallsprivate_timerenable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerenable__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerEnable(id:timerID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timerEnable(id:timerID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerenable__result_init_success(xnuupcallsv2_driverupcallsprivate_timerenable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerenable__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerEnable(id:timerID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timerEnable(id:timerID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerenable__result_init_failure(xnuupcallsv2_driverupcallsprivate_timerenable__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_timerremove__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_timerremove__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_timerremove__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_timerremove__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_timerremove__result_get_success(xnuupcallsv2_driverupcallsprivate_timerremove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerremove__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_timerremove__result_get_failure(xnuupcallsv2_driverupcallsprivate_timerremove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerremove__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerRemove(id:timerID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timerRemove(id:timerID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerremove__result_init_success(xnuupcallsv2_driverupcallsprivate_timerremove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerremove__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * @internal * * @discussion * Initializes a return value for a call to `timerRemove(id:timerID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timerRemove(id:timerID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerremove__result_init_failure(xnuupcallsv2_driverupcallsprivate_timerremove__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_timerregister__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_timerregister__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; xnuupcallsv2_timerid_s success; } value; } xnuupcallsv2_driverupcallsprivate_timerregister__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_timerregister__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_timerid_s *_Nullable xnuupcallsv2_driverupcallsprivate_timerregister__result_get_success(xnuupcallsv2_driverupcallsprivate_timerregister__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerregister__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_timerregister__result_get_failure(xnuupcallsv2_driverupcallsprivate_timerregister__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_timerregister__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * @internal * * @discussion * Initializes a return value for a call to `timerRegister(id:)`, * indicating the call was successful and returns an associated * `XnuUpcallsV2.TimerID (aka. UInt32)` value. * * An initialized result type should be passed to the completion * handler provided to a `timerRegister(id:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerregister__result_init_success(xnuupcallsv2_driverupcallsprivate_timerregister__result_s *_Nonnull result, xnuupcallsv2_timerid_s value); /*! * @function xnuupcallsv2_driverupcallsprivate_timerregister__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * @internal * * @discussion * Initializes a return value for a call to `timerRegister(id:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timerRegister(id:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_timerregister__result_init_failure(xnuupcallsv2_driverupcallsprivate_timerregister__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_irqdisable__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_irqdisable__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_irqdisable__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_irqdisable__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_irqdisable__result_get_success(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqdisable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_irqdisable__result_get_failure(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqdisable__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqDisable(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irqDisable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqdisable__result_init_success(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqdisable__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqDisable(id:index:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irqDisable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqdisable__result_init_failure(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_irqenable__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_irqenable__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_irqenable__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_irqenable__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_irqenable__result_get_success(xnuupcallsv2_driverupcallsprivate_irqenable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqenable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_irqenable__result_get_failure(xnuupcallsv2_driverupcallsprivate_irqenable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqenable__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqEnable(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irqEnable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqenable__result_init_success(xnuupcallsv2_driverupcallsprivate_irqenable__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqenable__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqEnable(id:index:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irqEnable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqenable__result_init_failure(xnuupcallsv2_driverupcallsprivate_irqenable__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_irqremove__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_irqremove__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_irqremove__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_irqremove__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_irqremove__result_get_success(xnuupcallsv2_driverupcallsprivate_irqremove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqremove__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_irqremove__result_get_failure(xnuupcallsv2_driverupcallsprivate_irqremove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqremove__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqRemove(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irqRemove(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqremove__result_init_success(xnuupcallsv2_driverupcallsprivate_irqremove__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqremove__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqRemove(id:index:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irqRemove(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqremove__result_init_failure(xnuupcallsv2_driverupcallsprivate_irqremove__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_irqregister__result_s * @brief Result structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_irqregister__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; } value; } xnuupcallsv2_driverupcallsprivate_irqregister__result_s; /*! * @function xnuupcallsv2_driverupcallsprivate_irqregister__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_driverupcallsprivate_irqregister__result_get_success(xnuupcallsv2_driverupcallsprivate_irqregister__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqregister__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_driverupcallsprivate_irqregister__result_get_failure(xnuupcallsv2_driverupcallsprivate_irqregister__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqregister__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqRegister(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irqRegister(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqregister__result_init_success(xnuupcallsv2_driverupcallsprivate_irqregister__result_s *_Nonnull result); /*! * @function xnuupcallsv2_driverupcallsprivate_irqregister__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irqRegister(id:index:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irqRegister(id:index:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate_irqregister__result_init_failure(xnuupcallsv2_driverupcallsprivate_irqregister__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_driverupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.DriverUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_driverupcallsprivate_s; /*! * @function xnuupcallsv2_driverupcallsprivate_irqregister * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_irqregister(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqregister__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_irqremove * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_irqremove(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqremove__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_irqenable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_irqenable(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqenable__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_irqdisable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_irqdisable(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_timerregister * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_timerregister(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerregister__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_timerremove * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_timerremove(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerremove__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_timerenable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_timerenable(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerenable__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_timerdisable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_timerdisable(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_timersettimeout * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_timersettimeout(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, const xnuupcallsv2_drivertimerspecification_s * duration, void (^ result)(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_timercanceltimeout * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_timercanceltimeout(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_lockworkloop * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_lockworkloop(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, void (^ result)(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_unlockworkloop * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_unlockworkloop(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, void (^ result)(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t notificationID, void (^ result)(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperactivate * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_mapperactivate(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, void (^ result)(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s)); /*! * @function xnuupcallsv2_driverupcallsprivate_mapperdeactivate * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate_mapperdeactivate(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, void (^ result)(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s)); /*! * @typedef xnuupcallsv2_driverupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate__init(xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_driverupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate__init_static(xnuupcallsv2_driverupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_driverupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate__copy(const xnuupcallsv2_driverupcallsprivate_s *_Nonnull src, xnuupcallsv2_driverupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_driverupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate__destruct(xnuupcallsv2_driverupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_driverupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.DriverUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_driverupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_driverupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_driverupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.DriverUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_driverupcallsprivate__server_s { /*! * @field irqregister * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqregister)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqregister__result_s)); /*! * @field irqremove * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqremove)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqremove__result_s)); /*! * @field irqenable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqenable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqenable__result_s)); /*! * @field irqdisable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqdisable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s)); /*! * @field timerregister * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerregister)(const xnuupcallsv2_registryid_s id, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerregister__result_s)); /*! * @field timerremove * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerremove)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerremove__result_s)); /*! * @field timerenable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerenable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerenable__result_s)); /*! * @field timerdisable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerdisable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s)); /*! * @field timersettimeout * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timersettimeout)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, const xnuupcallsv2_drivertimerspecification_s * duration, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s)); /*! * @field timercanceltimeout * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timercanceltimeout)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s)); /*! * @field lockworkloop * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ lockworkloop)(const xnuupcallsv2_registryid_s id, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s)); /*! * @field unlockworkloop * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ unlockworkloop)(const xnuupcallsv2_registryid_s id, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s)); /*! * @field asyncnotificationsignal * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ asyncnotificationsignal)(const xnuupcallsv2_registryid_s id, const uint32_t notificationID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s)); /*! * @field mapperactivate * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mapperactivate)(const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s)); /*! * @field mapperdeactivate * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mapperdeactivate)(const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s)); } xnuupcallsv2_driverupcallsprivate__server_s; /*! * @function xnuupcallsv2_driverupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.DriverUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_driverupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_driverupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.DriverUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_driverupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_driverupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_driverupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_driverupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_driverupcallsprivate__server_stop(xnuupcallsv2_driverupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_aneupcallsprivate_aneworkend__result_s * @brief Result structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aneupcallsprivate_aneworkend__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; bool success; } value; } xnuupcallsv2_aneupcallsprivate_aneworkend__result_s; /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkend__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcallsv2_aneupcallsprivate_aneworkend__result_get_success(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkend__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_aneupcallsprivate_aneworkend__result_get_failure(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkend__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * @internal * * @discussion * Initializes a return value for a call to `aneWorkEnd(id:requestID:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `aneWorkEnd(id:requestID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_aneworkend__result_init_success(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s *_Nonnull result, bool value); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkend__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * @internal * * @discussion * Initializes a return value for a call to `aneWorkEnd(id:requestID:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `aneWorkEnd(id:requestID:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_aneworkend__result_init_failure(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s * @brief Result structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; bool success; } value; } xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s; /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_get_success(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_get_failure(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `aneWorkBegin(id:requestID:beginTimestamp:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `aneWorkBegin(id:requestID:beginTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_init_success(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s *_Nonnull result, bool value); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `aneWorkBegin(id:requestID:beginTimestamp:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `aneWorkBegin(id:requestID:beginTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_init_failure(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s * @brief Result structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; bool success; } value; } xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s; /*! * @function xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_get_success(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_get_failure(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_init_success(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s *_Nonnull result, bool value); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_init_failure(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s * @brief Result structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s { uint8_t tag; union { xnuupcallsv2_driverupcallerror_s failure; bool success; } value; } xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s; /*! * @function xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_get_success(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_driverupcallerror_s *_Nullable xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_get_failure(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s *_Nonnull result); /*! * @function xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * @internal * * @discussion * Initializes a return value for a call to `aneSetPowerState(id:desiredState:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `aneSetPowerState(id:desiredState:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_init_success(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s *_Nonnull result, bool value); /*! * @function xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * @internal * * @discussion * Initializes a return value for a call to `aneSetPowerState(id:desiredState:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `aneSetPowerState(id:desiredState:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_init_failure(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s *_Nonnull result, xnuupcallsv2_driverupcallerror_s value); /*! * @typedef xnuupcallsv2_aneupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.ANEUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aneupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_aneupcallsprivate_s; /*! * @function xnuupcallsv2_aneupcallsprivate_anesetpowerstate * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate_anesetpowerstate(const xnuupcallsv2_aneupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t desiredState, void (^ result)(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s)); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworksubmit * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate_aneworksubmit(const xnuupcallsv2_aneupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint32_t taskDescriptorCount, const uint64_t submitTimestamp, void (^ result)(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s)); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkbegin * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate_aneworkbegin(const xnuupcallsv2_aneupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint64_t beginTimestamp, void (^ result)(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s)); /*! * @function xnuupcallsv2_aneupcallsprivate_aneworkend * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate_aneworkend(const xnuupcallsv2_aneupcallsprivate_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint64_t requestID, void (^ result)(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s)); /*! * @typedef xnuupcallsv2_aneupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate__init(xnuupcallsv2_aneupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_aneupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate__init_static(xnuupcallsv2_aneupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_aneupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate__copy(const xnuupcallsv2_aneupcallsprivate_s *_Nonnull src, xnuupcallsv2_aneupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_aneupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate__destruct(xnuupcallsv2_aneupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_aneupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.ANEUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aneupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_aneupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_aneupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.ANEUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_aneupcallsprivate__server_s { /*! * @field anesetpowerstate * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ anesetpowerstate)(const xnuupcallsv2_registryid_s id, const uint32_t desiredState, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s)); /*! * @field aneworksubmit * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ aneworksubmit)(const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint32_t taskDescriptorCount, const uint64_t submitTimestamp, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s)); /*! * @field aneworkbegin * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ aneworkbegin)(const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint64_t beginTimestamp, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s)); /*! * @field aneworkend * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ aneworkend)(const xnuupcallsv2_registryid_s id, const uint64_t requestID, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s)); } xnuupcallsv2_aneupcallsprivate__server_s; /*! * @function xnuupcallsv2_aneupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.ANEUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_aneupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_aneupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.ANEUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aneupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_aneupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_aneupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_aneupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_aneupcallsprivate__server_stop(xnuupcallsv2_aneupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s * @brief Result structure for `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s { uint8_t tag; union { xnuupcallsv2_notificationerror_s failure; } value; } xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s; /*! * @function xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_get_success(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_notificationerror_s *_Nullable xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_get_failure(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * @internal * * @discussion * Initializes a return value for a call to `daemonNotificationSignal(id:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `daemonNotificationSignal(id:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_init_success(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * @internal * * @discussion * Initializes a return value for a call to `daemonNotificationSignal(id:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.NotificationError` * value. * * An initialized result type should be passed to the completion * handler provided to a `daemonNotificationSignal(id:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_init_failure(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s *_Nonnull result, xnuupcallsv2_notificationerror_s value); /*! * @typedef xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s * @brief Result structure for `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s { uint8_t tag; union { xnuupcallsv2_notificationerror_s failure; } value; } xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s; /*! * @function xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_get_success(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_notificationerror_s *_Nullable xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_get_failure(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * @internal * * @discussion * Initializes a return value for a call to `notificationSignal(id:mask:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `notificationSignal(id:mask:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_init_success(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s *_Nonnull result); /*! * @function xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * @internal * * @discussion * Initializes a return value for a call to `notificationSignal(id:mask:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.NotificationError` * value. * * An initialized result type should be passed to the completion * handler provided to a `notificationSignal(id:mask:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_init_failure(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s *_Nonnull result, xnuupcallsv2_notificationerror_s value); /*! * @typedef xnuupcallsv2_notificationupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.NotificationUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_notificationupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_notificationupcallsprivate_s; /*! * @function xnuupcallsv2_notificationupcallsprivate_notificationsignal * @brief Invokes the `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_notificationupcallsprivate_notificationsignal(const xnuupcallsv2_notificationupcallsprivate_s *_Nonnull client, const uint64_t id, const uint32_t mask, void (^ result)(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s)); /*! * @function xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal * @brief Invokes the `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal(const xnuupcallsv2_notificationupcallsprivate_s *_Nonnull client, const uint64_t id, void (^ result)(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s)); /*! * @typedef xnuupcallsv2_notificationupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_notificationupcallsprivate__init(xnuupcallsv2_notificationupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_notificationupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_notificationupcallsprivate__init_static(xnuupcallsv2_notificationupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_notificationupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_notificationupcallsprivate__copy(const xnuupcallsv2_notificationupcallsprivate_s *_Nonnull src, xnuupcallsv2_notificationupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_notificationupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_notificationupcallsprivate__destruct(xnuupcallsv2_notificationupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_notificationupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.NotificationUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_notificationupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_notificationupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_notificationupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.NotificationUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_notificationupcallsprivate__server_s { /*! * @field notificationsignal * @brief Method handler for `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ notificationsignal)(const uint64_t id, const uint32_t mask, tb_error_t (^ completion)(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s)); /*! * @field daemonnotificationsignal * @brief Method handler for `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ daemonnotificationsignal)(const uint64_t id, tb_error_t (^ completion)(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s)); } xnuupcallsv2_notificationupcallsprivate__server_s; /*! * @function xnuupcallsv2_notificationupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.NotificationUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_notificationupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_notificationupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_notificationupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.NotificationUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_notificationupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_notificationupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_notificationupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_notificationupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_notificationupcallsprivate__server_stop(xnuupcallsv2_notificationupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s * @brief Result structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s { uint8_t tag; union { xnuupcallsv2_lifecycleerror_s failure; } value; } xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s; /*! * @function xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_get_success(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_lifecycleerror_s *_Nullable xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_get_failure(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * @internal * * @discussion * Initializes a return value for a call to `crashInfo(sharedBuffer:length:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `crashInfo(sharedBuffer:length:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_init_success(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * @internal * * @discussion * Initializes a return value for a call to `crashInfo(sharedBuffer:length:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.LifeCycleError` * value. * * An initialized result type should be passed to the completion * handler provided to a `crashInfo(sharedBuffer:length:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_init_failure(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s *_Nonnull result, xnuupcallsv2_lifecycleerror_s value); /*! * @typedef xnuupcallsv2_conclaveupcallsprivate_stop__result_s * @brief Result structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_conclaveupcallsprivate_stop__result_s { uint8_t tag; union { xnuupcallsv2_lifecycleerror_s failure; } value; } xnuupcallsv2_conclaveupcallsprivate_stop__result_s; /*! * @function xnuupcallsv2_conclaveupcallsprivate_stop__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_conclaveupcallsprivate_stop__result_get_success(xnuupcallsv2_conclaveupcallsprivate_stop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_stop__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_lifecycleerror_s *_Nullable xnuupcallsv2_conclaveupcallsprivate_stop__result_get_failure(xnuupcallsv2_conclaveupcallsprivate_stop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_stop__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * @internal * * @discussion * Initializes a return value for a call to `stop(flags:)`, indicating * the call was successful * * An initialized result type should be passed to the completion * handler provided to a `stop(flags:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate_stop__result_init_success(xnuupcallsv2_conclaveupcallsprivate_stop__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_stop__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * @internal * * @discussion * Initializes a return value for a call to `stop(flags:)`, indicating * the call failed and returns an associated `XnuUpcallsV2.LifeCycleError` * value. * * An initialized result type should be passed to the completion * handler provided to a `stop(flags:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate_stop__result_init_failure(xnuupcallsv2_conclaveupcallsprivate_stop__result_s *_Nonnull result, xnuupcallsv2_lifecycleerror_s value); /*! * @typedef xnuupcallsv2_conclaveupcallsprivate_suspend__result_s * @brief Result structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_conclaveupcallsprivate_suspend__result_s { uint8_t tag; union { xnuupcallsv2_lifecycleerror_s failure; xnuupcallsv2_conclavescidlist_s success; } value; } xnuupcallsv2_conclaveupcallsprivate_suspend__result_s; /*! * @function xnuupcallsv2_conclaveupcallsprivate_suspend__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_conclavescidlist_s *_Nullable xnuupcallsv2_conclaveupcallsprivate_suspend__result_get_success(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_suspend__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_lifecycleerror_s *_Nullable xnuupcallsv2_conclaveupcallsprivate_suspend__result_get_failure(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s *_Nonnull result); /*! * @function xnuupcallsv2_conclaveupcallsprivate_suspend__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * @internal * * @discussion * Initializes a return value for a call to `suspend(flags:)`, * indicating the call was successful and returns an associated * `XnuUpcallsV2.ConclaveSCIDList` value. * * An initialized result type should be passed to the completion * handler provided to a `suspend(flags:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate_suspend__result_init_success(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s *_Nonnull result, xnuupcallsv2_conclavescidlist_s value); /*! * @function xnuupcallsv2_conclaveupcallsprivate_suspend__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * @internal * * @discussion * Initializes a return value for a call to `suspend(flags:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.LifeCycleError` * value. * * An initialized result type should be passed to the completion * handler provided to a `suspend(flags:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate_suspend__result_init_failure(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s *_Nonnull result, xnuupcallsv2_lifecycleerror_s value); /*! * @typedef xnuupcallsv2_conclaveupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.ConclaveUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_conclaveupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_conclaveupcallsprivate_s; /*! * @function xnuupcallsv2_conclaveupcallsprivate_suspend * @brief Invokes the `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclaveupcallsprivate_suspend(const xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull client, const uint32_t flags, void (^ result)(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s)); /*! * @function xnuupcallsv2_conclaveupcallsprivate_stop * @brief Invokes the `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclaveupcallsprivate_stop(const xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull client, const uint32_t flags, void (^ result)(xnuupcallsv2_conclaveupcallsprivate_stop__result_s)); /*! * @function xnuupcallsv2_conclaveupcallsprivate_crashinfo * @brief Invokes the `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclaveupcallsprivate_crashinfo(const xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull client, const xnuupcallsv2_conclavesharedbuffer_s * sharedBuffer, const uint32_t length, void (^ result)(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s)); /*! * @typedef xnuupcallsv2_conclaveupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclaveupcallsprivate__init(xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_conclaveupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclaveupcallsprivate__init_static(xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_conclaveupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate__copy(const xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull src, xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_conclaveupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate__destruct(xnuupcallsv2_conclaveupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_conclaveupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.ConclaveUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_conclaveupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_conclaveupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_conclaveupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.ConclaveUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_conclaveupcallsprivate__server_s { /*! * @field suspend * @brief Method handler for `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ suspend)(const uint32_t flags, tb_error_t (^ completion)(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s)); /*! * @field stop * @brief Method handler for `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ stop)(const uint32_t flags, tb_error_t (^ completion)(xnuupcallsv2_conclaveupcallsprivate_stop__result_s)); /*! * @field crashinfo * @brief Method handler for `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ crashinfo)(const xnuupcallsv2_conclavesharedbuffer_s * sharedBuffer, const uint32_t length, tb_error_t (^ completion)(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s)); } xnuupcallsv2_conclaveupcallsprivate__server_s; /*! * @function xnuupcallsv2_conclaveupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.ConclaveUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclaveupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_conclaveupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_conclaveupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.ConclaveUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_conclaveupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_conclaveupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_conclaveupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_conclaveupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_conclaveupcallsprivate__server_stop(xnuupcallsv2_conclaveupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s * @brief Result structure for `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s { uint8_t tag; union { xnuupcallsv2_lpwerror_s failure; } value; } xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s; /*! * @function xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_get_success(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_lpwerror_s *_Nullable xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_get_failure(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * @internal * * @discussion * Initializes a return value for a call to `requestRunMode(mode:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `requestRunMode(mode:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_init_success(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * @internal * * @discussion * Initializes a return value for a call to `requestRunMode(mode:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.LPWError` * value. * * An initialized result type should be passed to the completion * handler provided to a `requestRunMode(mode:)` method handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_init_failure(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s *_Nonnull result, xnuupcallsv2_lpwerror_s value); /*! * @typedef xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s * @brief Result structure for `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s { uint8_t tag; union { xnuupcallsv2_lpwerror_s failure; } value; } xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s; /*! * @function xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_get_success(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_lpwerror_s *_Nullable xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_get_failure(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * @internal * * @discussion * Initializes a return value for a call to `releasePowerAssertion(id:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `releasePowerAssertion(id:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_init_success(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * @internal * * @discussion * Initializes a return value for a call to `releasePowerAssertion(id:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.LPWError` * value. * * An initialized result type should be passed to the completion * handler provided to a `releasePowerAssertion(id:)` method * handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_init_failure(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s *_Nonnull result, xnuupcallsv2_lpwerror_s value); /*! * @typedef xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s * @brief Result structure for `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s { uint8_t tag; union { xnuupcallsv2_lpwerror_s failure; xnuupcallsv2_assertionid_s success; } value; } xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s; /*! * @function xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_assertionid_s *_Nullable xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_get_success(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_lpwerror_s *_Nullable xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_get_failure(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * @internal * * @discussion * Initializes a return value for a call to `createTypedPowerAssertion(owner:data:types:)`, * indicating the call was successful and returns an associated * `XnuUpcallsV2.AssertionID (aka. UInt64)` value. * * An initialized result type should be passed to the completion * handler provided to a `createTypedPowerAssertion(owner:data:types:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_init_success(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s *_Nonnull result, xnuupcallsv2_assertionid_s value); /*! * @function xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * @internal * * @discussion * Initializes a return value for a call to `createTypedPowerAssertion(owner:data:types:)`, * indicating the call failed and returns an associated `XnuUpcallsV2.LPWError` * value. * * An initialized result type should be passed to the completion * handler provided to a `createTypedPowerAssertion(owner:data:types:)` * method handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_init_failure(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s *_Nonnull result, xnuupcallsv2_lpwerror_s value); /*! * @typedef xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s * @brief Result structure for `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s { uint8_t tag; union { xnuupcallsv2_lpwerror_s failure; xnuupcallsv2_assertionid_s success; } value; } xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s; /*! * @function xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_get_success * @brief Accessor for the success return type of `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_assertionid_s *_Nullable xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_get_success(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_get_failure * @brief Accessor for the failure return type of `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcallsv2_lpwerror_s *_Nullable xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_get_failure(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s *_Nonnull result); /*! * @function xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_init_success * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * @internal * * @discussion * Initializes a return value for a call to `createPowerAssertion()`, * indicating the call was successful and returns an associated * `XnuUpcallsV2.AssertionID (aka. UInt64)` value. * * An initialized result type should be passed to the completion * handler provided to a `createPowerAssertion()` method handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_init_success(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s *_Nonnull result, xnuupcallsv2_assertionid_s value); /*! * @function xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_init_failure * @brief Initialize a return structure for `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * @internal * * @discussion * Initializes a return value for a call to `createPowerAssertion()`, * indicating the call failed and returns an associated `XnuUpcallsV2.LPWError` * value. * * An initialized result type should be passed to the completion * handler provided to a `createPowerAssertion()` method handler. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_init_failure(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s *_Nonnull result, xnuupcallsv2_lpwerror_s value); /*! * @typedef xnuupcallsv2_lpwupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.LPWUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_lpwupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_lpwupcallsprivate_s; /*! * @function xnuupcallsv2_lpwupcallsprivate_createpowerassertion * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate_createpowerassertion(const xnuupcallsv2_lpwupcallsprivate_s *_Nonnull client, void (^ result)(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s)); /*! * @function xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion(const xnuupcallsv2_lpwupcallsprivate_s *_Nonnull client, const uint64_t owner, const uint64_t data, const uint64_t types, void (^ result)(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s)); /*! * @function xnuupcallsv2_lpwupcallsprivate_releasepowerassertion * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate_releasepowerassertion(const xnuupcallsv2_lpwupcallsprivate_s *_Nonnull client, const xnuupcallsv2_assertionid_s id, void (^ result)(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s)); /*! * @function xnuupcallsv2_lpwupcallsprivate_requestrunmode * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate_requestrunmode(const xnuupcallsv2_lpwupcallsprivate_s *_Nonnull client, const xnuupcallsv2_lpwrunmode_s mode, void (^ result)(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s)); /*! * @typedef xnuupcallsv2_lpwupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate__init(xnuupcallsv2_lpwupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_lpwupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate__init_static(xnuupcallsv2_lpwupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_lpwupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate__copy(const xnuupcallsv2_lpwupcallsprivate_s *_Nonnull src, xnuupcallsv2_lpwupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_lpwupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate__destruct(xnuupcallsv2_lpwupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_lpwupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.LPWUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_lpwupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_lpwupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_lpwupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.LPWUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_lpwupcallsprivate__server_s { /*! * @field createpowerassertion * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ createpowerassertion)(tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s)); /*! * @field createtypedpowerassertion * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ createtypedpowerassertion)(const uint64_t owner, const uint64_t data, const uint64_t types, tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s)); /*! * @field releasepowerassertion * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ releasepowerassertion)(const xnuupcallsv2_assertionid_s id, tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s)); /*! * @field requestrunmode * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ requestrunmode)(const xnuupcallsv2_lpwrunmode_s mode, tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s)); } xnuupcallsv2_lpwupcallsprivate__server_s; /*! * @function xnuupcallsv2_lpwupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.LPWUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_lpwupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_lpwupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.LPWUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_lpwupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_lpwupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_lpwupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_lpwupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_lpwupcallsprivate__server_stop(xnuupcallsv2_lpwupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_aoeupcallsprivate_s * @brief Client connection handle for `XnuUpcallsV2.AOEUpcallsPrivate` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aoeupcallsprivate_s { tb_client_connection_t connection; } xnuupcallsv2_aoeupcallsprivate_s; /*! * @function xnuupcallsv2_aoeupcallsprivate_workavailable * @brief Invokes the `XnuUpcallsV2.AOEUpcallsPrivate.workAvailable(workInfo:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_aoeupcallsprivate_workavailable(const xnuupcallsv2_aoeupcallsprivate_s *_Nonnull client, const xnuupcallsv2_aoeworkinfo_s * workInfo); /*! * @typedef xnuupcallsv2_aoeupcallsprivate__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aoeupcallsprivate__init(xnuupcallsv2_aoeupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_aoeupcallsprivate__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aoeupcallsprivate__init_static(xnuupcallsv2_aoeupcallsprivate_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_aoeupcallsprivate__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_aoeupcallsprivate__copy(const xnuupcallsv2_aoeupcallsprivate_s *_Nonnull src, xnuupcallsv2_aoeupcallsprivate_s *_Nonnull dst); /*! * @function xnuupcallsv2_aoeupcallsprivate__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_aoeupcallsprivate__destruct(xnuupcallsv2_aoeupcallsprivate_s *_Nonnull client); /*! * @typedef xnuupcallsv2_aoeupcallsprivate__service_s * @brief Service connection handle for `XnuUpcallsV2.AOEUpcallsPrivate` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_aoeupcallsprivate__service_s { tb_service_connection_t connection; } xnuupcallsv2_aoeupcallsprivate__service_s; /*! * @typedef xnuupcallsv2_aoeupcallsprivate__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.AOEUpcallsPrivate` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_aoeupcallsprivate__server_s { /*! * @field workavailable * @brief Method handler for `XnuUpcallsV2.AOEUpcallsPrivate.workAvailable(workInfo:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ workavailable)(const xnuupcallsv2_aoeworkinfo_s * workInfo, tb_error_t (^ completion)(void)); } xnuupcallsv2_aoeupcallsprivate__server_s; /*! * @function xnuupcallsv2_aoeupcallsprivate__server_start * @brief Server start method for the `XnuUpcallsV2.AOEUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aoeupcallsprivate__server_start(tb_endpoint_t ep, const xnuupcallsv2_aoeupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_aoeupcallsprivate__server_start_owned * @brief Server start method for the `XnuUpcallsV2.AOEUpcallsPrivate` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_aoeupcallsprivate__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_aoeupcallsprivate__service_s *_Nonnull service, const xnuupcallsv2_aoeupcallsprivate__server_s *_Nonnull server); /*! * @function xnuupcallsv2_aoeupcallsprivate__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_aoeupcallsprivate__server_stop(xnuupcallsv2_aoeupcallsprivate__service_s *_Nonnull service); /*! * @typedef xnuupcallsv2_xnuupcalls_s * @brief Client connection handle for `XnuUpcallsV2.XnuUpcalls` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_xnuupcalls_s { tb_client_connection_t connection; } xnuupcallsv2_xnuupcalls_s; /*! * @function xnuupcallsv2_xnuupcalls_helloupcall * @brief Invokes the `XnuUpcallsV2.TestUpcallsPrivate.helloUpcall(arg:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_helloupcall(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint64_t arg, void (^ result)(uint64_t)); /*! * @function xnuupcallsv2_xnuupcalls_alloc * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.alloc(npages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_alloc(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t npages, const xnuupcallsv2_pagekind_s kind, void (^ result)(xnuupcallsv2_pagelist_s)); /*! * @function xnuupcallsv2_xnuupcalls_alloc_ext * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.alloc_ext(npages:flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_alloc_ext(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t npages, const xnuupcallsv2_pageallocflagsv2_s flags, void (^ result)(xnuupcallsv2_pagelist_s)); /*! * @function xnuupcallsv2_xnuupcalls_free * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.free(pages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_free(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagekind_s kind); /*! * @function xnuupcallsv2_xnuupcalls_free_ext * @brief Invokes the `XnuUpcallsV2.MemoryUpcallsPrivate.free_ext(pages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_free_ext(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagefreeflagsv2_s kind); /*! * @function xnuupcallsv2_xnuupcalls_root * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_root(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint8_t exclaveID[_Nonnull 32], void (^ result)(xnuupcallsv2_storageupcallsprivate_root__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_rootex * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_rootex(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint8_t exclaveID[_Nonnull 32], void (^ result)(xnuupcallsv2_storageupcallsprivate_rootex__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_open * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_open(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcallsv2_storageupcallsprivate_open__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_close * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_close(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, void (^ result)(xnuupcallsv2_storageupcallsprivate_close__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_create * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_create(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcallsv2_storageupcallsprivate_create__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_read * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_read(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, void (^ result)(xnuupcallsv2_storageupcallsprivate_read__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_write * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_write(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, void (^ result)(xnuupcallsv2_storageupcallsprivate_write__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_remove * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_remove(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcallsv2_storageupcallsprivate_remove__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_sync * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_sync(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const xnuupcallsv2_syncop_s * op, const uint64_t fileID, void (^ result)(xnuupcallsv2_storageupcallsprivate_sync__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_readdir * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_readdir(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, const uint64_t buf, const uint32_t length, void (^ result)(xnuupcallsv2_storageupcallsprivate_readdir__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_getsize * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_getsize(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileID, void (^ result)(xnuupcallsv2_storageupcallsprivate_getsize__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_sealstate * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_sealstate(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, void (^ result)(xnuupcallsv2_storageupcallsprivate_sealstate__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_queryvolumegroup * @brief Invokes the `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_queryvolumegroup(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint8_t VGUUID[_Nonnull 37], void (^ result)(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_irqregister * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_irqregister(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqregister__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_irqremove * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_irqremove(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqremove__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_irqenable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_irqenable(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqenable__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_irqdisable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_irqdisable(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, void (^ result)(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_timerregister * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_timerregister(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerregister__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_timerremove * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_timerremove(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerremove__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_timerenable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_timerenable(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerenable__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_timerdisable * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_timerdisable(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_timersettimeout * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_timersettimeout(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, const xnuupcallsv2_drivertimerspecification_s * duration, void (^ result)(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_timercanceltimeout * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_timercanceltimeout(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, void (^ result)(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_lockworkloop * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_lockworkloop(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, void (^ result)(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_unlockworkloop * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_unlockworkloop(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, void (^ result)(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_asyncnotificationsignal * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_asyncnotificationsignal(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t notificationID, void (^ result)(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_mapperactivate * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_mapperactivate(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, void (^ result)(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_mapperdeactivate * @brief Invokes the `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_mapperdeactivate(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, void (^ result)(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_anesetpowerstate * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_anesetpowerstate(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint32_t desiredState, void (^ result)(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_aneworksubmit * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_aneworksubmit(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint32_t taskDescriptorCount, const uint64_t submitTimestamp, void (^ result)(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_aneworkbegin * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_aneworkbegin(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint64_t beginTimestamp, void (^ result)(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_aneworkend * @brief Invokes the `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_aneworkend(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_registryid_s id, const uint64_t requestID, void (^ result)(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_notificationsignal * @brief Invokes the `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_notificationsignal(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t mask, void (^ result)(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_daemonnotificationsignal * @brief Invokes the `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_daemonnotificationsignal(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint64_t id, void (^ result)(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_suspend * @brief Invokes the `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_suspend(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t flags, void (^ result)(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_stop * @brief Invokes the `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_stop(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint32_t flags, void (^ result)(xnuupcallsv2_conclaveupcallsprivate_stop__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_crashinfo * @brief Invokes the `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_crashinfo(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_conclavesharedbuffer_s * sharedBuffer, const uint32_t length, void (^ result)(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_createpowerassertion * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_createpowerassertion(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, void (^ result)(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_createtypedpowerassertion * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_createtypedpowerassertion(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const uint64_t owner, const uint64_t data, const uint64_t types, void (^ result)(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_releasepowerassertion * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_releasepowerassertion(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_assertionid_s id, void (^ result)(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_requestrunmode * @brief Invokes the `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_requestrunmode(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_lpwrunmode_s mode, void (^ result)(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s)); /*! * @function xnuupcallsv2_xnuupcalls_workavailable * @brief Invokes the `XnuUpcallsV2.AOEUpcallsPrivate.workAvailable(workInfo:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls_workavailable(const xnuupcallsv2_xnuupcalls_s *_Nonnull client, const xnuupcallsv2_aoeworkinfo_s * workInfo); /*! * @typedef xnuupcallsv2_xnuupcalls__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls__init(xnuupcallsv2_xnuupcalls_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcallsv2_xnuupcalls__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls__init_static(xnuupcallsv2_xnuupcalls_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcallsv2_xnuupcalls__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcallsv2_xnuupcalls__copy(const xnuupcallsv2_xnuupcalls_s *_Nonnull src, xnuupcallsv2_xnuupcalls_s *_Nonnull dst); /*! * @function xnuupcallsv2_xnuupcalls__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_xnuupcalls__destruct(xnuupcallsv2_xnuupcalls_s *_Nonnull client); /*! * @typedef xnuupcallsv2_xnuupcalls__service_s * @brief Service connection handle for `XnuUpcallsV2.XnuUpcalls` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcallsv2_xnuupcalls__service_s { tb_service_connection_t connection; } xnuupcallsv2_xnuupcalls__service_s; /*! * @typedef xnuupcallsv2_xnuupcalls__server_s * @brief Method callback blocks for handling `XnuUpcallsV2.XnuUpcalls` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcallsv2_xnuupcalls__server_s { /*! * @field helloupcall * @brief Method handler for `XnuUpcallsV2.TestUpcallsPrivate.helloUpcall(arg:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ helloupcall)(const uint64_t arg, tb_error_t (^ completion)(uint64_t)); /*! * @field alloc * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.alloc(npages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ alloc)(const uint32_t npages, const xnuupcallsv2_pagekind_s kind, tb_error_t (^ completion)(xnuupcallsv2_pagelist_s)); /*! * @field alloc_ext * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.alloc_ext(npages:flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ alloc_ext)(const uint32_t npages, const xnuupcallsv2_pageallocflagsv2_s flags, tb_error_t (^ completion)(xnuupcallsv2_pagelist_s)); /*! * @field free * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.free(pages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ free)(const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagekind_s kind, tb_error_t (^ completion)(void)); /*! * @field free_ext * @brief Method handler for `XnuUpcallsV2.MemoryUpcallsPrivate.free_ext(pages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ free_ext)(const xnuupcallsv2_pagelist_s pages, const xnuupcallsv2_pagefreeflagsv2_s kind, tb_error_t (^ completion)(void)); /*! * @field root * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.root(exclaveID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ root)(const uint8_t exclaveID[_Nonnull 32], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_root__result_s)); /*! * @field rootex * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.rootEx(fsTag:exclaveID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ rootex)(const uint32_t fsTag, const uint8_t exclaveID[_Nonnull 32], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_rootex__result_s)); /*! * @field open * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.open(fsTag:rootID:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ open)(const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_open__result_s)); /*! * @field close * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.close(fsTag:fileID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ close)(const uint32_t fsTag, const uint64_t fileID, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_close__result_s)); /*! * @field create * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.create(fsTag:rootID:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ create)(const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_create__result_s)); /*! * @field read * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.read(fsTag:fileID:descriptor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ read)(const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_read__result_s)); /*! * @field write * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.write(fsTag:fileID:descriptor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ write)(const uint32_t fsTag, const uint64_t fileID, const xnuupcallsv2_iodesc_s * descriptor, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_write__result_s)); /*! * @field remove * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.remove(fsTag:rootID:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ remove)(const uint32_t fsTag, const uint64_t rootID, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_remove__result_s)); /*! * @field sync * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.sync(fsTag:op:fileID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ sync)(const uint32_t fsTag, const xnuupcallsv2_syncop_s * op, const uint64_t fileID, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_sync__result_s)); /*! * @field readdir * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.readDir(fsTag:fileID:buf:length:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ readdir)(const uint32_t fsTag, const uint64_t fileID, const uint64_t buf, const uint32_t length, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_readdir__result_s)); /*! * @field getsize * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.getSize(fsTag:fileID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getsize)(const uint32_t fsTag, const uint64_t fileID, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_getsize__result_s)); /*! * @field sealstate * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.sealState(fsTag:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ sealstate)(const uint32_t fsTag, tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_sealstate__result_s)); /*! * @field queryvolumegroup * @brief Method handler for `XnuUpcallsV2.StorageUpcallsPrivate.queryVolumeGroup(VGUUID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ queryvolumegroup)(const uint8_t VGUUID[_Nonnull 37], tb_error_t (^ completion)(xnuupcallsv2_storageupcallsprivate_queryvolumegroup__result_s)); /*! * @field irqregister * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqRegister(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqregister)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqregister__result_s)); /*! * @field irqremove * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqRemove(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqremove)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqremove__result_s)); /*! * @field irqenable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqEnable(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqenable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqenable__result_s)); /*! * @field irqdisable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.irqDisable(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irqdisable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_interruptindex_s index, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_irqdisable__result_s)); /*! * @field timerregister * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerRegister(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerregister)(const xnuupcallsv2_registryid_s id, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerregister__result_s)); /*! * @field timerremove * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerRemove(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerremove)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerremove__result_s)); /*! * @field timerenable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerEnable(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerenable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerenable__result_s)); /*! * @field timerdisable * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerDisable(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timerdisable)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timerdisable__result_s)); /*! * @field timersettimeout * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerSetTimeout(id:timerID:duration:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timersettimeout)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, const xnuupcallsv2_drivertimerspecification_s * duration, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timersettimeout__result_s)); /*! * @field timercanceltimeout * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.timerCancelTimeout(id:timerID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timercanceltimeout)(const xnuupcallsv2_registryid_s id, const xnuupcallsv2_timerid_s timerID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_timercanceltimeout__result_s)); /*! * @field lockworkloop * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.lockWorkloop(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ lockworkloop)(const xnuupcallsv2_registryid_s id, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_lockworkloop__result_s)); /*! * @field unlockworkloop * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.unlockWorkloop(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ unlockworkloop)(const xnuupcallsv2_registryid_s id, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_unlockworkloop__result_s)); /*! * @field asyncnotificationsignal * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.asyncNotificationSignal(id:notificationID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ asyncnotificationsignal)(const xnuupcallsv2_registryid_s id, const uint32_t notificationID, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_asyncnotificationsignal__result_s)); /*! * @field mapperactivate * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.mapperActivate(id:mapperIndex:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mapperactivate)(const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_mapperactivate__result_s)); /*! * @field mapperdeactivate * @brief Method handler for `XnuUpcallsV2.DriverUpcallsPrivate.mapperDeactivate(id:mapperIndex:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mapperdeactivate)(const xnuupcallsv2_registryid_s id, const uint32_t mapperIndex, tb_error_t (^ completion)(xnuupcallsv2_driverupcallsprivate_mapperdeactivate__result_s)); /*! * @field anesetpowerstate * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneSetPowerState(id:desiredState:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ anesetpowerstate)(const xnuupcallsv2_registryid_s id, const uint32_t desiredState, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_anesetpowerstate__result_s)); /*! * @field aneworksubmit * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkSubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ aneworksubmit)(const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint32_t taskDescriptorCount, const uint64_t submitTimestamp, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_aneworksubmit__result_s)); /*! * @field aneworkbegin * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkBegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ aneworkbegin)(const xnuupcallsv2_registryid_s id, const uint64_t requestID, const uint64_t beginTimestamp, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_aneworkbegin__result_s)); /*! * @field aneworkend * @brief Method handler for `XnuUpcallsV2.ANEUpcallsPrivate.aneWorkEnd(id:requestID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ aneworkend)(const xnuupcallsv2_registryid_s id, const uint64_t requestID, tb_error_t (^ completion)(xnuupcallsv2_aneupcallsprivate_aneworkend__result_s)); /*! * @field notificationsignal * @brief Method handler for `XnuUpcallsV2.NotificationUpcallsPrivate.notificationSignal(id:mask:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ notificationsignal)(const uint64_t id, const uint32_t mask, tb_error_t (^ completion)(xnuupcallsv2_notificationupcallsprivate_notificationsignal__result_s)); /*! * @field daemonnotificationsignal * @brief Method handler for `XnuUpcallsV2.NotificationUpcallsPrivate.daemonNotificationSignal(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ daemonnotificationsignal)(const uint64_t id, tb_error_t (^ completion)(xnuupcallsv2_notificationupcallsprivate_daemonnotificationsignal__result_s)); void (^ reserved1)(void); void (^ reserved2)(void); void (^ reserved3)(void); /*! * @field suspend * @brief Method handler for `XnuUpcallsV2.ConclaveUpcallsPrivate.suspend(flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ suspend)(const uint32_t flags, tb_error_t (^ completion)(xnuupcallsv2_conclaveupcallsprivate_suspend__result_s)); /*! * @field stop * @brief Method handler for `XnuUpcallsV2.ConclaveUpcallsPrivate.stop(flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ stop)(const uint32_t flags, tb_error_t (^ completion)(xnuupcallsv2_conclaveupcallsprivate_stop__result_s)); /*! * @field crashinfo * @brief Method handler for `XnuUpcallsV2.ConclaveUpcallsPrivate.crashInfo(sharedBuffer:length:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ crashinfo)(const xnuupcallsv2_conclavesharedbuffer_s * sharedBuffer, const uint32_t length, tb_error_t (^ completion)(xnuupcallsv2_conclaveupcallsprivate_crashinfo__result_s)); /*! * @field createpowerassertion * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.createPowerAssertion()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ createpowerassertion)(tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_createpowerassertion__result_s)); /*! * @field createtypedpowerassertion * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.createTypedPowerAssertion(owner:data:types:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ createtypedpowerassertion)(const uint64_t owner, const uint64_t data, const uint64_t types, tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_createtypedpowerassertion__result_s)); /*! * @field releasepowerassertion * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.releasePowerAssertion(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ releasepowerassertion)(const xnuupcallsv2_assertionid_s id, tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_releasepowerassertion__result_s)); /*! * @field requestrunmode * @brief Method handler for `XnuUpcallsV2.LPWUpcallsPrivate.requestRunMode(mode:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ requestrunmode)(const xnuupcallsv2_lpwrunmode_s mode, tb_error_t (^ completion)(xnuupcallsv2_lpwupcallsprivate_requestrunmode__result_s)); /*! * @field workavailable * @brief Method handler for `XnuUpcallsV2.AOEUpcallsPrivate.workAvailable(workInfo:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ workavailable)(const xnuupcallsv2_aoeworkinfo_s * workInfo, tb_error_t (^ completion)(void)); } xnuupcallsv2_xnuupcalls__server_s; /*! * @function xnuupcallsv2_xnuupcalls__server_start * @brief Server start method for the `XnuUpcallsV2.XnuUpcalls` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls__server_start(tb_endpoint_t ep, const xnuupcallsv2_xnuupcalls__server_s TB_UNUSED *_Nonnull server); /*! * @function xnuupcallsv2_xnuupcalls__server_start_owned * @brief Server start method for the `XnuUpcallsV2.XnuUpcalls` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcallsv2_xnuupcalls__server_start_owned(tb_endpoint_t ep, xnuupcallsv2_xnuupcalls__service_s *_Nonnull service, const xnuupcallsv2_xnuupcalls__server_s TB_UNUSED *_Nonnull server); /*! * @function xnuupcallsv2_xnuupcalls__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcallsv2_xnuupcalls__server_stop(xnuupcallsv2_xnuupcalls__service_s *_Nonnull service); /*! * @typedef xnuproxy_scid_s * @brief Type alias definition for `XnuProxy.SCID` * @internal */ typedef uint64_t xnuproxy_scid_s; /*! * @typedef xnuproxy_physicaladdress_s * @brief Type alias definition for `XnuProxy.PhysicalAddress` * @internal */ typedef uint64_t xnuproxy_physicaladdress_s; /*! * @typedef xnuproxy_char_s * @brief Type alias definition for `XnuProxy.Char` * @internal */ typedef uint8_t xnuproxy_char_s; /*! * @typedef xnuproxy_resourceid_s * @brief Type alias definition for `XnuProxy.ResourceID` * @internal */ typedef uint64_t xnuproxy_resourceid_s; /*! * @typedef xnuproxy_ipccontext_s * @brief Declaration of the `XnuProxy.IPCContext` struct * @internal */ typedef TB_UNUSED struct xnuproxy_ipccontext_s { xnuproxy_scid_s scid; xnuproxy_physicaladdress_s buffer; } xnuproxy_ipccontext_s; /*! * @function xnuproxy_ipccontext__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuProxy.IPCContext`" * @internal */ TB_NOEXPORT size_t xnuproxy_ipccontext__marshal_sizeof(const xnuproxy_ipccontext_s *_Nonnull value); /*! * @function xnuproxy_ipccontext__marshal * @brief Encode `XnuProxy.IPCContext` into target buffer * @internal * * @discussion * Encode a `XnuProxy.IPCContext` instance into a binary form * written to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t xnuproxy_ipccontext__marshal(const xnuproxy_ipccontext_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuproxy_ipccontext__unmarshal * @brief Decode `XnuProxy.IPCContext` from a buffer * @internal * * @discussion * Decode a `XnuProxy.IPCContext` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuproxy_ipccontext__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuproxy_ipccontext_s)); /*! * @typedef xnuproxy_resourcetype_s * @brief Declaration of the `XnuProxy.ResourceType` enumeration * @internal */ typedef enum xnuproxy_resourcetype_s : uint32_t { XNUPROXY_RESOURCETYPE_NONE = 0, XNUPROXY_RESOURCETYPE_CONCLAVEMANAGER = 1, XNUPROXY_RESOURCETYPE_NAMEDBUFFER = 2, XNUPROXY_RESOURCETYPE_SERVICE = 3, XNUPROXY_RESOURCETYPE_SENSOR = 4, XNUPROXY_RESOURCETYPE_ARBITRATEDAUDIOBUFFER = 5, XNUPROXY_RESOURCETYPE_NOTIFICATION = 6, XNUPROXY_RESOURCETYPE_SHAREDMEMORY = 7, XNUPROXY_RESOURCETYPE_ARBITRATEDAUDIOMEMORY = 8, XNUPROXY_RESOURCETYPE_ALWAYSONEXCLAVESSERVICE = 9, XNUPROXY_RESOURCETYPE_ARBITRATEDMEMORY = 10, XNUPROXY_RESOURCETYPE_DAEMONNOTIFICATION = 11, } xnuproxy_resourcetype_s; /*! * @typedef char_v_tag_s * @brief Implementation detail of variable length array of `XnuProxy.Char (aka. UInt8)` * @internal */ typedef enum char_v_tag_s : uint8_t { CHAR__V_INVALID = 0, CHAR__V_PACKED = 1, CHAR__V_REFERENCE = 2, CHAR__V_UNPACKED = 3, } char_v_tag_s; /*! * @typedef char_v_s * @brief Variable length array of `XnuProxy.Char (aka. UInt8)` * @internal * * @discussion * Declaration of a variable length array of `XnuProxy.Char (aka. * UInt8)`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct char_v_s { enum char_v_tag_s tag; union { struct { xnuproxy_char_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } char_v_s; /*! * @function char__v_count * @brief Returns the number of elements in `XnuProxy.Char (aka. UInt8)` variable length arrays * @internal */ TB_NOEXPORT size_t char__v_count(const char_v_s *_Nonnull val); /*! * @function char__v_visit * @brief Array visitor for `XnuProxy.Char (aka. UInt8)` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void char__v_visit(const char_v_s *_Nonnull val, void (^ block)(size_t i, const xnuproxy_char_s item)); /*! * @function char__v_assign_copy * @brief Copy content to variable length array of `XnuProxy.Char (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t char__v_assign_copy(char_v_s *_Nonnull val, xnuproxy_char_s *__counted_by(count) ptr, size_t count); /*! * @function char__v_assign_owned * @brief Copy content to variable length array of `XnuProxy.Char (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void char__v_assign_owned(char_v_s *_Nonnull val, xnuproxy_char_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function char__v_assign_owned * @brief Copy content to variable length array of `XnuProxy.Char (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void char__v_assign_unowned(char_v_s *_Nonnull val, xnuproxy_char_s *__counted_by(count) ptr, size_t count); /*! * @function char__v_copyout * @brief Copy the content out of variable length array of `XnuProxy.Char (aka. UInt8)` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t char__v_copyout(const char_v_s *_Nonnull val, xnuproxy_char_s *__counted_by(count) out, size_t count); /*! * @typedef xnuproxy_resourceinfo_s * @brief Declaration of the `XnuProxy.ResourceInfo` struct * @internal */ typedef TB_UNUSED struct xnuproxy_resourceinfo_s { char_v_s name; char_v_s domain; xnuproxy_resourcetype_s type; xnuproxy_resourceid_s id; bool connected; } xnuproxy_resourceinfo_s; /*! * @function xnuproxy_resourceinfo__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuProxy.ResourceInfo`" * @internal */ TB_NOEXPORT size_t xnuproxy_resourceinfo__marshal_sizeof(const xnuproxy_resourceinfo_s *_Nonnull value); /*! * @function xnuproxy_resourceinfo__marshal * @brief Encode `XnuProxy.ResourceInfo` into target buffer * @internal * * @discussion * Encode a `XnuProxy.ResourceInfo` instance into a binary form * written to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t xnuproxy_resourceinfo__marshal(const xnuproxy_resourceinfo_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuproxy_resourceinfo__unmarshal * @brief Decode `XnuProxy.ResourceInfo` from a buffer * @internal * * @discussion * Decode a `XnuProxy.ResourceInfo` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuproxy_resourceinfo__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuproxy_resourceinfo_s)); /*! * @typedef xnuproxy_version_s * @brief Declaration of the `XnuProxy.Version` enumeration * @internal */ typedef enum xnuproxy_version_s : uint32_t { XNUPROXY_VERSION_TWO = 2, XNUPROXY_VERSION_CURRENT = 3, } xnuproxy_version_s; /*! * @typedef xnuproxy_bootinfo_s * @brief Declaration of the `XnuProxy.BootInfo` struct * @internal */ typedef TB_UNUSED struct xnuproxy_bootinfo_s { xnuproxy_scid_s unused; xnuproxy_version_s version; xnuproxy_resourceid_s endpointid; xnuproxy_scid_s scid; xnuproxy_physicaladdress_s buffer; } xnuproxy_bootinfo_s; /*! * @function xnuproxy_bootinfo__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuProxy.BootInfo`" * @internal */ TB_NOEXPORT size_t xnuproxy_bootinfo__marshal_sizeof(const xnuproxy_bootinfo_s *_Nonnull value); /*! * @function xnuproxy_bootinfo__marshal * @brief Encode `XnuProxy.BootInfo` into target buffer * @internal * * @discussion * Encode a `XnuProxy.BootInfo` instance into a binary form written * to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t xnuproxy_bootinfo__marshal(const xnuproxy_bootinfo_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuproxy_bootinfo__unmarshal * @brief Decode `XnuProxy.BootInfo` from a buffer * @internal * * @discussion * Decode a `XnuProxy.BootInfo` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuproxy_bootinfo__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuproxy_bootinfo_s)); /*! * @typedef xnuproxy_resourceinfo_v_tag_s * @brief Implementation detail of variable length array of `XnuProxy.ResourceInfo` * @internal */ typedef enum xnuproxy_resourceinfo_v_tag_s : uint8_t { XNUPROXY_RESOURCEINFO__V_INVALID = 0, XNUPROXY_RESOURCEINFO__V_PACKED = 1, XNUPROXY_RESOURCEINFO__V_REFERENCE = 2, XNUPROXY_RESOURCEINFO__V_UNPACKED = 3, } xnuproxy_resourceinfo_v_tag_s; /*! * @typedef xnuproxy_resourceinfo_v_s * @brief Variable length array of `XnuProxy.ResourceInfo` * @internal * * @discussion * Declaration of a variable length array of `XnuProxy.ResourceInfo`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuproxy_resourceinfo_v_s { enum xnuproxy_resourceinfo_v_tag_s tag; union { struct { xnuproxy_resourceinfo_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } xnuproxy_resourceinfo_v_s; /*! * @function xnuproxy_resourceinfo__v_count * @brief Returns the number of elements in `XnuProxy.ResourceInfo` variable length arrays * @internal */ TB_NOEXPORT size_t xnuproxy_resourceinfo__v_count(const xnuproxy_resourceinfo_v_s *_Nonnull val); /*! * @function xnuproxy_resourceinfo__v_visit * @brief Array visitor for `XnuProxy.ResourceInfo` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void xnuproxy_resourceinfo__v_visit(const xnuproxy_resourceinfo_v_s *_Nonnull val, void (^ block)(size_t i, const xnuproxy_resourceinfo_s *_Nonnull item)); /*! * @function xnuproxy_resourceinfo__v_assign_copy * @brief Copy content to variable length array of `XnuProxy.ResourceInfo` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t xnuproxy_resourceinfo__v_assign_copy(xnuproxy_resourceinfo_v_s *_Nonnull val, xnuproxy_resourceinfo_s *__counted_by(count) ptr, size_t count); /*! * @function xnuproxy_resourceinfo__v_assign_owned * @brief Copy content to variable length array of `XnuProxy.ResourceInfo` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void xnuproxy_resourceinfo__v_assign_owned(xnuproxy_resourceinfo_v_s *_Nonnull val, xnuproxy_resourceinfo_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function xnuproxy_resourceinfo__v_assign_owned * @brief Copy content to variable length array of `XnuProxy.ResourceInfo` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void xnuproxy_resourceinfo__v_assign_unowned(xnuproxy_resourceinfo_v_s *_Nonnull val, xnuproxy_resourceinfo_s *__counted_by(count) ptr, size_t count); /*! * @typedef xnuproxy_ipccontext__opt_s * @brief Representation of an optional `XnuProxy.IPCContext` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuproxy_ipccontext__opt_s { bool has_value; xnuproxy_ipccontext_s value; } xnuproxy_ipccontext__opt_s; /*! * @function xnuproxy_ipccontext__opt_get * @brief Accessor for an optional `XnuProxy.IPCContext` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED xnuproxy_ipccontext_s *_Nullable xnuproxy_ipccontext__opt_get(xnuproxy_ipccontext__opt_s *_Nonnull opt); /*! * @function xnuproxy_ipccontext__opt_init * @brief Initializer for an optional `XnuProxy.IPCContext` * @internal * * @discussion * This function initializes an optional `XnuProxy.IPCContext` * if `value` is non-NULL. Otherwise, the optional value is marked * as vacant. */ TB_NOEXPORT TB_UNUSED void xnuproxy_ipccontext__opt_init(xnuproxy_ipccontext__opt_s *_Nonnull opt, xnuproxy_ipccontext_s *_Nullable value); /*! * @typedef xnuproxy_cmd_s * @brief Client connection handle for `XnuProxy.Cmd` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuproxy_cmd_s { tb_client_connection_t connection; } xnuproxy_cmd_s; /*! * @function xnuproxy_cmd_pmmmemusage * @brief Invokes the `XnuProxy.Cmd.pmmMemUsage()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuproxy_cmd_pmmmemusage(const xnuproxy_cmd_s *_Nonnull client); /*! * @function xnuproxy_cmd_ipccontextallocate * @brief Invokes the `XnuProxy.Cmd.IPCContextAllocate()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuproxy_cmd_ipccontextallocate(const xnuproxy_cmd_s *_Nonnull client, void (^ result)(xnuproxy_ipccontext_s)); /*! * @function xnuproxy_cmd_ipccontextalloc * @brief Invokes the `XnuProxy.Cmd.IPCContextAlloc()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuproxy_cmd_ipccontextalloc(const xnuproxy_cmd_s *_Nonnull client, void (^ result)(xnuproxy_ipccontext__opt_s)); /*! * @function xnuproxy_cmd_ipccontextfree * @brief Invokes the `XnuProxy.Cmd.IPCContextFree(context:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuproxy_cmd_ipccontextfree(const xnuproxy_cmd_s *_Nonnull client, const xnuproxy_ipccontext_s * context); /*! * @function xnuproxy_cmd_resourceinfo * @brief Invokes the `XnuProxy.Cmd.resourceInfo()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuproxy_cmd_resourceinfo(const xnuproxy_cmd_s *_Nonnull client, void (^ result)(xnuproxy_resourceinfo_v_s)); /*! * @typedef xnuproxy_cmd__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuproxy_cmd__init(xnuproxy_cmd_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuproxy_cmd__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuproxy_cmd__init_static(xnuproxy_cmd_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuproxy_cmd__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuproxy_cmd__copy(const xnuproxy_cmd_s *_Nonnull src, xnuproxy_cmd_s *_Nonnull dst); /*! * @function xnuproxy_cmd__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuproxy_cmd__destruct(xnuproxy_cmd_s *_Nonnull client); /*! * @typedef xnuproxy_cmd__service_s * @brief Service connection handle for `XnuProxy.Cmd` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuproxy_cmd__service_s { tb_service_connection_t connection; } xnuproxy_cmd__service_s; /*! * @typedef xnuproxy_cmd__server_s * @brief Method callback blocks for handling `XnuProxy.Cmd` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuproxy_cmd__server_s { /*! * @field pmmmemusage * @brief Method handler for `XnuProxy.Cmd.pmmMemUsage()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ pmmmemusage)(tb_error_t (^ completion)(void)); /*! * @field ipccontextallocate * @brief Method handler for `XnuProxy.Cmd.IPCContextAllocate()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ ipccontextallocate)(tb_error_t (^ completion)(xnuproxy_ipccontext_s)); /*! * @field ipccontextalloc * @brief Method handler for `XnuProxy.Cmd.IPCContextAlloc()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ ipccontextalloc)(tb_error_t (^ completion)(xnuproxy_ipccontext__opt_s)); /*! * @field ipccontextfree * @brief Method handler for `XnuProxy.Cmd.IPCContextFree(context:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ ipccontextfree)(const xnuproxy_ipccontext_s * context, tb_error_t (^ completion)(void)); /*! * @field resourceinfo * @brief Method handler for `XnuProxy.Cmd.resourceInfo()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ resourceinfo)(tb_error_t (^ completion)(xnuproxy_resourceinfo_v_s)); } xnuproxy_cmd__server_s; /*! * @function xnuproxy_cmd__server_start * @brief Server start method for the `XnuProxy.Cmd` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuproxy_cmd__server_start(tb_endpoint_t ep, const xnuproxy_cmd__server_s *_Nonnull server); /*! * @function xnuproxy_cmd__server_start_owned * @brief Server start method for the `XnuProxy.Cmd` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuproxy_cmd__server_start_owned(tb_endpoint_t ep, xnuproxy_cmd__service_s *_Nonnull service, const xnuproxy_cmd__server_s *_Nonnull server); /*! * @function xnuproxy_cmd__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuproxy_cmd__server_stop(xnuproxy_cmd__service_s *_Nonnull service); /*! * @typedef exclaveaccessoryindicatortypes_accessorytimestamp_s * @brief Type alias definition for `ExclaveAccessoryIndicatorTypes.AccessoryTimestamp` * @internal */ typedef uint64_t exclaveaccessoryindicatortypes_accessorytimestamp_s; /*! * @typedef exclaveaccessoryindicatortypes_type1parameters_s * @brief Declaration of the `ExclaveAccessoryIndicatorTypes.Type1Parameters` struct * @internal */ typedef TB_UNUSED struct exclaveaccessoryindicatortypes_type1parameters_s { exclaveaccessoryindicatortypes_accessorytimestamp_s timestamp; uint64_t size; } exclaveaccessoryindicatortypes_type1parameters_s; /*! * @function exclaveaccessoryindicatortypes_type1parameters__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `ExclaveAccessoryIndicatorTypes.Type1Parameters`" * @internal */ TB_NOEXPORT size_t exclaveaccessoryindicatortypes_type1parameters__marshal_sizeof(const exclaveaccessoryindicatortypes_type1parameters_s *_Nonnull value); /*! * @function exclaveaccessoryindicatortypes_type1parameters__marshal * @brief Encode `ExclaveAccessoryIndicatorTypes.Type1Parameters` into target buffer * @internal * * @discussion * Encode a `ExclaveAccessoryIndicatorTypes.Type1Parameters` * instance into a binary form written to `buffer` such that * it can be decoded by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t exclaveaccessoryindicatortypes_type1parameters__marshal(const exclaveaccessoryindicatortypes_type1parameters_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function exclaveaccessoryindicatortypes_type1parameters__unmarshal * @brief Decode `ExclaveAccessoryIndicatorTypes.Type1Parameters` from a buffer * @internal * * @discussion * Decode a `ExclaveAccessoryIndicatorTypes.Type1Parameters` * structure, given binary data written into `buffer` by the * corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t exclaveaccessoryindicatortypes_type1parameters__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(exclaveaccessoryindicatortypes_type1parameters_s)); /*! * @typedef exclaveaccessoryindicatortypes_deviceparameters_type1_s * @brief Associated data for `ExclaveAccessoryIndicatorTypes.DeviceParameters.type1` * @internal */ typedef struct { exclaveaccessoryindicatortypes_type1parameters_s field0; } exclaveaccessoryindicatortypes_deviceparameters_type1_s; /*! * @typedef exclaveaccessoryindicatortypes_deviceparameters__tag_s * @brief Tag descriminator for the `ExclaveAccessoryIndicatorTypes.DeviceParameters` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclaveaccessoryindicatortypes_deviceparameters__tag_s : uint64_t { EXCLAVEACCESSORYINDICATORTYPES_DEVICEPARAMETERS__TYPE1 = 0xab73942e5a9f72e5ULL, } exclaveaccessoryindicatortypes_deviceparameters__tag_s; /*! * @typedef exclaveaccessoryindicatortypes_deviceparameters_s * @brief Declaration for the `ExclaveAccessoryIndicatorTypes.DeviceParameters` enumeration * @internal */ typedef struct exclaveaccessoryindicatortypes_deviceparameters_s { exclaveaccessoryindicatortypes_deviceparameters__tag_s tag; union { exclaveaccessoryindicatortypes_deviceparameters_type1_s type1; } values; } exclaveaccessoryindicatortypes_deviceparameters_s; /*! * @function exclaveaccessoryindicatortypes_deviceparameters_type1__get * @brief Accessor for `ExclaveAccessoryIndicatorTypes.DeviceParameters.type1` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `ExclaveAccessoryIndicatorTypes.DeviceParameters.type1` * enumeration variant. Otherwise, returns `NULL` */ TB_NOEXPORT const exclaveaccessoryindicatortypes_deviceparameters_type1_s TB_UNUSED *_Nullable exclaveaccessoryindicatortypes_deviceparameters_type1__get(const exclaveaccessoryindicatortypes_deviceparameters_s *_Nonnull en); /*! * @function exclaveaccessoryindicatortypes_deviceparameters_type1__init * @brief Initializer for `ExclaveAccessoryIndicatorTypes.DeviceParameters.type1` * @internal * * @discussion * Initializes `en` to contain a `ExclaveAccessoryIndicatorTypes.DeviceParameters.type1` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void exclaveaccessoryindicatortypes_deviceparameters_type1__init(exclaveaccessoryindicatortypes_deviceparameters_s *_Nonnull en, exclaveaccessoryindicatortypes_deviceparameters_type1_s val); /*! * @typedef exclaveindicatorcontroller_sensortype_s * @brief Declaration of the `ExclaveIndicatorController.SensorType` enumeration * @internal */ typedef enum exclaveindicatorcontroller_sensortype_s : uint64_t { EXCLAVEINDICATORCONTROLLER_SENSORTYPE_SENSOR_CAM = 1ULL, EXCLAVEINDICATORCONTROLLER_SENSORTYPE_SENSOR_MIC = 2ULL, EXCLAVEINDICATORCONTROLLER_SENSORTYPE_SENSOR_CAM_ALT_FACEID = 3ULL, EXCLAVEINDICATORCONTROLLER_SENSORTYPE_SENSOR_CAM_ALT_FACEID_DELAYED = 4ULL, EXCLAVEINDICATORCONTROLLER_SENSORTYPE_SENSOR_TEST = 5ULL, EXCLAVEINDICATORCONTROLLER_SENSORTYPE_SENSOR_TEST_MIL = 6ULL, EXCLAVEINDICATORCONTROLLER_SENSORTYPE_SENSOR_TEST_CIL = 7ULL, } exclaveindicatorcontroller_sensortype_s; /*! * @typedef exclaveindicatorcontroller_sensorstatusresponse_s * @brief Declaration of the `ExclaveIndicatorController.SensorStatusResponse` enumeration * @internal */ typedef enum exclaveindicatorcontroller_sensorstatusresponse_s : uint64_t { EXCLAVEINDICATORCONTROLLER_SENSORSTATUSRESPONSE_SENSOR_ALLOWED = 1ULL, EXCLAVEINDICATORCONTROLLER_SENSORSTATUSRESPONSE_SENSOR_DENIED = 2ULL, EXCLAVEINDICATORCONTROLLER_SENSORSTATUSRESPONSE_SENSOR_CONTROL = 3ULL, EXCLAVEINDICATORCONTROLLER_SENSORSTATUSRESPONSE_SENSOR_PENDING = 4ULL, } exclaveindicatorcontroller_sensorstatusresponse_s; /*! * @typedef exclaveindicatorcontroller_requesterror__tag_s * @brief Tag descriminator for the `ExclaveIndicatorController.RequestError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclaveindicatorcontroller_requesterror__tag_s : uint64_t { EXCLAVEINDICATORCONTROLLER_REQUESTERROR__REQUEST_DENIED = 0xde4e8c4adb957516ULL, EXCLAVEINDICATORCONTROLLER_REQUESTERROR__REQUEST_ALLOWED = 0xb65b00542631235ULL, EXCLAVEINDICATORCONTROLLER_REQUESTERROR__REQUEST_ERROR = 0xfa45be7ef05aa774ULL, } exclaveindicatorcontroller_requesterror__tag_s; /*! * @typedef exclaveindicatorcontroller_requesterror_s * @brief Declaration for the `ExclaveIndicatorController.RequestError` enumeration * @internal */ typedef struct exclaveindicatorcontroller_requesterror_s { exclaveindicatorcontroller_requesterror__tag_s tag; } exclaveindicatorcontroller_requesterror_s; /*! * @function exclaveindicatorcontroller_requesterror_request_denied__get * @brief Accessor for `ExclaveIndicatorController.RequestError.REQUEST_DENIED` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveIndicatorController.RequestError.REQUEST_DENIED` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveindicatorcontroller_requesterror_request_denied__get(const exclaveindicatorcontroller_requesterror_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_requesterror_request_allowed__get * @brief Accessor for `ExclaveIndicatorController.RequestError.REQUEST_ALLOWED` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveIndicatorController.RequestError.REQUEST_ALLOWED` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveindicatorcontroller_requesterror_request_allowed__get(const exclaveindicatorcontroller_requesterror_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_requesterror_request_error__get * @brief Accessor for `ExclaveIndicatorController.RequestError.REQUEST_ERROR` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveIndicatorController.RequestError.REQUEST_ERROR` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveindicatorcontroller_requesterror_request_error__get(const exclaveindicatorcontroller_requesterror_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_requesterror_request_denied__init * @brief Initializer for `ExclaveIndicatorController.RequestError.REQUEST_DENIED` * @internal * * @discussion * Initializes `en` to contain a `ExclaveIndicatorController.RequestError.REQUEST_DENIED` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveindicatorcontroller_requesterror_request_denied__init(exclaveindicatorcontroller_requesterror_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_requesterror_request_allowed__init * @brief Initializer for `ExclaveIndicatorController.RequestError.REQUEST_ALLOWED` * @internal * * @discussion * Initializes `en` to contain a `ExclaveIndicatorController.RequestError.REQUEST_ALLOWED` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveindicatorcontroller_requesterror_request_allowed__init(exclaveindicatorcontroller_requesterror_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_requesterror_request_error__init * @brief Initializer for `ExclaveIndicatorController.RequestError.REQUEST_ERROR` * @internal * * @discussion * Initializes `en` to contain a `ExclaveIndicatorController.RequestError.REQUEST_ERROR` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveindicatorcontroller_requesterror_request_error__init(exclaveindicatorcontroller_requesterror_s *_Nonnull en); /*! * @typedef exclaveindicatorcontroller_indicatorrefreshrate__tag_s * @brief Tag descriminator for the `ExclaveIndicatorController.IndicatorRefreshRate` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclaveindicatorcontroller_indicatorrefreshrate__tag_s : uint64_t { EXCLAVEINDICATORCONTROLLER_INDICATORREFRESHRATE__HZ_30 = 0xa7892bf2b6c0cf53ULL, EXCLAVEINDICATORCONTROLLER_INDICATORREFRESHRATE__HZ_60 = 0xdc7a01eb2e0ca149ULL, EXCLAVEINDICATORCONTROLLER_INDICATORREFRESHRATE__HZ_120 = 0xfe4b0767c558bba4ULL, } exclaveindicatorcontroller_indicatorrefreshrate__tag_s; /*! * @typedef exclaveindicatorcontroller_indicatorrefreshrate_s * @brief Declaration for the `ExclaveIndicatorController.IndicatorRefreshRate` enumeration * @internal */ typedef struct exclaveindicatorcontroller_indicatorrefreshrate_s { exclaveindicatorcontroller_indicatorrefreshrate__tag_s tag; } exclaveindicatorcontroller_indicatorrefreshrate_s; /*! * @function exclaveindicatorcontroller_indicatorrefreshrate_hz_30__get * @brief Accessor for `ExclaveIndicatorController.IndicatorRefreshRate.HZ_30` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveIndicatorController.IndicatorRefreshRate.HZ_30` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveindicatorcontroller_indicatorrefreshrate_hz_30__get(const exclaveindicatorcontroller_indicatorrefreshrate_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_indicatorrefreshrate_hz_60__get * @brief Accessor for `ExclaveIndicatorController.IndicatorRefreshRate.HZ_60` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveIndicatorController.IndicatorRefreshRate.HZ_60` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveindicatorcontroller_indicatorrefreshrate_hz_60__get(const exclaveindicatorcontroller_indicatorrefreshrate_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_indicatorrefreshrate_hz_120__get * @brief Accessor for `ExclaveIndicatorController.IndicatorRefreshRate.HZ_120` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveIndicatorController.IndicatorRefreshRate.HZ_120` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveindicatorcontroller_indicatorrefreshrate_hz_120__get(const exclaveindicatorcontroller_indicatorrefreshrate_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_indicatorrefreshrate_hz_30__init * @brief Initializer for `ExclaveIndicatorController.IndicatorRefreshRate.HZ_30` * @internal * * @discussion * Initializes `en` to contain a `ExclaveIndicatorController.IndicatorRefreshRate.HZ_30` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveindicatorcontroller_indicatorrefreshrate_hz_30__init(exclaveindicatorcontroller_indicatorrefreshrate_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_indicatorrefreshrate_hz_60__init * @brief Initializer for `ExclaveIndicatorController.IndicatorRefreshRate.HZ_60` * @internal * * @discussion * Initializes `en` to contain a `ExclaveIndicatorController.IndicatorRefreshRate.HZ_60` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveindicatorcontroller_indicatorrefreshrate_hz_60__init(exclaveindicatorcontroller_indicatorrefreshrate_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_indicatorrefreshrate_hz_120__init * @brief Initializer for `ExclaveIndicatorController.IndicatorRefreshRate.HZ_120` * @internal * * @discussion * Initializes `en` to contain a `ExclaveIndicatorController.IndicatorRefreshRate.HZ_120` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveindicatorcontroller_indicatorrefreshrate_hz_120__init(exclaveindicatorcontroller_indicatorrefreshrate_s *_Nonnull en); /*! * @typedef exclaveindicatorcontroller_motstate_s * @brief Declaration of the `ExclaveIndicatorController.MOTState` struct * @internal */ typedef TB_UNUSED struct exclaveindicatorcontroller_motstate_s { uint64_t deadlinemil; uint64_t deadlinecil; uint64_t deadlinefid; } exclaveindicatorcontroller_motstate_s; /*! * @function exclaveindicatorcontroller_motstate__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `ExclaveIndicatorController.MOTState`" * @internal */ TB_NOEXPORT size_t exclaveindicatorcontroller_motstate__marshal_sizeof(const exclaveindicatorcontroller_motstate_s *_Nonnull value); /*! * @function exclaveindicatorcontroller_motstate__marshal * @brief Encode `ExclaveIndicatorController.MOTState` into target buffer * @internal * * @discussion * Encode a `ExclaveIndicatorController.MOTState` instance into * a binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_motstate__marshal(const exclaveindicatorcontroller_motstate_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function exclaveindicatorcontroller_motstate__unmarshal * @brief Decode `ExclaveIndicatorController.MOTState` from a buffer * @internal * * @discussion * Decode a `ExclaveIndicatorController.MOTState` structure, * given binary data written into `buffer` by the corresponding * marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_motstate__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(exclaveindicatorcontroller_motstate_s)); /*! * @typedef exclaveindicatorcontroller_sensorrequestmetrics_s * @brief Declaration of the `ExclaveIndicatorController.SensorRequestMetrics` struct * @internal */ typedef TB_UNUSED struct exclaveindicatorcontroller_sensorrequestmetrics_s { uint64_t metricsdurationms; uint64_t numsessionsmic; uint64_t numsessionsdroppedmic; uint64_t numsessionsdeniedhealthcheckmic; uint64_t numsessionsdeniedsensorcontrolmic; uint64_t durationallowedmsmic; uint64_t durationpendingmsmic; uint64_t durationcontrolmsmic; uint64_t durationdeniedmsmic; uint64_t bipsallowedmic; uint64_t bipspendingmic; uint64_t bipscontrolmic; uint64_t bipsdeniedmic; uint64_t numsessionscam; uint64_t numsessionsdroppedcam; uint64_t numsessionsdeniedhealthcheckcam; uint64_t numsessionsdeniedsensorcontrolcam; uint64_t durationallowedmscam; uint64_t durationpendingmscam; uint64_t durationcontrolmscam; uint64_t durationdeniedmscam; uint64_t bipsallowedcam; uint64_t bipspendingcam; uint64_t bipscontrolcam; uint64_t bipsdeniedcam; uint64_t numsessionsfaceid; uint64_t numsessionsdroppedfaceid; uint64_t numsessionsdeniedhealthcheckfaceid; uint64_t numsessionsdeniedsensorcontrolfaceid; uint64_t durationallowedmsfaceid; uint64_t durationpendingmsfaceid; uint64_t durationcontrolmsfaceid; uint64_t durationdeniedmsfaceid; uint64_t bipsallowedfaceid; uint64_t bipspendingfaceid; uint64_t bipscontrolfaceid; uint64_t bipsdeniedfaceid; } exclaveindicatorcontroller_sensorrequestmetrics_s; /*! * @function exclaveindicatorcontroller_sensorrequestmetrics__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `ExclaveIndicatorController.SensorRequestMetrics`" * @internal */ TB_NOEXPORT size_t exclaveindicatorcontroller_sensorrequestmetrics__marshal_sizeof(const exclaveindicatorcontroller_sensorrequestmetrics_s *_Nonnull value); /*! * @function exclaveindicatorcontroller_sensorrequestmetrics__marshal * @brief Encode `ExclaveIndicatorController.SensorRequestMetrics` into target buffer * @internal * * @discussion * Encode a `ExclaveIndicatorController.SensorRequestMetrics` * instance into a binary form written to `buffer` such that * it can be decoded by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequestmetrics__marshal(const exclaveindicatorcontroller_sensorrequestmetrics_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function exclaveindicatorcontroller_sensorrequestmetrics__unmarshal * @brief Decode `ExclaveIndicatorController.SensorRequestMetrics` from a buffer * @internal * * @discussion * Decode a `ExclaveIndicatorController.SensorRequestMetrics` * structure, given binary data written into `buffer` by the * corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequestmetrics__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(exclaveindicatorcontroller_sensorrequestmetrics_s)); /*! * @typedef exclaveaudioarbiter_arbitratedaudiobuffer_s * @brief Declaration of the `ExclaveAudioArbiter.ArbitratedAudioBuffer` enumeration * @internal */ typedef enum exclaveaudioarbiter_arbitratedaudiobuffer_s : uint64_t { EXCLAVEAUDIOARBITER_ARBITRATEDAUDIOBUFFER_AUDIO_MIC_INPUT = 1ULL, EXCLAVEAUDIOARBITER_ARBITRATEDAUDIOBUFFER_AUDIO_LPMIC_INPUT = 2ULL, EXCLAVEAUDIOARBITER_ARBITRATEDAUDIOBUFFER_AUDIO_SIRI_HISTORY_BUFFER = 3ULL, EXCLAVEAUDIOARBITER_ARBITRATEDAUDIOBUFFER_AUDIO_TEST_BUFFER = 4ULL, } exclaveaudioarbiter_arbitratedaudiobuffer_s; /*! * @typedef exclaveindicatorcontroller_sensorrequest_s * @brief Client connection handle for `ExclaveIndicatorController.SensorRequest` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_sensorrequest_s { tb_client_connection_t connection; } exclaveindicatorcontroller_sensorrequest_s; /*! * @function exclaveindicatorcontroller_sensorrequest_start * @brief Invokes the `ExclaveIndicatorController.SensorRequest.start(sensor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_start(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_sensortype_s sensor, void (^ result)(exclaveindicatorcontroller_sensorstatusresponse_s)); /*! * @function exclaveindicatorcontroller_sensorrequest_status * @brief Invokes the `ExclaveIndicatorController.SensorRequest.status(sensor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_status(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_sensortype_s sensor, void (^ result)(exclaveindicatorcontroller_sensorstatusresponse_s)); /*! * @function exclaveindicatorcontroller_sensorrequest_tick * @brief Invokes the `ExclaveIndicatorController.SensorRequest.tick()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_tick(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, void (^ result)(bool)); /*! * @function exclaveindicatorcontroller_sensorrequest_getmotstate * @brief Invokes the `ExclaveIndicatorController.SensorRequest.getMOTState()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_getmotstate(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, void (^ result)(exclaveindicatorcontroller_motstate_s)); /*! * @function exclaveindicatorcontroller_sensorrequest_stop * @brief Invokes the `ExclaveIndicatorController.SensorRequest.stop(sensor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_stop(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_sensortype_s sensor); /*! * @function exclaveindicatorcontroller_sensorrequest_setindicatorrefreshrate * @brief Invokes the `ExclaveIndicatorController.SensorRequest.setIndicatorRefreshRate(hz:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_setindicatorrefreshrate(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_indicatorrefreshrate_s * hz, void (^ result)(exclaveindicatorcontroller_requesterror_s)); /*! * @function exclaveindicatorcontroller_sensorrequest_getandclearmetrics * @brief Invokes the `ExclaveIndicatorController.SensorRequest.getAndClearMetrics()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_getandclearmetrics(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, void (^ result)(exclaveindicatorcontroller_sensorrequestmetrics_s)); /*! * @function exclaveindicatorcontroller_sensorrequest_copybuffer * @brief Invokes the `ExclaveIndicatorController.SensorRequest.copyBuffer(buffer:offset1:size1:offset2:size2:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest_copybuffer(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, const exclaveaudioarbiter_arbitratedaudiobuffer_s buffer, const uint64_t offset1, const uint64_t size1, const uint64_t offset2, const uint64_t size2, void (^ result)(exclaveindicatorcontroller_sensorstatusresponse_s)); /*! * @typedef exclaveindicatorcontroller_sensorrequest__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest__init(exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef exclaveindicatorcontroller_sensorrequest__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest__init_static(exclaveindicatorcontroller_sensorrequest_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function exclaveindicatorcontroller_sensorrequest__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void exclaveindicatorcontroller_sensorrequest__copy(const exclaveindicatorcontroller_sensorrequest_s *_Nonnull src, exclaveindicatorcontroller_sensorrequest_s *_Nonnull dst); /*! * @function exclaveindicatorcontroller_sensorrequest__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void exclaveindicatorcontroller_sensorrequest__destruct(exclaveindicatorcontroller_sensorrequest_s *_Nonnull client); /*! * @typedef exclaveindicatorcontroller_sensorrequest__service_s * @brief Service connection handle for `ExclaveIndicatorController.SensorRequest` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_sensorrequest__service_s { tb_service_connection_t connection; } exclaveindicatorcontroller_sensorrequest__service_s; /*! * @typedef exclaveindicatorcontroller_sensorrequest__server_s * @brief Method callback blocks for handling `ExclaveIndicatorController.SensorRequest` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct exclaveindicatorcontroller_sensorrequest__server_s { /*! * @field start * @brief Method handler for `ExclaveIndicatorController.SensorRequest.start(sensor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ start)(const exclaveindicatorcontroller_sensortype_s sensor, tb_error_t (^ completion)(exclaveindicatorcontroller_sensorstatusresponse_s)); /*! * @field status * @brief Method handler for `ExclaveIndicatorController.SensorRequest.status(sensor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ status)(const exclaveindicatorcontroller_sensortype_s sensor, tb_error_t (^ completion)(exclaveindicatorcontroller_sensorstatusresponse_s)); /*! * @field tick * @brief Method handler for `ExclaveIndicatorController.SensorRequest.tick()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ tick)(tb_error_t (^ completion)(bool)); /*! * @field getmotstate * @brief Method handler for `ExclaveIndicatorController.SensorRequest.getMOTState()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getmotstate)(tb_error_t (^ completion)(exclaveindicatorcontroller_motstate_s)); /*! * @field stop * @brief Method handler for `ExclaveIndicatorController.SensorRequest.stop(sensor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ stop)(const exclaveindicatorcontroller_sensortype_s sensor, tb_error_t (^ completion)(void)); /*! * @field setindicatorrefreshrate * @brief Method handler for `ExclaveIndicatorController.SensorRequest.setIndicatorRefreshRate(hz:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ setindicatorrefreshrate)(const exclaveindicatorcontroller_indicatorrefreshrate_s * hz, tb_error_t (^ completion)(exclaveindicatorcontroller_requesterror_s)); /*! * @field getandclearmetrics * @brief Method handler for `ExclaveIndicatorController.SensorRequest.getAndClearMetrics()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getandclearmetrics)(tb_error_t (^ completion)(exclaveindicatorcontroller_sensorrequestmetrics_s)); /*! * @field copybuffer * @brief Method handler for `ExclaveIndicatorController.SensorRequest.copyBuffer(buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ copybuffer)(const exclaveaudioarbiter_arbitratedaudiobuffer_s buffer, const uint64_t offset1, const uint64_t size1, const uint64_t offset2, const uint64_t size2, tb_error_t (^ completion)(exclaveindicatorcontroller_sensorstatusresponse_s)); } exclaveindicatorcontroller_sensorrequest__server_s; /*! * @function exclaveindicatorcontroller_sensorrequest__server_start * @brief Server start method for the `ExclaveIndicatorController.SensorRequest` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest__server_start(tb_endpoint_t ep, const exclaveindicatorcontroller_sensorrequest__server_s *_Nonnull server); /*! * @function exclaveindicatorcontroller_sensorrequest__server_start_owned * @brief Server start method for the `ExclaveIndicatorController.SensorRequest` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorrequest__server_start_owned(tb_endpoint_t ep, exclaveindicatorcontroller_sensorrequest__service_s *_Nonnull service, const exclaveindicatorcontroller_sensorrequest__server_s *_Nonnull server); /*! * @function exclaveindicatorcontroller_sensorrequest__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void exclaveindicatorcontroller_sensorrequest__server_stop(exclaveindicatorcontroller_sensorrequest__service_s *_Nonnull service); /*! * @typedef exclaveindicatorcontroller_devicetype_s * @brief Declaration of the `ExclaveIndicatorController.DeviceType` enumeration * @internal */ typedef enum exclaveindicatorcontroller_devicetype_s : uint64_t { EXCLAVEINDICATORCONTROLLER_DEVICETYPE_TYPE1 = 1ULL, } exclaveindicatorcontroller_devicetype_s; /*! * @typedef exclaveindicatorcontroller_deviceid_s * @brief Type alias definition for `ExclaveIndicatorController.DeviceID` * @internal */ typedef uint64_t exclaveindicatorcontroller_deviceid_s; /*! * @typedef exclaveindicatorcontroller_accessorysensorerror__tag_s * @brief Tag descriminator for the `ExclaveIndicatorController.AccessorySensorError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclaveindicatorcontroller_accessorysensorerror__tag_s : uint64_t { EXCLAVEINDICATORCONTROLLER_ACCESSORYSENSORERROR__DEVICEIDNOTFOUND = 0x3c14ac6dd56533ULL, } exclaveindicatorcontroller_accessorysensorerror__tag_s; /*! * @typedef exclaveindicatorcontroller_accessorysensorerror_s * @brief Declaration for the `ExclaveIndicatorController.AccessorySensorError` enumeration * @internal */ typedef struct exclaveindicatorcontroller_accessorysensorerror_s { exclaveindicatorcontroller_accessorysensorerror__tag_s tag; } exclaveindicatorcontroller_accessorysensorerror_s; /*! * @function exclaveindicatorcontroller_accessorysensorerror_deviceidnotfound__get * @brief Accessor for `ExclaveIndicatorController.AccessorySensorError.deviceIDNotFound` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveIndicatorController.AccessorySensorError.deviceIDNotFound` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveindicatorcontroller_accessorysensorerror_deviceidnotfound__get(const exclaveindicatorcontroller_accessorysensorerror_s *_Nonnull en); /*! * @function exclaveindicatorcontroller_accessorysensorerror_deviceidnotfound__init * @brief Initializer for `ExclaveIndicatorController.AccessorySensorError.deviceIDNotFound` * @internal * * @discussion * Initializes `en` to contain a `ExclaveIndicatorController.AccessorySensorError.deviceIDNotFound` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveindicatorcontroller_accessorysensorerror_deviceidnotfound__init(exclaveindicatorcontroller_accessorysensorerror_s *_Nonnull en); /*! * @typedef exclaveindicatorcontroller_accessorysensortype_s * @brief Declaration of the `ExclaveIndicatorController.AccessorySensorType` enumeration * @internal */ typedef enum exclaveindicatorcontroller_accessorysensortype_s : uint64_t { EXCLAVEINDICATORCONTROLLER_ACCESSORYSENSORTYPE_CAM = 1ULL, EXCLAVEINDICATORCONTROLLER_ACCESSORYSENSORTYPE_MIC = 2ULL, } exclaveindicatorcontroller_accessorysensortype_s; /*! * @typedef exclavebufferarbiter_arbitratedbuffer_s * @brief Declaration of the `ExclaveBufferArbiter.ArbitratedBuffer` enumeration * @internal */ typedef enum exclavebufferarbiter_arbitratedbuffer_s : uint64_t { EXCLAVEBUFFERARBITER_ARBITRATEDBUFFER_ARBITRATED_IMAGE_BUFFER_LEFT = 1ULL, EXCLAVEBUFFERARBITER_ARBITRATEDBUFFER_ARBITRATED_IMAGE_BUFFER_RIGHT = 2ULL, EXCLAVEBUFFERARBITER_ARBITRATEDBUFFER_ARBITRATED_TEST_BUFFER = 3ULL, } exclavebufferarbiter_arbitratedbuffer_s; /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s * @brief Result structure for `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s { uint8_t tag; union { exclaveindicatorcontroller_accessorysensorerror_s failure; exclaveindicatorcontroller_sensorstatusresponse_s success; } value; } exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s; /*! * @function exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_get_success * @brief Accessor for the success return type of `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_sensorstatusresponse_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_get_success(exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_get_failure * @brief Accessor for the failure return type of `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_accessorysensorerror_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_get_failure(exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_init_success * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * @internal * * @discussion * Initializes a return value for a call to `copyAccessoryBuffer(deviceID:buffer:params:)`, * indicating the call was successful and returns an associated * `ExclaveIndicatorController.SensorStatusResponse` value. * * An initialized result type should be passed to the completion * handler provided to a `copyAccessoryBuffer(deviceID:buffer:params:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_init_success(exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s *_Nonnull result, exclaveindicatorcontroller_sensorstatusresponse_s value); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_init_failure * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * @internal * * @discussion * Initializes a return value for a call to `copyAccessoryBuffer(deviceID:buffer:params:)`, * indicating the call failed and returns an associated `ExclaveIndicatorController.AccessorySensorError` * value. * * An initialized result type should be passed to the completion * handler provided to a `copyAccessoryBuffer(deviceID:buffer:params:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_init_failure(exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s *_Nonnull result, exclaveindicatorcontroller_accessorysensorerror_s value); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s * @brief Result structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s { uint8_t tag; union { exclaveindicatorcontroller_accessorysensorerror_s failure; } value; } exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s; /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_get_success * @brief Accessor for the success return type of `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_get_success(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_get_failure * @brief Accessor for the failure return type of `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_accessorysensorerror_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_get_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_init_success * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * @internal * * @discussion * Initializes a return value for a call to `accessorySensorStop(deviceID:sensorType:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `accessorySensorStop(deviceID:sensorType:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_init_success(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_init_failure * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * @internal * * @discussion * Initializes a return value for a call to `accessorySensorStop(deviceID:sensorType:)`, * indicating the call failed and returns an associated `ExclaveIndicatorController.AccessorySensorError` * value. * * An initialized result type should be passed to the completion * handler provided to a `accessorySensorStop(deviceID:sensorType:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_init_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s *_Nonnull result, exclaveindicatorcontroller_accessorysensorerror_s value); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s * @brief Result structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s { uint8_t tag; union { exclaveindicatorcontroller_accessorysensorerror_s failure; exclaveindicatorcontroller_sensorstatusresponse_s success; } value; } exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s; /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_get_success * @brief Accessor for the success return type of `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_sensorstatusresponse_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_get_success(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_get_failure * @brief Accessor for the failure return type of `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_accessorysensorerror_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_get_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_init_success * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * @internal * * @discussion * Initializes a return value for a call to `accessorySensorStatus(deviceID:sensorType:)`, * indicating the call was successful and returns an associated * `ExclaveIndicatorController.SensorStatusResponse` value. * * An initialized result type should be passed to the completion * handler provided to a `accessorySensorStatus(deviceID:sensorType:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_init_success(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s *_Nonnull result, exclaveindicatorcontroller_sensorstatusresponse_s value); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_init_failure * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * @internal * * @discussion * Initializes a return value for a call to `accessorySensorStatus(deviceID:sensorType:)`, * indicating the call failed and returns an associated `ExclaveIndicatorController.AccessorySensorError` * value. * * An initialized result type should be passed to the completion * handler provided to a `accessorySensorStatus(deviceID:sensorType:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_init_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s *_Nonnull result, exclaveindicatorcontroller_accessorysensorerror_s value); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s * @brief Result structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s { uint8_t tag; union { exclaveindicatorcontroller_accessorysensorerror_s failure; exclaveindicatorcontroller_sensorstatusresponse_s success; } value; } exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s; /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_get_success * @brief Accessor for the success return type of `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_sensorstatusresponse_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_get_success(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_get_failure * @brief Accessor for the failure return type of `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_accessorysensorerror_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_get_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_init_success * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * @internal * * @discussion * Initializes a return value for a call to `accessorySensorStart(deviceID:sensorType:)`, * indicating the call was successful and returns an associated * `ExclaveIndicatorController.SensorStatusResponse` value. * * An initialized result type should be passed to the completion * handler provided to a `accessorySensorStart(deviceID:sensorType:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_init_success(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s *_Nonnull result, exclaveindicatorcontroller_sensorstatusresponse_s value); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_init_failure * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * @internal * * @discussion * Initializes a return value for a call to `accessorySensorStart(deviceID:sensorType:)`, * indicating the call failed and returns an associated `ExclaveIndicatorController.AccessorySensorError` * value. * * An initialized result type should be passed to the completion * handler provided to a `accessorySensorStart(deviceID:sensorType:)` * method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_init_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s *_Nonnull result, exclaveindicatorcontroller_accessorysensorerror_s value); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s * @brief Result structure for `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s { uint8_t tag; union { exclaveindicatorcontroller_accessorysensorerror_s failure; } value; } exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s; /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_get_success * @brief Accessor for the success return type of `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_get_success(exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_get_failure * @brief Accessor for the failure return type of `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveindicatorcontroller_accessorysensorerror_s *_Nullable exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_get_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_init_success * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * @internal * * @discussion * Initializes a return value for a call to `accessoryDrop(deviceID:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `accessoryDrop(deviceID:)` method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_init_success(exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s *_Nonnull result); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_init_failure * @brief Initialize a return structure for `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * @internal * * @discussion * Initializes a return value for a call to `accessoryDrop(deviceID:)`, * indicating the call failed and returns an associated `ExclaveIndicatorController.AccessorySensorError` * value. * * An initialized result type should be passed to the completion * handler provided to a `accessoryDrop(deviceID:)` method handler. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_init_failure(exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s *_Nonnull result, exclaveindicatorcontroller_accessorysensorerror_s value); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest_s * @brief Client connection handle for `ExclaveIndicatorController.AccessorySensorRequest` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest_s { tb_client_connection_t connection; } exclaveindicatorcontroller_accessorysensorrequest_s; /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessoryinit * @brief Invokes the `ExclaveIndicatorController.AccessorySensorRequest.accessoryInit(deviceType:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest_accessoryinit(const exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_devicetype_s deviceType, void (^ result)(exclaveindicatorcontroller_deviceid_s)); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorydrop * @brief Invokes the `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest_accessorydrop(const exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_deviceid_s deviceID, void (^ result)(exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s)); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart * @brief Invokes the `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart(const exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_deviceid_s deviceID, const exclaveindicatorcontroller_accessorysensortype_s sensorType, void (^ result)(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s)); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus * @brief Invokes the `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus(const exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_deviceid_s deviceID, const exclaveindicatorcontroller_accessorysensortype_s sensorType, void (^ result)(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s)); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop * @brief Invokes the `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop(const exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_deviceid_s deviceID, const exclaveindicatorcontroller_accessorysensortype_s sensorType, void (^ result)(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s)); /*! * @function exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer * @brief Invokes the `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer(const exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, const exclaveindicatorcontroller_deviceid_s deviceID, const exclavebufferarbiter_arbitratedbuffer_s buffer, const exclaveaccessoryindicatortypes_deviceparameters_s * params, void (^ result)(exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s)); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest__init(exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest__init_static(exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function exclaveindicatorcontroller_accessorysensorrequest__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest__copy(const exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull src, exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull dst); /*! * @function exclaveindicatorcontroller_accessorysensorrequest__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest__destruct(exclaveindicatorcontroller_accessorysensorrequest_s *_Nonnull client); /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest__service_s * @brief Service connection handle for `ExclaveIndicatorController.AccessorySensorRequest` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest__service_s { tb_service_connection_t connection; } exclaveindicatorcontroller_accessorysensorrequest__service_s; /*! * @typedef exclaveindicatorcontroller_accessorysensorrequest__server_s * @brief Method callback blocks for handling `ExclaveIndicatorController.AccessorySensorRequest` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct exclaveindicatorcontroller_accessorysensorrequest__server_s { /*! * @field accessoryinit * @brief Method handler for `ExclaveIndicatorController.AccessorySensorRequest.accessoryInit(deviceType:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ accessoryinit)(const exclaveindicatorcontroller_devicetype_s deviceType, tb_error_t (^ completion)(exclaveindicatorcontroller_deviceid_s)); /*! * @field accessorydrop * @brief Method handler for `ExclaveIndicatorController.AccessorySensorRequest.accessoryDrop(deviceID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ accessorydrop)(const exclaveindicatorcontroller_deviceid_s deviceID, tb_error_t (^ completion)(exclaveindicatorcontroller_accessorysensorrequest_accessorydrop__result_s)); /*! * @field accessorysensorstart * @brief Method handler for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStart(deviceID:sensorType:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ accessorysensorstart)(const exclaveindicatorcontroller_deviceid_s deviceID, const exclaveindicatorcontroller_accessorysensortype_s sensorType, tb_error_t (^ completion)(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstart__result_s)); /*! * @field accessorysensorstatus * @brief Method handler for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStatus(deviceID:sensorType:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ accessorysensorstatus)(const exclaveindicatorcontroller_deviceid_s deviceID, const exclaveindicatorcontroller_accessorysensortype_s sensorType, tb_error_t (^ completion)(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstatus__result_s)); /*! * @field accessorysensorstop * @brief Method handler for `ExclaveIndicatorController.AccessorySensorRequest.accessorySensorStop(deviceID:sensorType:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ accessorysensorstop)(const exclaveindicatorcontroller_deviceid_s deviceID, const exclaveindicatorcontroller_accessorysensortype_s sensorType, tb_error_t (^ completion)(exclaveindicatorcontroller_accessorysensorrequest_accessorysensorstop__result_s)); /*! * @field copyaccessorybuffer * @brief Method handler for `ExclaveIndicatorController.AccessorySensorRequest.copyAccessoryBuffer(deviceID:buffer:params:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ copyaccessorybuffer)(const exclaveindicatorcontroller_deviceid_s deviceID, const exclavebufferarbiter_arbitratedbuffer_s buffer, const exclaveaccessoryindicatortypes_deviceparameters_s * params, tb_error_t (^ completion)(exclaveindicatorcontroller_accessorysensorrequest_copyaccessorybuffer__result_s)); } exclaveindicatorcontroller_accessorysensorrequest__server_s; /*! * @function exclaveindicatorcontroller_accessorysensorrequest__server_start * @brief Server start method for the `ExclaveIndicatorController.AccessorySensorRequest` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest__server_start(tb_endpoint_t ep, const exclaveindicatorcontroller_accessorysensorrequest__server_s *_Nonnull server); /*! * @function exclaveindicatorcontroller_accessorysensorrequest__server_start_owned * @brief Server start method for the `ExclaveIndicatorController.AccessorySensorRequest` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_accessorysensorrequest__server_start_owned(tb_endpoint_t ep, exclaveindicatorcontroller_accessorysensorrequest__service_s *_Nonnull service, const exclaveindicatorcontroller_accessorysensorrequest__server_s *_Nonnull server); /*! * @function exclaveindicatorcontroller_accessorysensorrequest__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void exclaveindicatorcontroller_accessorysensorrequest__server_stop(exclaveindicatorcontroller_accessorysensorrequest__service_s *_Nonnull service); /*! * @typedef exclaveindicatorcontroller_sensorcopyrequest_s * @brief Client connection handle for `ExclaveIndicatorController.SensorCopyRequest` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_sensorcopyrequest_s { tb_client_connection_t connection; } exclaveindicatorcontroller_sensorcopyrequest_s; /*! * @function exclaveindicatorcontroller_sensorcopyrequest_copy * @brief Invokes the `ExclaveIndicatorController.SensorCopyRequest.copy(buffer:offset1:size1:offset2:size2:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorcopyrequest_copy(const exclaveindicatorcontroller_sensorcopyrequest_s *_Nonnull client, const exclaveaudioarbiter_arbitratedaudiobuffer_s buffer, const uint64_t offset1, const uint64_t size1, const uint64_t offset2, const uint64_t size2, void (^ result)(exclaveindicatorcontroller_sensorstatusresponse_s)); /*! * @typedef exclaveindicatorcontroller_sensorcopyrequest__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorcopyrequest__init(exclaveindicatorcontroller_sensorcopyrequest_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef exclaveindicatorcontroller_sensorcopyrequest__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorcopyrequest__init_static(exclaveindicatorcontroller_sensorcopyrequest_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function exclaveindicatorcontroller_sensorcopyrequest__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void exclaveindicatorcontroller_sensorcopyrequest__copy(const exclaveindicatorcontroller_sensorcopyrequest_s *_Nonnull src, exclaveindicatorcontroller_sensorcopyrequest_s *_Nonnull dst); /*! * @function exclaveindicatorcontroller_sensorcopyrequest__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void exclaveindicatorcontroller_sensorcopyrequest__destruct(exclaveindicatorcontroller_sensorcopyrequest_s *_Nonnull client); /*! * @typedef exclaveindicatorcontroller_sensorcopyrequest__service_s * @brief Service connection handle for `ExclaveIndicatorController.SensorCopyRequest` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveindicatorcontroller_sensorcopyrequest__service_s { tb_service_connection_t connection; } exclaveindicatorcontroller_sensorcopyrequest__service_s; /*! * @typedef exclaveindicatorcontroller_sensorcopyrequest__server_s * @brief Method callback blocks for handling `ExclaveIndicatorController.SensorCopyRequest` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct exclaveindicatorcontroller_sensorcopyrequest__server_s { /*! * @field copy * @brief Method handler for `ExclaveIndicatorController.SensorCopyRequest.copy(buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ copy)(const exclaveaudioarbiter_arbitratedaudiobuffer_s buffer, const uint64_t offset1, const uint64_t size1, const uint64_t offset2, const uint64_t size2, tb_error_t (^ completion)(exclaveindicatorcontroller_sensorstatusresponse_s)); } exclaveindicatorcontroller_sensorcopyrequest__server_s; /*! * @function exclaveindicatorcontroller_sensorcopyrequest__server_start * @brief Server start method for the `ExclaveIndicatorController.SensorCopyRequest` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorcopyrequest__server_start(tb_endpoint_t ep, const exclaveindicatorcontroller_sensorcopyrequest__server_s *_Nonnull server); /*! * @function exclaveindicatorcontroller_sensorcopyrequest__server_start_owned * @brief Server start method for the `ExclaveIndicatorController.SensorCopyRequest` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t exclaveindicatorcontroller_sensorcopyrequest__server_start_owned(tb_endpoint_t ep, exclaveindicatorcontroller_sensorcopyrequest__service_s *_Nonnull service, const exclaveindicatorcontroller_sensorcopyrequest__server_s *_Nonnull server); /*! * @function exclaveindicatorcontroller_sensorcopyrequest__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void exclaveindicatorcontroller_sensorcopyrequest__server_stop(exclaveindicatorcontroller_sensorcopyrequest__service_s *_Nonnull service); /*! * @typedef stackshottypes_asid_s * @brief Type alias definition for `StackshotTypes.ASID` * @internal */ typedef uint64_t stackshottypes_asid_s; /*! * @typedef stackshottypes_epid_s * @brief Type alias definition for `StackshotTypes.EPID` * @internal */ typedef uint64_t stackshottypes_epid_s; /*! * @typedef stackshottypes_ecid_s * @brief Type alias definition for `StackshotTypes.ECID` * @internal */ typedef uint64_t stackshottypes_ecid_s; /*! * @typedef stackshottypes_tnid_s * @brief Type alias definition for `StackshotTypes.TNID` * @internal */ typedef uint64_t stackshottypes_tnid_s; /*! * @typedef stackshottypes_scid_s * @brief Type alias definition for `StackshotTypes.SCID` * @internal */ typedef uint64_t stackshottypes_scid_s; /*! * @typedef stackshottypes_asroot_s * @brief Type alias definition for `StackshotTypes.ASRoot` * @internal */ typedef uint64_t stackshottypes_asroot_s; /*! * @typedef stackshottypes_ecstate_s * @brief Type alias definition for `StackshotTypes.ECState` * @internal */ typedef uint64_t stackshottypes_ecstate_s; /*! * @typedef stackshottypes_testscenarioid_s * @brief Type alias definition for `StackshotTypes.TestScenarioID` * @internal */ typedef uint64_t stackshottypes_testscenarioid_s; /*! * @typedef stackshottypes_uuid_s * @brief Type alias definition for `StackshotTypes.UUID` * @internal */ typedef uint8_t stackshottypes_uuid_s[16ULL]; /*! * @typedef stackshottypes_textlayoutid_s * @brief Type alias definition for `StackshotTypes.TextLayoutID` * @internal */ typedef uint64_t stackshottypes_textlayoutid_s; /*! * @typedef stackshottypes_address_s * @brief Type alias definition for `StackshotTypes.Address` * @internal */ typedef uint64_t stackshottypes_address_s; /*! * @typedef stackshottypes_tbinvocationid_s * @brief Type alias definition for `StackshotTypes.TBInvocationID` * @internal */ typedef uint64_t stackshottypes_tbinvocationid_s; /*! * @typedef address__opt_s * @brief Representation of an optional `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct address__opt_s { bool has_value; stackshottypes_address_s value; } address__opt_s; /*! * @function address__opt_get * @brief Accessor for an optional `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED stackshottypes_address_s *_Nullable address__opt_get(address__opt_s *_Nonnull opt); /*! * @function address__opt_init * @brief Initializer for an optional `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * This function initializes an optional `StackshotTypes.Address * (aka. UInt64)` if `value` is non-NULL. Otherwise, the optional * value is marked as vacant. */ TB_NOEXPORT TB_UNUSED void address__opt_init(address__opt_s *_Nonnull opt, uint64_t *_Nullable value); /*! * @typedef stackshottypes_textsegment_s * @brief Declaration of the `StackshotTypes.TextSegment` struct * @internal */ typedef TB_UNUSED struct stackshottypes_textsegment_s { stackshottypes_uuid_s uuid; stackshottypes_address_s loadaddress; address__opt_s rawloadaddress; } stackshottypes_textsegment_s; /*! * @function stackshottypes_textsegment__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `StackshotTypes.TextSegment`" * @internal */ TB_NOEXPORT size_t stackshottypes_textsegment__marshal_sizeof(const stackshottypes_textsegment_s *_Nonnull value); /*! * @function stackshottypes_textsegment__marshal * @brief Encode `StackshotTypes.TextSegment` into target buffer * @internal * * @discussion * Encode a `StackshotTypes.TextSegment` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshottypes_textsegment__marshal(const stackshottypes_textsegment_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshottypes_textsegment__unmarshal * @brief Decode `StackshotTypes.TextSegment` from a buffer * @internal * * @discussion * Decode a `StackshotTypes.TextSegment` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshottypes_textsegment__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshottypes_textsegment_s)); /*! * @typedef u32__opt_s * @brief Representation of an optional `UInt32` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct u32__opt_s { bool has_value; uint32_t value; } u32__opt_s; /*! * @function u32__opt_get * @brief Accessor for an optional `UInt32` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED uint32_t *_Nullable u32__opt_get(u32__opt_s *_Nonnull opt); /*! * @function u32__opt_init * @brief Initializer for an optional `UInt32` * @internal * * @discussion * This function initializes an optional `UInt32` if `value` * is non-NULL. Otherwise, the optional value is marked as vacant. */ TB_NOEXPORT TB_UNUSED void u32__opt_init(u32__opt_s *_Nonnull opt, uint32_t *_Nullable value); /*! * @typedef stackshottypes_textsegment_v_tag_s * @brief Implementation detail of variable length array of `StackshotTypes.TextSegment` * @internal */ typedef enum stackshottypes_textsegment_v_tag_s : uint8_t { STACKSHOTTYPES_TEXTSEGMENT__V_INVALID = 0, STACKSHOTTYPES_TEXTSEGMENT__V_PACKED = 1, STACKSHOTTYPES_TEXTSEGMENT__V_REFERENCE = 2, STACKSHOTTYPES_TEXTSEGMENT__V_UNPACKED = 3, } stackshottypes_textsegment_v_tag_s; /*! * @typedef stackshottypes_textsegment_v_s * @brief Variable length array of `StackshotTypes.TextSegment` * @internal * * @discussion * Declaration of a variable length array of `StackshotTypes.TextSegment`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshottypes_textsegment_v_s { enum stackshottypes_textsegment_v_tag_s tag; union { struct { stackshottypes_textsegment_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } stackshottypes_textsegment_v_s; /*! * @function stackshottypes_textsegment__v_count * @brief Returns the number of elements in `StackshotTypes.TextSegment` variable length arrays * @internal */ TB_NOEXPORT size_t stackshottypes_textsegment__v_count(const stackshottypes_textsegment_v_s *_Nonnull val); /*! * @function stackshottypes_textsegment__v_visit * @brief Array visitor for `StackshotTypes.TextSegment` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void stackshottypes_textsegment__v_visit(const stackshottypes_textsegment_v_s *_Nonnull val, void (^ block)(size_t i, const stackshottypes_textsegment_s *_Nonnull item)); /*! * @function stackshottypes_textsegment__v_assign_copy * @brief Copy content to variable length array of `StackshotTypes.TextSegment` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t stackshottypes_textsegment__v_assign_copy(stackshottypes_textsegment_v_s *_Nonnull val, stackshottypes_textsegment_s *__counted_by(count) ptr, size_t count); /*! * @function stackshottypes_textsegment__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.TextSegment` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void stackshottypes_textsegment__v_assign_owned(stackshottypes_textsegment_v_s *_Nonnull val, stackshottypes_textsegment_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function stackshottypes_textsegment__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.TextSegment` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void stackshottypes_textsegment__v_assign_unowned(stackshottypes_textsegment_v_s *_Nonnull val, stackshottypes_textsegment_s *__counted_by(count) ptr, size_t count); /*! * @typedef stackshottypes_textlayout_s * @brief Declaration of the `StackshotTypes.TextLayout` struct * @internal */ typedef TB_UNUSED struct stackshottypes_textlayout_s { stackshottypes_textlayoutid_s textlayoutid; stackshottypes_textsegment_v_s textsegments; u32__opt_s sharedcacheindex; } stackshottypes_textlayout_s; /*! * @function stackshottypes_textlayout__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `StackshotTypes.TextLayout`" * @internal */ TB_NOEXPORT size_t stackshottypes_textlayout__marshal_sizeof(const stackshottypes_textlayout_s *_Nonnull value); /*! * @function stackshottypes_textlayout__marshal * @brief Encode `StackshotTypes.TextLayout` into target buffer * @internal * * @discussion * Encode a `StackshotTypes.TextLayout` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshottypes_textlayout__marshal(const stackshottypes_textlayout_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshottypes_textlayout__unmarshal * @brief Decode `StackshotTypes.TextLayout` from a buffer * @internal * * @discussion * Decode a `StackshotTypes.TextLayout` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshottypes_textlayout__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshottypes_textlayout_s)); /*! * @typedef asroot__opt_s * @brief Representation of an optional `StackshotTypes.ASRoot (aka. UInt64)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct asroot__opt_s { bool has_value; stackshottypes_asroot_s value; } asroot__opt_s; /*! * @function asroot__opt_get * @brief Accessor for an optional `StackshotTypes.ASRoot (aka. UInt64)` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED stackshottypes_asroot_s *_Nullable asroot__opt_get(asroot__opt_s *_Nonnull opt); /*! * @function asroot__opt_init * @brief Initializer for an optional `StackshotTypes.ASRoot (aka. UInt64)` * @internal * * @discussion * This function initializes an optional `StackshotTypes.ASRoot * (aka. UInt64)` if `value` is non-NULL. Otherwise, the optional * value is marked as vacant. */ TB_NOEXPORT TB_UNUSED void asroot__opt_init(asroot__opt_s *_Nonnull opt, uint64_t *_Nullable value); /*! * @typedef u8_v_tag_s * @brief Implementation detail of variable length array of `UInt8` * @internal */ typedef enum u8_v_tag_s : uint8_t { U8__V_INVALID = 0, U8__V_PACKED = 1, U8__V_REFERENCE = 2, U8__V_UNPACKED = 3, } u8_v_tag_s; /*! * @typedef u8_v_s * @brief Variable length array of `UInt8` * @internal * * @discussion * Declaration of a variable length array of `UInt8`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct u8_v_s { enum u8_v_tag_s tag; union { struct { uint8_t *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } u8_v_s; /*! * @function u8__v_count * @brief Returns the number of elements in `UInt8` variable length arrays * @internal */ TB_NOEXPORT size_t u8__v_count(const u8_v_s *_Nonnull val); /*! * @function u8__v_visit * @brief Array visitor for `UInt8` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void u8__v_visit(const u8_v_s *_Nonnull val, void (^ block)(size_t i, const uint8_t item)); /*! * @function u8__v_assign_copy * @brief Copy content to variable length array of `UInt8` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t u8__v_assign_copy(u8_v_s *_Nonnull val, uint8_t *__counted_by(count) ptr, size_t count); /*! * @function u8__v_assign_owned * @brief Copy content to variable length array of `UInt8` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void u8__v_assign_owned(u8_v_s *_Nonnull val, uint8_t *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function u8__v_assign_owned * @brief Copy content to variable length array of `UInt8` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void u8__v_assign_unowned(u8_v_s *_Nonnull val, uint8_t *__counted_by(count) ptr, size_t count); /*! * @function u8__v_copyout * @brief Copy the content out of variable length array of `UInt8` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t u8__v_copyout(const u8_v_s *_Nonnull val, uint8_t *__counted_by(count) out, size_t count); /*! * @typedef stackshottypes_addressspace_s * @brief Declaration of the `StackshotTypes.AddressSpace` struct * @internal */ typedef TB_UNUSED struct stackshottypes_addressspace_s { stackshottypes_asid_s asid; u8_v_s name; stackshottypes_textlayoutid_s textlayoutid; address__opt_s rawaddressslide; asroot__opt_s asroot; } stackshottypes_addressspace_s; /*! * @function stackshottypes_addressspace__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `StackshotTypes.AddressSpace`" * @internal */ TB_NOEXPORT size_t stackshottypes_addressspace__marshal_sizeof(const stackshottypes_addressspace_s *_Nonnull value); /*! * @function stackshottypes_addressspace__marshal * @brief Encode `StackshotTypes.AddressSpace` into target buffer * @internal * * @discussion * Encode a `StackshotTypes.AddressSpace` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshottypes_addressspace__marshal(const stackshottypes_addressspace_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshottypes_addressspace__unmarshal * @brief Decode `StackshotTypes.AddressSpace` from a buffer * @internal * * @discussion * Decode a `StackshotTypes.AddressSpace` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshottypes_addressspace__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshottypes_addressspace_s)); /*! * @typedef stackshottypes_addressspaceinfo_s * @brief Declaration of the `StackshotTypes.AddressSpaceInfo` struct * @internal */ typedef TB_UNUSED struct stackshottypes_addressspaceinfo_s { stackshottypes_addressspace_s addressspace; stackshottypes_textlayout_s textlayout; } stackshottypes_addressspaceinfo_s; /*! * @function stackshottypes_addressspaceinfo__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `StackshotTypes.AddressSpaceInfo`" * @internal */ TB_NOEXPORT size_t stackshottypes_addressspaceinfo__marshal_sizeof(const stackshottypes_addressspaceinfo_s *_Nonnull value); /*! * @function stackshottypes_addressspaceinfo__marshal * @brief Encode `StackshotTypes.AddressSpaceInfo` into target buffer * @internal * * @discussion * Encode a `StackshotTypes.AddressSpaceInfo` instance into a * binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshottypes_addressspaceinfo__marshal(const stackshottypes_addressspaceinfo_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshottypes_addressspaceinfo__unmarshal * @brief Decode `StackshotTypes.AddressSpaceInfo` from a buffer * @internal * * @discussion * Decode a `StackshotTypes.AddressSpaceInfo` structure, given * binary data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshottypes_addressspaceinfo__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshottypes_addressspaceinfo_s)); /*! * @typedef address_v_tag_s * @brief Implementation detail of variable length array of `StackshotTypes.Address (aka. UInt64)` * @internal */ typedef enum address_v_tag_s : uint8_t { ADDRESS__V_INVALID = 0, ADDRESS__V_PACKED = 1, ADDRESS__V_REFERENCE = 2, ADDRESS__V_UNPACKED = 3, } address_v_tag_s; /*! * @typedef address_v_s * @brief Variable length array of `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * Declaration of a variable length array of `StackshotTypes.Address * (aka. UInt64)`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct address_v_s { enum address_v_tag_s tag; union { struct { stackshottypes_address_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } address_v_s; /*! * @function address__v_count * @brief Returns the number of elements in `StackshotTypes.Address (aka. UInt64)` variable length arrays * @internal */ TB_NOEXPORT size_t address__v_count(const address_v_s *_Nonnull val); /*! * @function address__v_visit * @brief Array visitor for `StackshotTypes.Address (aka. UInt64)` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void address__v_visit(const address_v_s *_Nonnull val, void (^ block)(size_t i, const stackshottypes_address_s item)); /*! * @function address__v_assign_copy * @brief Copy content to variable length array of `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t address__v_assign_copy(address_v_s *_Nonnull val, stackshottypes_address_s *__counted_by(count) ptr, size_t count); /*! * @function address__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void address__v_assign_owned(address_v_s *_Nonnull val, stackshottypes_address_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function address__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void address__v_assign_unowned(address_v_s *_Nonnull val, stackshottypes_address_s *__counted_by(count) ptr, size_t count); /*! * @function address__v_copyout * @brief Copy the content out of variable length array of `StackshotTypes.Address (aka. UInt64)` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t address__v_copyout(const address_v_s *_Nonnull val, stackshottypes_address_s *__counted_by(count) out, size_t count); /*! * @typedef address_v__opt_s * @brief Representation of an optional `[StackshotTypes.Address (aka. UInt64)]` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct address_v__opt_s { bool has_value; address_v_s value; } address_v__opt_s; /*! * @function address_v__opt_get * @brief Accessor for an optional `[StackshotTypes.Address (aka. UInt64)]` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED address_v_s *_Nullable address_v__opt_get(address_v__opt_s *_Nonnull opt); /*! * @function address_v__opt_init * @brief Initializer for an optional `[StackshotTypes.Address (aka. UInt64)]` * @internal * * @discussion * This function initializes an optional `[StackshotTypes.Address * (aka. UInt64)]` if `value` is non-NULL. Otherwise, the optional * value is marked as vacant. */ TB_NOEXPORT TB_UNUSED void address_v__opt_init(address_v__opt_s *_Nonnull opt, address_v_s *_Nullable value); /*! * @typedef ecstate__opt_s * @brief Representation of an optional `StackshotTypes.ECState (aka. UInt64)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct ecstate__opt_s { bool has_value; stackshottypes_ecstate_s value; } ecstate__opt_s; /*! * @function ecstate__opt_get * @brief Accessor for an optional `StackshotTypes.ECState (aka. UInt64)` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED stackshottypes_ecstate_s *_Nullable ecstate__opt_get(ecstate__opt_s *_Nonnull opt); /*! * @function ecstate__opt_init * @brief Initializer for an optional `StackshotTypes.ECState (aka. UInt64)` * @internal * * @discussion * This function initializes an optional `StackshotTypes.ECState * (aka. UInt64)` if `value` is non-NULL. Otherwise, the optional * value is marked as vacant. */ TB_NOEXPORT TB_UNUSED void ecstate__opt_init(ecstate__opt_s *_Nonnull opt, uint64_t *_Nullable value); /*! * @typedef tbinvocationid__opt_s * @brief Representation of an optional `StackshotTypes.TBInvocationID (aka. UInt64)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct tbinvocationid__opt_s { bool has_value; stackshottypes_tbinvocationid_s value; } tbinvocationid__opt_s; /*! * @function tbinvocationid__opt_get * @brief Accessor for an optional `StackshotTypes.TBInvocationID (aka. UInt64)` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED stackshottypes_tbinvocationid_s *_Nullable tbinvocationid__opt_get(tbinvocationid__opt_s *_Nonnull opt); /*! * @function tbinvocationid__opt_init * @brief Initializer for an optional `StackshotTypes.TBInvocationID (aka. UInt64)` * @internal * * @discussion * This function initializes an optional `StackshotTypes.TBInvocationID * (aka. UInt64)` if `value` is non-NULL. Otherwise, the optional * value is marked as vacant. */ TB_NOEXPORT TB_UNUSED void tbinvocationid__opt_init(tbinvocationid__opt_s *_Nonnull opt, uint64_t *_Nullable value); /*! * @typedef stackshottypes_ipcstackentry_s * @brief Declaration of the `StackshotTypes.IPCStackEntry` struct * @internal */ typedef TB_UNUSED struct stackshottypes_ipcstackentry_s { stackshottypes_asid_s asid; stackshottypes_tnid_s tnid; tbinvocationid__opt_s invocationid; ecstate__opt_s ecstate; address_v__opt_s stacktrace; } stackshottypes_ipcstackentry_s; /*! * @function stackshottypes_ipcstackentry__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `StackshotTypes.IPCStackEntry`" * @internal */ TB_NOEXPORT size_t stackshottypes_ipcstackentry__marshal_sizeof(const stackshottypes_ipcstackentry_s *_Nonnull value); /*! * @function stackshottypes_ipcstackentry__marshal * @brief Encode `StackshotTypes.IPCStackEntry` into target buffer * @internal * * @discussion * Encode a `StackshotTypes.IPCStackEntry` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshottypes_ipcstackentry__marshal(const stackshottypes_ipcstackentry_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshottypes_ipcstackentry__unmarshal * @brief Decode `StackshotTypes.IPCStackEntry` from a buffer * @internal * * @discussion * Decode a `StackshotTypes.IPCStackEntry` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshottypes_ipcstackentry__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshottypes_ipcstackentry_s)); /*! * @typedef stackshottypes_ipcblockedon_s * @brief Declaration of the `StackshotTypes.IPCBlockedOn` struct * @internal */ typedef TB_UNUSED struct stackshottypes_ipcblockedon_s { stackshottypes_asid_s nextasid; stackshottypes_ecid_s nextecid; } stackshottypes_ipcblockedon_s; /*! * @function stackshottypes_ipcblockedon__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `StackshotTypes.IPCBlockedOn`" * @internal */ TB_NOEXPORT size_t stackshottypes_ipcblockedon__marshal_sizeof(const stackshottypes_ipcblockedon_s *_Nonnull value); /*! * @function stackshottypes_ipcblockedon__marshal * @brief Encode `StackshotTypes.IPCBlockedOn` into target buffer * @internal * * @discussion * Encode a `StackshotTypes.IPCBlockedOn` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshottypes_ipcblockedon__marshal(const stackshottypes_ipcblockedon_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshottypes_ipcblockedon__unmarshal * @brief Decode `StackshotTypes.IPCBlockedOn` from a buffer * @internal * * @discussion * Decode a `StackshotTypes.IPCBlockedOn` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshottypes_ipcblockedon__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshottypes_ipcblockedon_s)); /*! * @typedef stackshottypes_ipcblockedon__opt_s * @brief Representation of an optional `StackshotTypes.IPCBlockedOn` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshottypes_ipcblockedon__opt_s { bool has_value; stackshottypes_ipcblockedon_s value; } stackshottypes_ipcblockedon__opt_s; /*! * @function stackshottypes_ipcblockedon__opt_get * @brief Accessor for an optional `StackshotTypes.IPCBlockedOn` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED stackshottypes_ipcblockedon_s *_Nullable stackshottypes_ipcblockedon__opt_get(stackshottypes_ipcblockedon__opt_s *_Nonnull opt); /*! * @function stackshottypes_ipcblockedon__opt_init * @brief Initializer for an optional `StackshotTypes.IPCBlockedOn` * @internal * * @discussion * This function initializes an optional `StackshotTypes.IPCBlockedOn` * if `value` is non-NULL. Otherwise, the optional value is marked * as vacant. */ TB_NOEXPORT TB_UNUSED void stackshottypes_ipcblockedon__opt_init(stackshottypes_ipcblockedon__opt_s *_Nonnull opt, stackshottypes_ipcblockedon_s *_Nullable value); /*! * @typedef stackshottypes_ipcstackentryreturn_s * @brief Declaration of the `StackshotTypes.IPCStackEntryReturn` struct * @internal */ typedef TB_UNUSED struct stackshottypes_ipcstackentryreturn_s { stackshottypes_ipcstackentry_s ipcstackentry; stackshottypes_ipcblockedon__opt_s blockedon; } stackshottypes_ipcstackentryreturn_s; /*! * @function stackshottypes_ipcstackentryreturn__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `StackshotTypes.IPCStackEntryReturn`" * @internal */ TB_NOEXPORT size_t stackshottypes_ipcstackentryreturn__marshal_sizeof(const stackshottypes_ipcstackentryreturn_s *_Nonnull value); /*! * @function stackshottypes_ipcstackentryreturn__marshal * @brief Encode `StackshotTypes.IPCStackEntryReturn` into target buffer * @internal * * @discussion * Encode a `StackshotTypes.IPCStackEntryReturn` instance into * a binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshottypes_ipcstackentryreturn__marshal(const stackshottypes_ipcstackentryreturn_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshottypes_ipcstackentryreturn__unmarshal * @brief Decode `StackshotTypes.IPCStackEntryReturn` from a buffer * @internal * * @discussion * Decode a `StackshotTypes.IPCStackEntryReturn` structure, given * binary data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshottypes_ipcstackentryreturn__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshottypes_ipcstackentryreturn_s)); /*! * @typedef stackshottypes_ipcstackentry_v_tag_s * @brief Implementation detail of variable length array of `StackshotTypes.IPCStackEntry` * @internal */ typedef enum stackshottypes_ipcstackentry_v_tag_s : uint8_t { STACKSHOTTYPES_IPCSTACKENTRY__V_INVALID = 0, STACKSHOTTYPES_IPCSTACKENTRY__V_PACKED = 1, STACKSHOTTYPES_IPCSTACKENTRY__V_REFERENCE = 2, STACKSHOTTYPES_IPCSTACKENTRY__V_UNPACKED = 3, } stackshottypes_ipcstackentry_v_tag_s; /*! * @typedef stackshottypes_ipcstackentry_v_s * @brief Variable length array of `StackshotTypes.IPCStackEntry` * @internal * * @discussion * Declaration of a variable length array of `StackshotTypes.IPCStackEntry`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshottypes_ipcstackentry_v_s { enum stackshottypes_ipcstackentry_v_tag_s tag; union { struct { stackshottypes_ipcstackentry_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } stackshottypes_ipcstackentry_v_s; /*! * @function stackshottypes_ipcstackentry__v_count * @brief Returns the number of elements in `StackshotTypes.IPCStackEntry` variable length arrays * @internal */ TB_NOEXPORT size_t stackshottypes_ipcstackentry__v_count(const stackshottypes_ipcstackentry_v_s *_Nonnull val); /*! * @function stackshottypes_ipcstackentry__v_visit * @brief Array visitor for `StackshotTypes.IPCStackEntry` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void stackshottypes_ipcstackentry__v_visit(const stackshottypes_ipcstackentry_v_s *_Nonnull val, void (^ block)(size_t i, const stackshottypes_ipcstackentry_s *_Nonnull item)); /*! * @function stackshottypes_ipcstackentry__v_assign_copy * @brief Copy content to variable length array of `StackshotTypes.IPCStackEntry` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t stackshottypes_ipcstackentry__v_assign_copy(stackshottypes_ipcstackentry_v_s *_Nonnull val, stackshottypes_ipcstackentry_s *__counted_by(count) ptr, size_t count); /*! * @function stackshottypes_ipcstackentry__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.IPCStackEntry` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void stackshottypes_ipcstackentry__v_assign_owned(stackshottypes_ipcstackentry_v_s *_Nonnull val, stackshottypes_ipcstackentry_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function stackshottypes_ipcstackentry__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.IPCStackEntry` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void stackshottypes_ipcstackentry__v_assign_unowned(stackshottypes_ipcstackentry_v_s *_Nonnull val, stackshottypes_ipcstackentry_s *__counted_by(count) ptr, size_t count); /*! * @typedef stackshottypes_ipcstackentry_v__opt_s * @brief Representation of an optional `[StackshotTypes.IPCStackEntry]` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshottypes_ipcstackentry_v__opt_s { bool has_value; stackshottypes_ipcstackentry_v_s value; } stackshottypes_ipcstackentry_v__opt_s; /*! * @function stackshottypes_ipcstackentry_v__opt_get * @brief Accessor for an optional `[StackshotTypes.IPCStackEntry]` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED stackshottypes_ipcstackentry_v_s *_Nullable stackshottypes_ipcstackentry_v__opt_get(stackshottypes_ipcstackentry_v__opt_s *_Nonnull opt); /*! * @function stackshottypes_ipcstackentry_v__opt_init * @brief Initializer for an optional `[StackshotTypes.IPCStackEntry]` * @internal * * @discussion * This function initializes an optional `[StackshotTypes.IPCStackEntry]` * if `value` is non-NULL. Otherwise, the optional value is marked * as vacant. */ TB_NOEXPORT TB_UNUSED void stackshottypes_ipcstackentry_v__opt_init(stackshottypes_ipcstackentry_v__opt_s *_Nonnull opt, stackshottypes_ipcstackentry_v_s *_Nullable value); /*! * @typedef stackshot_stackshotentry_s * @brief Declaration of the `Stackshot.StackshotEntry` struct * @internal */ typedef TB_UNUSED struct stackshot_stackshotentry_s { stackshottypes_scid_s scid; stackshottypes_ipcstackentry_v__opt_s ipcstack; } stackshot_stackshotentry_s; /*! * @function stackshot_stackshotentry__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `Stackshot.StackshotEntry`" * @internal */ TB_NOEXPORT size_t stackshot_stackshotentry__marshal_sizeof(const stackshot_stackshotentry_s *_Nonnull value); /*! * @function stackshot_stackshotentry__marshal * @brief Encode `Stackshot.StackshotEntry` into target buffer * @internal * * @discussion * Encode a `Stackshot.StackshotEntry` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshot_stackshotentry__marshal(const stackshot_stackshotentry_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshot_stackshotentry__unmarshal * @brief Decode `Stackshot.StackshotEntry` from a buffer * @internal * * @discussion * Decode a `Stackshot.StackshotEntry` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshot_stackshotentry__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshot_stackshotentry_s)); /*! * @typedef stackshottypes_addressspace_v_tag_s * @brief Implementation detail of variable length array of `StackshotTypes.AddressSpace` * @internal */ typedef enum stackshottypes_addressspace_v_tag_s : uint8_t { STACKSHOTTYPES_ADDRESSSPACE__V_INVALID = 0, STACKSHOTTYPES_ADDRESSSPACE__V_PACKED = 1, STACKSHOTTYPES_ADDRESSSPACE__V_REFERENCE = 2, STACKSHOTTYPES_ADDRESSSPACE__V_UNPACKED = 3, } stackshottypes_addressspace_v_tag_s; /*! * @typedef stackshottypes_addressspace_v_s * @brief Variable length array of `StackshotTypes.AddressSpace` * @internal * * @discussion * Declaration of a variable length array of `StackshotTypes.AddressSpace`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshottypes_addressspace_v_s { enum stackshottypes_addressspace_v_tag_s tag; union { struct { stackshottypes_addressspace_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } stackshottypes_addressspace_v_s; /*! * @function stackshottypes_addressspace__v_count * @brief Returns the number of elements in `StackshotTypes.AddressSpace` variable length arrays * @internal */ TB_NOEXPORT size_t stackshottypes_addressspace__v_count(const stackshottypes_addressspace_v_s *_Nonnull val); /*! * @function stackshottypes_addressspace__v_visit * @brief Array visitor for `StackshotTypes.AddressSpace` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void stackshottypes_addressspace__v_visit(const stackshottypes_addressspace_v_s *_Nonnull val, void (^ block)(size_t i, const stackshottypes_addressspace_s *_Nonnull item)); /*! * @function stackshottypes_addressspace__v_assign_copy * @brief Copy content to variable length array of `StackshotTypes.AddressSpace` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t stackshottypes_addressspace__v_assign_copy(stackshottypes_addressspace_v_s *_Nonnull val, stackshottypes_addressspace_s *__counted_by(count) ptr, size_t count); /*! * @function stackshottypes_addressspace__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.AddressSpace` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void stackshottypes_addressspace__v_assign_owned(stackshottypes_addressspace_v_s *_Nonnull val, stackshottypes_addressspace_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function stackshottypes_addressspace__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.AddressSpace` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void stackshottypes_addressspace__v_assign_unowned(stackshottypes_addressspace_v_s *_Nonnull val, stackshottypes_addressspace_s *__counted_by(count) ptr, size_t count); /*! * @typedef stackshottypes_textlayout_v_tag_s * @brief Implementation detail of variable length array of `StackshotTypes.TextLayout` * @internal */ typedef enum stackshottypes_textlayout_v_tag_s : uint8_t { STACKSHOTTYPES_TEXTLAYOUT__V_INVALID = 0, STACKSHOTTYPES_TEXTLAYOUT__V_PACKED = 1, STACKSHOTTYPES_TEXTLAYOUT__V_REFERENCE = 2, STACKSHOTTYPES_TEXTLAYOUT__V_UNPACKED = 3, } stackshottypes_textlayout_v_tag_s; /*! * @typedef stackshottypes_textlayout_v_s * @brief Variable length array of `StackshotTypes.TextLayout` * @internal * * @discussion * Declaration of a variable length array of `StackshotTypes.TextLayout`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshottypes_textlayout_v_s { enum stackshottypes_textlayout_v_tag_s tag; union { struct { stackshottypes_textlayout_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } stackshottypes_textlayout_v_s; /*! * @function stackshottypes_textlayout__v_count * @brief Returns the number of elements in `StackshotTypes.TextLayout` variable length arrays * @internal */ TB_NOEXPORT size_t stackshottypes_textlayout__v_count(const stackshottypes_textlayout_v_s *_Nonnull val); /*! * @function stackshottypes_textlayout__v_visit * @brief Array visitor for `StackshotTypes.TextLayout` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void stackshottypes_textlayout__v_visit(const stackshottypes_textlayout_v_s *_Nonnull val, void (^ block)(size_t i, const stackshottypes_textlayout_s *_Nonnull item)); /*! * @function stackshottypes_textlayout__v_assign_copy * @brief Copy content to variable length array of `StackshotTypes.TextLayout` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t stackshottypes_textlayout__v_assign_copy(stackshottypes_textlayout_v_s *_Nonnull val, stackshottypes_textlayout_s *__counted_by(count) ptr, size_t count); /*! * @function stackshottypes_textlayout__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.TextLayout` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void stackshottypes_textlayout__v_assign_owned(stackshottypes_textlayout_v_s *_Nonnull val, stackshottypes_textlayout_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function stackshottypes_textlayout__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.TextLayout` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void stackshottypes_textlayout__v_assign_unowned(stackshottypes_textlayout_v_s *_Nonnull val, stackshottypes_textlayout_s *__counted_by(count) ptr, size_t count); /*! * @typedef stackshot_stackshotentry_v_tag_s * @brief Implementation detail of variable length array of `Stackshot.StackshotEntry` * @internal */ typedef enum stackshot_stackshotentry_v_tag_s : uint8_t { STACKSHOT_STACKSHOTENTRY__V_INVALID = 0, STACKSHOT_STACKSHOTENTRY__V_PACKED = 1, STACKSHOT_STACKSHOTENTRY__V_REFERENCE = 2, STACKSHOT_STACKSHOTENTRY__V_UNPACKED = 3, } stackshot_stackshotentry_v_tag_s; /*! * @typedef stackshot_stackshotentry_v_s * @brief Variable length array of `Stackshot.StackshotEntry` * @internal * * @discussion * Declaration of a variable length array of `Stackshot.StackshotEntry`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_stackshotentry_v_s { enum stackshot_stackshotentry_v_tag_s tag; union { struct { stackshot_stackshotentry_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } stackshot_stackshotentry_v_s; /*! * @function stackshot_stackshotentry__v_count * @brief Returns the number of elements in `Stackshot.StackshotEntry` variable length arrays * @internal */ TB_NOEXPORT size_t stackshot_stackshotentry__v_count(const stackshot_stackshotentry_v_s *_Nonnull val); /*! * @function stackshot_stackshotentry__v_visit * @brief Array visitor for `Stackshot.StackshotEntry` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void stackshot_stackshotentry__v_visit(const stackshot_stackshotentry_v_s *_Nonnull val, void (^ block)(size_t i, const stackshot_stackshotentry_s *_Nonnull item)); /*! * @function stackshot_stackshotentry__v_assign_copy * @brief Copy content to variable length array of `Stackshot.StackshotEntry` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t stackshot_stackshotentry__v_assign_copy(stackshot_stackshotentry_v_s *_Nonnull val, stackshot_stackshotentry_s *__counted_by(count) ptr, size_t count); /*! * @function stackshot_stackshotentry__v_assign_owned * @brief Copy content to variable length array of `Stackshot.StackshotEntry` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void stackshot_stackshotentry__v_assign_owned(stackshot_stackshotentry_v_s *_Nonnull val, stackshot_stackshotentry_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function stackshot_stackshotentry__v_assign_owned * @brief Copy content to variable length array of `Stackshot.StackshotEntry` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void stackshot_stackshotentry__v_assign_unowned(stackshot_stackshotentry_v_s *_Nonnull val, stackshot_stackshotentry_s *__counted_by(count) ptr, size_t count); /*! * @typedef stackshot_stackshotresult_s * @brief Declaration of the `Stackshot.StackshotResult` struct * @internal */ typedef TB_UNUSED struct stackshot_stackshotresult_s { stackshot_stackshotentry_v_s stackshotentries; stackshottypes_textlayout_v_s textlayouts; stackshottypes_addressspace_v_s addressspaces; } stackshot_stackshotresult_s; /*! * @function stackshot_stackshotresult__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `Stackshot.StackshotResult`" * @internal */ TB_NOEXPORT size_t stackshot_stackshotresult__marshal_sizeof(const stackshot_stackshotresult_s *_Nonnull value); /*! * @function stackshot_stackshotresult__marshal * @brief Encode `Stackshot.StackshotResult` into target buffer * @internal * * @discussion * Encode a `Stackshot.StackshotResult` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t stackshot_stackshotresult__marshal(const stackshot_stackshotresult_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshot_stackshotresult__unmarshal * @brief Decode `Stackshot.StackshotResult` from a buffer * @internal * * @discussion * Decode a `Stackshot.StackshotResult` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshot_stackshotresult__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshot_stackshotresult_s)); /*! * @typedef stackshot_outputlength_s * @brief Type alias definition for `Stackshot.OutputLength` * @internal */ typedef uint64_t stackshot_outputlength_s; /*! * @typedef stackshot_timingentry_s * @brief Declaration of the `Stackshot.TimingEntry` struct * @internal */ typedef TB_UNUSED struct stackshot_timingentry_s { uint8_t name[24ULL]; uint64_t durationnanoseconds; } stackshot_timingentry_s; /*! * @function stackshot_timingentry__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `Stackshot.TimingEntry`" * @internal */ TB_NOEXPORT size_t stackshot_timingentry__marshal_sizeof(const stackshot_timingentry_s *_Nonnull value); /*! * @function stackshot_timingentry__marshal * @brief Encode `Stackshot.TimingEntry` into target buffer * @internal * * @discussion * Encode a `Stackshot.TimingEntry` instance into a binary form * written to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t stackshot_timingentry__marshal(const stackshot_timingentry_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshot_timingentry__unmarshal * @brief Decode `Stackshot.TimingEntry` from a buffer * @internal * * @discussion * Decode a `Stackshot.TimingEntry` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshot_timingentry__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshot_timingentry_s)); /*! * @typedef stackshot_timingentry_v_tag_s * @brief Implementation detail of variable length array of `Stackshot.TimingEntry` * @internal */ typedef enum stackshot_timingentry_v_tag_s : uint8_t { STACKSHOT_TIMINGENTRY__V_INVALID = 0, STACKSHOT_TIMINGENTRY__V_PACKED = 1, STACKSHOT_TIMINGENTRY__V_REFERENCE = 2, STACKSHOT_TIMINGENTRY__V_UNPACKED = 3, } stackshot_timingentry_v_tag_s; /*! * @typedef stackshot_timingentry_v_s * @brief Variable length array of `Stackshot.TimingEntry` * @internal * * @discussion * Declaration of a variable length array of `Stackshot.TimingEntry`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_timingentry_v_s { enum stackshot_timingentry_v_tag_s tag; union { struct { stackshot_timingentry_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } stackshot_timingentry_v_s; /*! * @function stackshot_timingentry__v_count * @brief Returns the number of elements in `Stackshot.TimingEntry` variable length arrays * @internal */ TB_NOEXPORT size_t stackshot_timingentry__v_count(const stackshot_timingentry_v_s *_Nonnull val); /*! * @function stackshot_timingentry__v_visit * @brief Array visitor for `Stackshot.TimingEntry` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void stackshot_timingentry__v_visit(const stackshot_timingentry_v_s *_Nonnull val, void (^ block)(size_t i, const stackshot_timingentry_s *_Nonnull item)); /*! * @function stackshot_timingentry__v_assign_copy * @brief Copy content to variable length array of `Stackshot.TimingEntry` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t stackshot_timingentry__v_assign_copy(stackshot_timingentry_v_s *_Nonnull val, stackshot_timingentry_s *__counted_by(count) ptr, size_t count); /*! * @function stackshot_timingentry__v_assign_owned * @brief Copy content to variable length array of `Stackshot.TimingEntry` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void stackshot_timingentry__v_assign_owned(stackshot_timingentry_v_s *_Nonnull val, stackshot_timingentry_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function stackshot_timingentry__v_assign_owned * @brief Copy content to variable length array of `Stackshot.TimingEntry` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void stackshot_timingentry__v_assign_unowned(stackshot_timingentry_v_s *_Nonnull val, stackshot_timingentry_s *__counted_by(count) ptr, size_t count); /*! * @typedef stackshot_timingdata_s * @brief Declaration of the `Stackshot.TimingData` struct * @internal */ typedef TB_UNUSED struct stackshot_timingdata_s { stackshot_timingentry_v_s entries; } stackshot_timingdata_s; /*! * @function stackshot_timingdata__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `Stackshot.TimingData`" * @internal */ TB_NOEXPORT size_t stackshot_timingdata__marshal_sizeof(const stackshot_timingdata_s *_Nonnull value); /*! * @function stackshot_timingdata__marshal * @brief Encode `Stackshot.TimingData` into target buffer * @internal * * @discussion * Encode a `Stackshot.TimingData` instance into a binary form * written to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t stackshot_timingdata__marshal(const stackshot_timingdata_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function stackshot_timingdata__unmarshal * @brief Decode `Stackshot.TimingData` from a buffer * @internal * * @discussion * Decode a `Stackshot.TimingData` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t stackshot_timingdata__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(stackshot_timingdata_s)); /*! * @typedef stackshot_stackshotserverfailure_s * @brief Declaration of the `Stackshot.StackshotServerFailure` enumeration * @internal */ typedef enum stackshot_stackshotserverfailure_s : uint32_t { STACKSHOT_STACKSHOTSERVERFAILURE_RATELIMITEXCEEDED = 1, STACKSHOT_STACKSHOTSERVERFAILURE_INSUFFICIENTSPACE = 2, } stackshot_stackshotserverfailure_s; /*! * @typedef stackshot_stackshotservervariant_s * @brief Declaration of the `Stackshot.StackshotServerVariant` enumeration * @internal */ typedef enum stackshot_stackshotservervariant_s : uint32_t { STACKSHOT_STACKSHOTSERVERVARIANT_REDACTED = 1, STACKSHOT_STACKSHOTSERVERVARIANT_INTERNAL = 2, } stackshot_stackshotservervariant_s; /*! * @typedef stackshot_stackshotconstants_s * @brief Declaration of the `Stackshot.StackshotConstants` enumeration * @internal */ typedef enum stackshot_stackshotconstants_s : uint64_t { STACKSHOT_STACKSHOTCONSTANTS_PANICMAGIC = 16045704242864831166ULL, } stackshot_stackshotconstants_s; /*! * @typedef scid_v_tag_s * @brief Implementation detail of variable length array of `StackshotTypes.SCID (aka. UInt64)` * @internal */ typedef enum scid_v_tag_s : uint8_t { SCID__V_INVALID = 0, SCID__V_PACKED = 1, SCID__V_REFERENCE = 2, SCID__V_UNPACKED = 3, } scid_v_tag_s; /*! * @typedef scid_v_s * @brief Variable length array of `StackshotTypes.SCID (aka. UInt64)` * @internal * * @discussion * Declaration of a variable length array of `StackshotTypes.SCID * (aka. UInt64)`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct scid_v_s { enum scid_v_tag_s tag; union { struct { stackshottypes_scid_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } scid_v_s; /*! * @function scid__v_count * @brief Returns the number of elements in `StackshotTypes.SCID (aka. UInt64)` variable length arrays * @internal */ TB_NOEXPORT size_t scid__v_count(const scid_v_s *_Nonnull val); /*! * @function scid__v_visit * @brief Array visitor for `StackshotTypes.SCID (aka. UInt64)` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void scid__v_visit(const scid_v_s *_Nonnull val, void (^ block)(size_t i, const stackshottypes_scid_s item)); /*! * @function scid__v_assign_copy * @brief Copy content to variable length array of `StackshotTypes.SCID (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t scid__v_assign_copy(scid_v_s *_Nonnull val, stackshottypes_scid_s *__counted_by(count) ptr, size_t count); /*! * @function scid__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.SCID (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void scid__v_assign_owned(scid_v_s *_Nonnull val, stackshottypes_scid_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function scid__v_assign_owned * @brief Copy content to variable length array of `StackshotTypes.SCID (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void scid__v_assign_unowned(scid_v_s *_Nonnull val, stackshottypes_scid_s *__counted_by(count) ptr, size_t count); /*! * @function scid__v_copyout * @brief Copy the content out of variable length array of `StackshotTypes.SCID (aka. UInt64)` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t scid__v_copyout(const scid_v_s *_Nonnull val, stackshottypes_scid_s *__counted_by(count) out, size_t count); /*! * @typedef stackshot_redactedtaker_runstackshotredacted__result_s * @brief Result structure for `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_redactedtaker_runstackshotredacted__result_s { uint8_t tag; union { stackshot_stackshotserverfailure_s failure; stackshot_outputlength_s success; } value; } stackshot_redactedtaker_runstackshotredacted__result_s; /*! * @function stackshot_redactedtaker_runstackshotredacted__result_get_success * @brief Accessor for the success return type of `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT stackshot_outputlength_s *_Nullable stackshot_redactedtaker_runstackshotredacted__result_get_success(stackshot_redactedtaker_runstackshotredacted__result_s *_Nonnull result); /*! * @function stackshot_redactedtaker_runstackshotredacted__result_get_failure * @brief Accessor for the failure return type of `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT stackshot_stackshotserverfailure_s *_Nullable stackshot_redactedtaker_runstackshotredacted__result_get_failure(stackshot_redactedtaker_runstackshotredacted__result_s *_Nonnull result); /*! * @function stackshot_redactedtaker_runstackshotredacted__result_init_success * @brief Initialize a return structure for `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * @internal * * @discussion * Initializes a return value for a call to `runStackshotRedacted(scids:wantAllAddressSpaces:)`, * indicating the call was successful and returns an associated * `Stackshot.OutputLength (aka. UInt64)` value. * * An initialized result type should be passed to the completion * handler provided to a `runStackshotRedacted(scids:wantAllAddressSpaces:)` * method handler. */ TB_NOEXPORT void stackshot_redactedtaker_runstackshotredacted__result_init_success(stackshot_redactedtaker_runstackshotredacted__result_s *_Nonnull result, stackshot_outputlength_s value); /*! * @function stackshot_redactedtaker_runstackshotredacted__result_init_failure * @brief Initialize a return structure for `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * @internal * * @discussion * Initializes a return value for a call to `runStackshotRedacted(scids:wantAllAddressSpaces:)`, * indicating the call failed and returns an associated `Stackshot.StackshotServerFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `runStackshotRedacted(scids:wantAllAddressSpaces:)` * method handler. */ TB_NOEXPORT void stackshot_redactedtaker_runstackshotredacted__result_init_failure(stackshot_redactedtaker_runstackshotredacted__result_s *_Nonnull result, stackshot_stackshotserverfailure_s value); /*! * @typedef stackshot_redactedtaker_s * @brief Client connection handle for `Stackshot.RedactedTaker` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_redactedtaker_s { tb_client_connection_t connection; } stackshot_redactedtaker_s; /*! * @function stackshot_redactedtaker_initialize * @brief Invokes the `Stackshot.RedactedTaker.initialize()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshot_redactedtaker_initialize(const stackshot_redactedtaker_s *_Nonnull client, void (^ result)(stackshot_stackshotservervariant_s)); /*! * @function stackshot_redactedtaker_runstackshotredacted * @brief Invokes the `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshot_redactedtaker_runstackshotredacted(const stackshot_redactedtaker_s *_Nonnull client, const scid_v_s * scids, const bool wantAllAddressSpaces, void (^ result)(stackshot_redactedtaker_runstackshotredacted__result_s)); /*! * @typedef stackshot_redactedtaker__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t stackshot_redactedtaker__init(stackshot_redactedtaker_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef stackshot_redactedtaker__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t stackshot_redactedtaker__init_static(stackshot_redactedtaker_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function stackshot_redactedtaker__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void stackshot_redactedtaker__copy(const stackshot_redactedtaker_s *_Nonnull src, stackshot_redactedtaker_s *_Nonnull dst); /*! * @function stackshot_redactedtaker__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void stackshot_redactedtaker__destruct(stackshot_redactedtaker_s *_Nonnull client); /*! * @typedef stackshot_redactedtaker__service_s * @brief Service connection handle for `Stackshot.RedactedTaker` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_redactedtaker__service_s { tb_service_connection_t connection; } stackshot_redactedtaker__service_s; /*! * @typedef stackshot_redactedtaker__server_s * @brief Method callback blocks for handling `Stackshot.RedactedTaker` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct stackshot_redactedtaker__server_s { /*! * @field initialize * @brief Method handler for `Stackshot.RedactedTaker.initialize()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ initialize)(tb_error_t (^ completion)(stackshot_stackshotservervariant_s)); /*! * @field runstackshotredacted * @brief Method handler for `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ runstackshotredacted)(const scid_v_s * scids, const bool wantAllAddressSpaces, tb_error_t (^ completion)(stackshot_redactedtaker_runstackshotredacted__result_s)); } stackshot_redactedtaker__server_s; /*! * @function stackshot_redactedtaker__server_start * @brief Server start method for the `Stackshot.RedactedTaker` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t stackshot_redactedtaker__server_start(tb_endpoint_t ep, const stackshot_redactedtaker__server_s *_Nonnull server); /*! * @function stackshot_redactedtaker__server_start_owned * @brief Server start method for the `Stackshot.RedactedTaker` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t stackshot_redactedtaker__server_start_owned(tb_endpoint_t ep, stackshot_redactedtaker__service_s *_Nonnull service, const stackshot_redactedtaker__server_s *_Nonnull server); /*! * @function stackshot_redactedtaker__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void stackshot_redactedtaker__server_stop(stackshot_redactedtaker__service_s *_Nonnull service); /*! * @typedef stackshot_taker_enabledynamicconclavetextlayout__result_s * @brief Result structure for `Stackshot.Taker.enableDynamicConclaveTextLayout()` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_taker_enabledynamicconclavetextlayout__result_s { uint8_t tag; union { stackshot_stackshotserverfailure_s failure; } value; } stackshot_taker_enabledynamicconclavetextlayout__result_s; /*! * @function stackshot_taker_enabledynamicconclavetextlayout__result_get_success * @brief Accessor for the success return type of `Stackshot.Taker.enableDynamicConclaveTextLayout()` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `Stackshot.Taker.enableDynamicConclaveTextLayout()` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool stackshot_taker_enabledynamicconclavetextlayout__result_get_success(stackshot_taker_enabledynamicconclavetextlayout__result_s *_Nonnull result); /*! * @function stackshot_taker_enabledynamicconclavetextlayout__result_get_failure * @brief Accessor for the failure return type of `Stackshot.Taker.enableDynamicConclaveTextLayout()` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `Stackshot.Taker.enableDynamicConclaveTextLayout()` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT stackshot_stackshotserverfailure_s *_Nullable stackshot_taker_enabledynamicconclavetextlayout__result_get_failure(stackshot_taker_enabledynamicconclavetextlayout__result_s *_Nonnull result); /*! * @function stackshot_taker_enabledynamicconclavetextlayout__result_init_success * @brief Initialize a return structure for `Stackshot.Taker.enableDynamicConclaveTextLayout()` * @internal * * @discussion * Initializes a return value for a call to `enableDynamicConclaveTextLayout()`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `enableDynamicConclaveTextLayout()` * method handler. */ TB_NOEXPORT void stackshot_taker_enabledynamicconclavetextlayout__result_init_success(stackshot_taker_enabledynamicconclavetextlayout__result_s *_Nonnull result); /*! * @function stackshot_taker_enabledynamicconclavetextlayout__result_init_failure * @brief Initialize a return structure for `Stackshot.Taker.enableDynamicConclaveTextLayout()` * @internal * * @discussion * Initializes a return value for a call to `enableDynamicConclaveTextLayout()`, * indicating the call failed and returns an associated `Stackshot.StackshotServerFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `enableDynamicConclaveTextLayout()` * method handler. */ TB_NOEXPORT void stackshot_taker_enabledynamicconclavetextlayout__result_init_failure(stackshot_taker_enabledynamicconclavetextlayout__result_s *_Nonnull result, stackshot_stackshotserverfailure_s value); /*! * @typedef stackshot_taker_runstackshot__result_s * @brief Result structure for `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_taker_runstackshot__result_s { uint8_t tag; union { stackshot_stackshotserverfailure_s failure; stackshot_outputlength_s success; } value; } stackshot_taker_runstackshot__result_s; /*! * @function stackshot_taker_runstackshot__result_get_success * @brief Accessor for the success return type of `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT stackshot_outputlength_s *_Nullable stackshot_taker_runstackshot__result_get_success(stackshot_taker_runstackshot__result_s *_Nonnull result); /*! * @function stackshot_taker_runstackshot__result_get_failure * @brief Accessor for the failure return type of `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT stackshot_stackshotserverfailure_s *_Nullable stackshot_taker_runstackshot__result_get_failure(stackshot_taker_runstackshot__result_s *_Nonnull result); /*! * @function stackshot_taker_runstackshot__result_init_success * @brief Initialize a return structure for `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * @internal * * @discussion * Initializes a return value for a call to `runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)`, * indicating the call was successful and returns an associated * `Stackshot.OutputLength (aka. UInt64)` value. * * An initialized result type should be passed to the completion * handler provided to a `runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * method handler. */ TB_NOEXPORT void stackshot_taker_runstackshot__result_init_success(stackshot_taker_runstackshot__result_s *_Nonnull result, stackshot_outputlength_s value); /*! * @function stackshot_taker_runstackshot__result_init_failure * @brief Initialize a return structure for `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * @internal * * @discussion * Initializes a return value for a call to `runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)`, * indicating the call failed and returns an associated `Stackshot.StackshotServerFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * method handler. */ TB_NOEXPORT void stackshot_taker_runstackshot__result_init_failure(stackshot_taker_runstackshot__result_s *_Nonnull result, stackshot_stackshotserverfailure_s value); /*! * @typedef stackshot_taker_s * @brief Client connection handle for `Stackshot.Taker` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_taker_s { tb_client_connection_t connection; } stackshot_taker_s; /*! * @function stackshot_taker_runstackshot * @brief Invokes the `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshot_taker_runstackshot(const stackshot_taker_s *_Nonnull client, const scid_v_s * scids, const bool wantRawAddresses, const bool wantAllAddressSpaces, void (^ result)(stackshot_taker_runstackshot__result_s)); /*! * @function stackshot_taker_enabledynamicconclavetextlayout * @brief Invokes the `Stackshot.Taker.enableDynamicConclaveTextLayout()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshot_taker_enabledynamicconclavetextlayout(const stackshot_taker_s *_Nonnull client, void (^ result)(stackshot_taker_enabledynamicconclavetextlayout__result_s)); /*! * @function stackshot_taker_getboottimingdata * @brief Invokes the `Stackshot.Taker.getBootTimingData()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshot_taker_getboottimingdata(const stackshot_taker_s *_Nonnull client, void (^ result)(stackshot_timingdata_s)); /*! * @function stackshot_taker_initialize * @brief Invokes the `Stackshot.RedactedTaker.initialize()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshot_taker_initialize(const stackshot_taker_s *_Nonnull client, void (^ result)(stackshot_stackshotservervariant_s)); /*! * @function stackshot_taker_runstackshotredacted * @brief Invokes the `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshot_taker_runstackshotredacted(const stackshot_taker_s *_Nonnull client, const scid_v_s * scids, const bool wantAllAddressSpaces, void (^ result)(stackshot_redactedtaker_runstackshotredacted__result_s)); /*! * @typedef stackshot_taker__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t stackshot_taker__init(stackshot_taker_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef stackshot_taker__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t stackshot_taker__init_static(stackshot_taker_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function stackshot_taker__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void stackshot_taker__copy(const stackshot_taker_s *_Nonnull src, stackshot_taker_s *_Nonnull dst); /*! * @function stackshot_taker__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void stackshot_taker__destruct(stackshot_taker_s *_Nonnull client); /*! * @typedef stackshot_taker__service_s * @brief Service connection handle for `Stackshot.Taker` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshot_taker__service_s { tb_service_connection_t connection; } stackshot_taker__service_s; /*! * @typedef stackshot_taker__server_s * @brief Method callback blocks for handling `Stackshot.Taker` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct stackshot_taker__server_s { /*! * @field runstackshot * @brief Method handler for `Stackshot.Taker.runStackshot(scids:wantRawAddresses:wantAllAddressSpaces:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ runstackshot)(const scid_v_s * scids, const bool wantRawAddresses, const bool wantAllAddressSpaces, tb_error_t (^ completion)(stackshot_taker_runstackshot__result_s)); /*! * @field enabledynamicconclavetextlayout * @brief Method handler for `Stackshot.Taker.enableDynamicConclaveTextLayout()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ enabledynamicconclavetextlayout)(tb_error_t (^ completion)(stackshot_taker_enabledynamicconclavetextlayout__result_s)); /*! * @field getboottimingdata * @brief Method handler for `Stackshot.Taker.getBootTimingData()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getboottimingdata)(tb_error_t (^ completion)(stackshot_timingdata_s)); /*! * @field initialize * @brief Method handler for `Stackshot.RedactedTaker.initialize()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ initialize)(tb_error_t (^ completion)(stackshot_stackshotservervariant_s)); /*! * @field runstackshotredacted * @brief Method handler for `Stackshot.RedactedTaker.runStackshotRedacted(scids:wantAllAddressSpaces:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ runstackshotredacted)(const scid_v_s * scids, const bool wantAllAddressSpaces, tb_error_t (^ completion)(stackshot_redactedtaker_runstackshotredacted__result_s)); } stackshot_taker__server_s; /*! * @function stackshot_taker__server_start * @brief Server start method for the `Stackshot.Taker` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t stackshot_taker__server_start(tb_endpoint_t ep, const stackshot_taker__server_s *_Nonnull server); /*! * @function stackshot_taker__server_start_owned * @brief Server start method for the `Stackshot.Taker` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t stackshot_taker__server_start_owned(tb_endpoint_t ep, stackshot_taker__service_s *_Nonnull service, const stackshot_taker__server_s *_Nonnull server); /*! * @function stackshot_taker__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void stackshot_taker__server_stop(stackshot_taker__service_s *_Nonnull service); /*! * @typedef sharedmemorybase_perms_s * @brief Declaration of the `SharedMemoryBase.Perms` enumeration * @internal */ typedef enum sharedmemorybase_perms_s : uint8_t { SHAREDMEMORYBASE_PERMS_READONLY = 16, SHAREDMEMORYBASE_PERMS_READWRITE = 17, } sharedmemorybase_perms_s; /*! * @typedef sharedmemorybase_mappingattribute_s * @brief Declaration of the `SharedMemoryBase.MappingAttribute` enumeration * @internal */ typedef enum sharedmemorybase_mappingattribute_s : uint8_t { SHAREDMEMORYBASE_MAPPINGATTRIBUTE_NORMAL_CACHEABLE = 24, SHAREDMEMORYBASE_MAPPINGATTRIBUTE_NORMAL_UNCACHED = 25, SHAREDMEMORYBASE_MAPPINGATTRIBUTE_NORMAL_REALTIME_UNCACHED = 26, SHAREDMEMORYBASE_MAPPINGATTRIBUTE_NORMAL_DEVICE = 27, } sharedmemorybase_mappingattribute_s; /*! * @typedef sharedmemorybase_backingmodel_s * @brief Declaration of the `SharedMemoryBase.BackingModel` enumeration * @internal */ typedef enum sharedmemorybase_backingmodel_s : uint8_t { SHAREDMEMORYBASE_BACKINGMODEL_EXPLICIT = 32, SHAREDMEMORYBASE_BACKINGMODEL_TRANSIENT = 33, } sharedmemorybase_backingmodel_s; /*! * @typedef sharedmemorybase_constants_s * @brief Declaration of the `SharedMemoryBase.Constants` enumeration * @internal */ typedef enum sharedmemorybase_constants_s : uint64_t { SHAREDMEMORYBASE_CONSTANTS_PAGESIZE = 16384ULL, } sharedmemorybase_constants_s; /*! * @typedef sharedmemorybase_pageoffset_s * @brief Type alias definition for `SharedMemoryBase.PageOffset` * @internal */ typedef uint64_t sharedmemorybase_pageoffset_s; /*! * @typedef sharedmemorybase_physicaladdress_s * @brief Type alias definition for `SharedMemoryBase.PhysicalAddress` * @internal */ typedef uint64_t sharedmemorybase_physicaladdress_s; /*! * @typedef sharedmemorybase_sharedmemoryid_s * @brief Type alias definition for `SharedMemoryBase.SharedMemoryID` * @internal */ typedef uint64_t sharedmemorybase_sharedmemoryid_s; /*! * @typedef sharedmemorybase_sharedmemorygroup_s * @brief Declaration of the `SharedMemoryBase.SharedMemoryGroup` enumeration * @internal */ typedef enum sharedmemorybase_sharedmemorygroup_s : uint8_t { SHAREDMEMORYBASE_SHAREDMEMORYGROUP_ROOTDOMAINUNCATEGORIZED = 0, SHAREDMEMORYBASE_SHAREDMEMORYGROUP_STORAGE = 1, SHAREDMEMORYBASE_SHAREDMEMORYGROUP_AUDIO = 2, SHAREDMEMORYBASE_SHAREDMEMORYGROUP_VIDEO = 3, SHAREDMEMORYBASE_SHAREDMEMORYGROUP_ACCESSORYENCRYPTED = 4, SHAREDMEMORYBASE_SHAREDMEMORYGROUP_ACCESSORYDECRYPTED = 5, SHAREDMEMORYBASE_SHAREDMEMORYGROUP_SYSTEM = 6, SHAREDMEMORYBASE_SHAREDMEMORYGROUP_DEBUG = 7, } sharedmemorybase_sharedmemorygroup_s; /*! * @typedef sharedmemorybase_perms__opt_s * @brief Representation of an optional `SharedMemoryBase.Perms` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_perms__opt_s { bool has_value; sharedmemorybase_perms_s value; } sharedmemorybase_perms__opt_s; /*! * @function sharedmemorybase_perms__opt_get * @brief Accessor for an optional `SharedMemoryBase.Perms` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED sharedmemorybase_perms_s *_Nullable sharedmemorybase_perms__opt_get(sharedmemorybase_perms__opt_s *_Nonnull opt); /*! * @function sharedmemorybase_perms__opt_init * @brief Initializer for an optional `SharedMemoryBase.Perms` * @internal * * @discussion * This function initializes an optional `SharedMemoryBase.Perms` * if `value` is non-NULL. Otherwise, the optional value is marked * as vacant. */ TB_NOEXPORT TB_UNUSED void sharedmemorybase_perms__opt_init(sharedmemorybase_perms__opt_s *_Nonnull opt, sharedmemorybase_perms_s *_Nullable value); /*! * @typedef sharedmemorybase_parameters_s * @brief Declaration of the `SharedMemoryBase.Parameters` struct * @internal */ typedef TB_UNUSED struct sharedmemorybase_parameters_s { uint64_t maxoffset; sharedmemorybase_sharedmemorygroup_s shmemgroup; sharedmemorybase_sharedmemoryid_s shmemid; sharedmemorybase_mappingattribute_s mappingattribute; sharedmemorybase_backingmodel_s backingmodel; sharedmemorybase_perms__opt_s xnumaxaccess; } sharedmemorybase_parameters_s; /*! * @function sharedmemorybase_parameters__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `SharedMemoryBase.Parameters`" * @internal */ TB_NOEXPORT size_t sharedmemorybase_parameters__marshal_sizeof(const sharedmemorybase_parameters_s *_Nonnull value); /*! * @function sharedmemorybase_parameters__marshal * @brief Encode `SharedMemoryBase.Parameters` into target buffer * @internal * * @discussion * Encode a `SharedMemoryBase.Parameters` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t sharedmemorybase_parameters__marshal(const sharedmemorybase_parameters_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function sharedmemorybase_parameters__unmarshal * @brief Decode `SharedMemoryBase.Parameters` from a buffer * @internal * * @discussion * Decode a `SharedMemoryBase.Parameters` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t sharedmemorybase_parameters__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(sharedmemorybase_parameters_s)); /*! * @typedef sharedmemorybase_pagerange_s * @brief Declaration of the `SharedMemoryBase.PageRange` struct * @internal */ typedef TB_UNUSED struct sharedmemorybase_pagerange_s { sharedmemorybase_pageoffset_s startpage; sharedmemorybase_pageoffset_s endpage; } sharedmemorybase_pagerange_s; /*! * @function sharedmemorybase_pagerange__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `SharedMemoryBase.PageRange`" * @internal */ TB_NOEXPORT size_t sharedmemorybase_pagerange__marshal_sizeof(const sharedmemorybase_pagerange_s *_Nonnull value); /*! * @function sharedmemorybase_pagerange__marshal * @brief Encode `SharedMemoryBase.PageRange` into target buffer * @internal * * @discussion * Encode a `SharedMemoryBase.PageRange` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t sharedmemorybase_pagerange__marshal(const sharedmemorybase_pagerange_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function sharedmemorybase_pagerange__unmarshal * @brief Decode `SharedMemoryBase.PageRange` from a buffer * @internal * * @discussion * Decode a `SharedMemoryBase.PageRange` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t sharedmemorybase_pagerange__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(sharedmemorybase_pagerange_s)); /*! * @typedef sharedmemorybase_pagerange_v_tag_s * @brief Implementation detail of variable length array of `SharedMemoryBase.PageRange` * @internal */ typedef enum sharedmemorybase_pagerange_v_tag_s : uint8_t { SHAREDMEMORYBASE_PAGERANGE__V_INVALID = 0, SHAREDMEMORYBASE_PAGERANGE__V_PACKED = 1, SHAREDMEMORYBASE_PAGERANGE__V_REFERENCE = 2, SHAREDMEMORYBASE_PAGERANGE__V_UNPACKED = 3, } sharedmemorybase_pagerange_v_tag_s; /*! * @typedef sharedmemorybase_pagerange_v_s * @brief Variable length array of `SharedMemoryBase.PageRange` * @internal * * @discussion * Declaration of a variable length array of `SharedMemoryBase.PageRange`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_pagerange_v_s { enum sharedmemorybase_pagerange_v_tag_s tag; union { struct { sharedmemorybase_pagerange_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } sharedmemorybase_pagerange_v_s; /*! * @function sharedmemorybase_pagerange__v_count * @brief Returns the number of elements in `SharedMemoryBase.PageRange` variable length arrays * @internal */ TB_NOEXPORT size_t sharedmemorybase_pagerange__v_count(const sharedmemorybase_pagerange_v_s *_Nonnull val); /*! * @function sharedmemorybase_pagerange__v_visit * @brief Array visitor for `SharedMemoryBase.PageRange` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void sharedmemorybase_pagerange__v_visit(const sharedmemorybase_pagerange_v_s *_Nonnull val, void (^ block)(size_t i, const sharedmemorybase_pagerange_s *_Nonnull item)); /*! * @function sharedmemorybase_pagerange__v_assign_copy * @brief Copy content to variable length array of `SharedMemoryBase.PageRange` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t sharedmemorybase_pagerange__v_assign_copy(sharedmemorybase_pagerange_v_s *_Nonnull val, sharedmemorybase_pagerange_s *__counted_by(count) ptr, size_t count); /*! * @function sharedmemorybase_pagerange__v_assign_owned * @brief Copy content to variable length array of `SharedMemoryBase.PageRange` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void sharedmemorybase_pagerange__v_assign_owned(sharedmemorybase_pagerange_v_s *_Nonnull val, sharedmemorybase_pagerange_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function sharedmemorybase_pagerange__v_assign_owned * @brief Copy content to variable length array of `SharedMemoryBase.PageRange` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void sharedmemorybase_pagerange__v_assign_unowned(sharedmemorybase_pagerange_v_s *_Nonnull val, sharedmemorybase_pagerange_s *__counted_by(count) ptr, size_t count); /*! * @typedef sharedmemorybase_status_s * @brief Declaration of the `SharedMemoryBase.Status` struct * @internal */ typedef TB_UNUSED struct sharedmemorybase_status_s { sharedmemorybase_parameters_s parameters; sharedmemorybase_pageoffset_s npages; sharedmemorybase_pagerange_v_s backed; } sharedmemorybase_status_s; /*! * @function sharedmemorybase_status__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `SharedMemoryBase.Status`" * @internal */ TB_NOEXPORT size_t sharedmemorybase_status__marshal_sizeof(const sharedmemorybase_status_s *_Nonnull value); /*! * @function sharedmemorybase_status__marshal * @brief Encode `SharedMemoryBase.Status` into target buffer * @internal * * @discussion * Encode a `SharedMemoryBase.Status` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t sharedmemorybase_status__marshal(const sharedmemorybase_status_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function sharedmemorybase_status__unmarshal * @brief Decode `SharedMemoryBase.Status` from a buffer * @internal * * @discussion * Decode a `SharedMemoryBase.Status` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t sharedmemorybase_status__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(sharedmemorybase_status_s)); /*! * @typedef sharedmemorybase_accesserror_s * @brief Declaration of the `SharedMemoryBase.AccessError` enumeration * @internal */ typedef enum sharedmemorybase_accesserror_s : uint32_t { SHAREDMEMORYBASE_ACCESSERROR_BADRANGE = 65, SHAREDMEMORYBASE_ACCESSERROR_BADPERMISSIONS = 66, SHAREDMEMORYBASE_ACCESSERROR_OUTOFMEMORY = 67, SHAREDMEMORYBASE_ACCESSERROR_NOTBACKED = 68, SHAREDMEMORYBASE_ACCESSERROR_BADMAPPING = 69, SHAREDMEMORYBASE_ACCESSERROR_NOTMAPPED = 70, SHAREDMEMORYBASE_ACCESSERROR_XNUNOTPERMITTED = 71, SHAREDMEMORYBASE_ACCESSERROR_TOOMANYMAPPINGS = 72, SHAREDMEMORYBASE_ACCESSERROR_BADOFFSET = 73, SHAREDMEMORYBASE_ACCESSERROR_NOPHYSICALADDRESSAVAILABLE = 74, } sharedmemorybase_accesserror_s; /*! * @typedef sharedmemorybase_accessstatus_s * @brief Declaration of the `SharedMemoryBase.AccessStatus` struct * @internal */ typedef TB_UNUSED struct sharedmemorybase_accessstatus_s { sharedmemorybase_status_s segmentstatus; sharedmemorybase_perms_s permissions; bool xnu; } sharedmemorybase_accessstatus_s; /*! * @function sharedmemorybase_accessstatus__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `SharedMemoryBase.AccessStatus`" * @internal */ TB_NOEXPORT size_t sharedmemorybase_accessstatus__marshal_sizeof(const sharedmemorybase_accessstatus_s *_Nonnull value); /*! * @function sharedmemorybase_accessstatus__marshal * @brief Encode `SharedMemoryBase.AccessStatus` into target buffer * @internal * * @discussion * Encode a `SharedMemoryBase.AccessStatus` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t sharedmemorybase_accessstatus__marshal(const sharedmemorybase_accessstatus_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function sharedmemorybase_accessstatus__unmarshal * @brief Decode `SharedMemoryBase.AccessStatus` from a buffer * @internal * * @discussion * Decode a `SharedMemoryBase.AccessStatus` structure, given * binary data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t sharedmemorybase_accessstatus__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(sharedmemorybase_accessstatus_s)); /*! * @typedef sharedmemorybase_mapping_s * @brief Type alias definition for `SharedMemoryBase.Mapping` * @internal */ typedef uint32_t sharedmemorybase_mapping_s; /*! * @typedef sharedmemorybase_mappinginfo_s * @brief Declaration of the `SharedMemoryBase.MappingInfo` struct * @internal */ typedef TB_UNUSED struct sharedmemorybase_mappinginfo_s { sharedmemorybase_mapping_s mapping; sharedmemorybase_perms_s permissions; sharedmemorybase_mappingattribute_s attributes; bool xnu; sharedmemorybase_pagerange_v_s mapped; } sharedmemorybase_mappinginfo_s; /*! * @function sharedmemorybase_mappinginfo__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `SharedMemoryBase.MappingInfo`" * @internal */ TB_NOEXPORT size_t sharedmemorybase_mappinginfo__marshal_sizeof(const sharedmemorybase_mappinginfo_s *_Nonnull value); /*! * @function sharedmemorybase_mappinginfo__marshal * @brief Encode `SharedMemoryBase.MappingInfo` into target buffer * @internal * * @discussion * Encode a `SharedMemoryBase.MappingInfo` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t sharedmemorybase_mappinginfo__marshal(const sharedmemorybase_mappinginfo_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function sharedmemorybase_mappinginfo__unmarshal * @brief Decode `SharedMemoryBase.MappingInfo` from a buffer * @internal * * @discussion * Decode a `SharedMemoryBase.MappingInfo` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t sharedmemorybase_mappinginfo__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(sharedmemorybase_mappinginfo_s)); /*! * @typedef sharedmemorybase_mappingresult_s * @brief Declaration of the `SharedMemoryBase.MappingResult` struct * @internal */ typedef TB_UNUSED struct sharedmemorybase_mappingresult_s { sharedmemorybase_mappinginfo_s mappinginfo; sharedmemorybase_pagerange_v_s newlymapped; sharedmemorybase_pagerange_v_s newlyunmapped; } sharedmemorybase_mappingresult_s; /*! * @function sharedmemorybase_mappingresult__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `SharedMemoryBase.MappingResult`" * @internal */ TB_NOEXPORT size_t sharedmemorybase_mappingresult__marshal_sizeof(const sharedmemorybase_mappingresult_s *_Nonnull value); /*! * @function sharedmemorybase_mappingresult__marshal * @brief Encode `SharedMemoryBase.MappingResult` into target buffer * @internal * * @discussion * Encode a `SharedMemoryBase.MappingResult` instance into a * binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t sharedmemorybase_mappingresult__marshal(const sharedmemorybase_mappingresult_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function sharedmemorybase_mappingresult__unmarshal * @brief Decode `SharedMemoryBase.MappingResult` from a buffer * @internal * * @discussion * Decode a `SharedMemoryBase.MappingResult` structure, given * binary data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t sharedmemorybase_mappingresult__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(sharedmemorybase_mappingresult_s)); /*! * @typedef physicaladdress_v_tag_s * @brief Implementation detail of variable length array of `SharedMemoryBase.PhysicalAddress (aka. UInt64)` * @internal */ typedef enum physicaladdress_v_tag_s : uint8_t { PHYSICALADDRESS__V_INVALID = 0, PHYSICALADDRESS__V_PACKED = 1, PHYSICALADDRESS__V_REFERENCE = 2, PHYSICALADDRESS__V_UNPACKED = 3, } physicaladdress_v_tag_s; /*! * @typedef physicaladdress_v_s * @brief Variable length array of `SharedMemoryBase.PhysicalAddress (aka. UInt64)` * @internal * * @discussion * Declaration of a variable length array of `SharedMemoryBase.PhysicalAddress * (aka. UInt64)`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct physicaladdress_v_s { enum physicaladdress_v_tag_s tag; union { struct { sharedmemorybase_physicaladdress_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } physicaladdress_v_s; /*! * @function physicaladdress__v_count * @brief Returns the number of elements in `SharedMemoryBase.PhysicalAddress (aka. UInt64)` variable length arrays * @internal */ TB_NOEXPORT size_t physicaladdress__v_count(const physicaladdress_v_s *_Nonnull val); /*! * @function physicaladdress__v_visit * @brief Array visitor for `SharedMemoryBase.PhysicalAddress (aka. UInt64)` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void physicaladdress__v_visit(const physicaladdress_v_s *_Nonnull val, void (^ block)(size_t i, const sharedmemorybase_physicaladdress_s item)); /*! * @function physicaladdress__v_assign_copy * @brief Copy content to variable length array of `SharedMemoryBase.PhysicalAddress (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t physicaladdress__v_assign_copy(physicaladdress_v_s *_Nonnull val, sharedmemorybase_physicaladdress_s *__counted_by(count) ptr, size_t count); /*! * @function physicaladdress__v_assign_owned * @brief Copy content to variable length array of `SharedMemoryBase.PhysicalAddress (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void physicaladdress__v_assign_owned(physicaladdress_v_s *_Nonnull val, sharedmemorybase_physicaladdress_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function physicaladdress__v_assign_owned * @brief Copy content to variable length array of `SharedMemoryBase.PhysicalAddress (aka. UInt64)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void physicaladdress__v_assign_unowned(physicaladdress_v_s *_Nonnull val, sharedmemorybase_physicaladdress_s *__counted_by(count) ptr, size_t count); /*! * @function physicaladdress__v_copyout * @brief Copy the content out of variable length array of `SharedMemoryBase.PhysicalAddress (aka. UInt64)` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t physicaladdress__v_copyout(const physicaladdress_v_s *_Nonnull val, sharedmemorybase_physicaladdress_s *__counted_by(count) out, size_t count); /*! * @typedef sharedmemorybase_pagerange__opt_s * @brief Representation of an optional `SharedMemoryBase.PageRange` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_pagerange__opt_s { bool has_value; sharedmemorybase_pagerange_s value; } sharedmemorybase_pagerange__opt_s; /*! * @function sharedmemorybase_pagerange__opt_get * @brief Accessor for an optional `SharedMemoryBase.PageRange` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED sharedmemorybase_pagerange_s *_Nullable sharedmemorybase_pagerange__opt_get(sharedmemorybase_pagerange__opt_s *_Nonnull opt); /*! * @function sharedmemorybase_pagerange__opt_init * @brief Initializer for an optional `SharedMemoryBase.PageRange` * @internal * * @discussion * This function initializes an optional `SharedMemoryBase.PageRange` * if `value` is non-NULL. Otherwise, the optional value is marked * as vacant. */ TB_NOEXPORT TB_UNUSED void sharedmemorybase_pagerange__opt_init(sharedmemorybase_pagerange__opt_s *_Nonnull opt, sharedmemorybase_pagerange_s *_Nullable value); /*! * @typedef sharedmemorybase_segaccessbase_mappingdestroy__result_s * @brief Result structure for `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_mappingdestroy__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; } value; } sharedmemorybase_segaccessbase_mappingdestroy__result_s; /*! * @function sharedmemorybase_segaccessbase_mappingdestroy__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool sharedmemorybase_segaccessbase_mappingdestroy__result_get_success(sharedmemorybase_segaccessbase_mappingdestroy__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingdestroy__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segaccessbase_mappingdestroy__result_get_failure(sharedmemorybase_segaccessbase_mappingdestroy__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingdestroy__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * @internal * * @discussion * Initializes a return value for a call to `mappingDestroy(mapping:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `mappingDestroy(mapping:)` method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingdestroy__result_init_success(sharedmemorybase_segaccessbase_mappingdestroy__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingdestroy__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * @internal * * @discussion * Initializes a return value for a call to `mappingDestroy(mapping:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mappingDestroy(mapping:)` method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingdestroy__result_init_failure(sharedmemorybase_segaccessbase_mappingdestroy__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s * @brief Result structure for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; physicaladdress_v_s success; } value; } sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s; /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT physicaladdress_v_s *_Nullable sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_get_success(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_get_failure(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingGetPhysicalAddresses(mapping:range:)`, * indicating the call was successful and returns an associated * `[SharedMemoryBase.PhysicalAddress (aka. UInt64)]` value. * * An initialized result type should be passed to the completion * handler provided to a `mappingGetPhysicalAddresses(mapping:range:)` * method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_init_success(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s *_Nonnull result, physicaladdress_v_s value); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingGetPhysicalAddresses(mapping:range:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mappingGetPhysicalAddresses(mapping:range:)` * method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_init_failure(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s * @brief Result structure for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; sharedmemorybase_physicaladdress_s success; } value; } sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s; /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_physicaladdress_s *_Nullable sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_get_success(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_get_failure(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * @internal * * @discussion * Initializes a return value for a call to `mappingGetPhysicalAddress(mapping:offset:)`, * indicating the call was successful and returns an associated * `SharedMemoryBase.PhysicalAddress (aka. UInt64)` value. * * An initialized result type should be passed to the completion * handler provided to a `mappingGetPhysicalAddress(mapping:offset:)` * method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_init_success(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s *_Nonnull result, sharedmemorybase_physicaladdress_s value); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * @internal * * @discussion * Initializes a return value for a call to `mappingGetPhysicalAddress(mapping:offset:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mappingGetPhysicalAddress(mapping:offset:)` * method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_init_failure(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segaccessbase_mappingunmap__result_s * @brief Result structure for `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_mappingunmap__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; sharedmemorybase_mappingresult_s success; } value; } sharedmemorybase_segaccessbase_mappingunmap__result_s; /*! * @function sharedmemorybase_segaccessbase_mappingunmap__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_mappingresult_s *_Nullable sharedmemorybase_segaccessbase_mappingunmap__result_get_success(sharedmemorybase_segaccessbase_mappingunmap__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingunmap__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segaccessbase_mappingunmap__result_get_failure(sharedmemorybase_segaccessbase_mappingunmap__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingunmap__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingUnmap(mapping:range:)`, * indicating the call was successful and returns an associated * `SharedMemoryBase.MappingResult` value. * * An initialized result type should be passed to the completion * handler provided to a `mappingUnmap(mapping:range:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingunmap__result_init_success(sharedmemorybase_segaccessbase_mappingunmap__result_s *_Nonnull result, sharedmemorybase_mappingresult_s value); /*! * @function sharedmemorybase_segaccessbase_mappingunmap__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingUnmap(mapping:range:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mappingUnmap(mapping:range:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingunmap__result_init_failure(sharedmemorybase_segaccessbase_mappingunmap__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segaccessbase_mappingmap__result_s * @brief Result structure for `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_mappingmap__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; sharedmemorybase_mappingresult_s success; } value; } sharedmemorybase_segaccessbase_mappingmap__result_s; /*! * @function sharedmemorybase_segaccessbase_mappingmap__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_mappingresult_s *_Nullable sharedmemorybase_segaccessbase_mappingmap__result_get_success(sharedmemorybase_segaccessbase_mappingmap__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingmap__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segaccessbase_mappingmap__result_get_failure(sharedmemorybase_segaccessbase_mappingmap__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingmap__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingMap(mapping:range:)`, * indicating the call was successful and returns an associated * `SharedMemoryBase.MappingResult` value. * * An initialized result type should be passed to the completion * handler provided to a `mappingMap(mapping:range:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingmap__result_init_success(sharedmemorybase_segaccessbase_mappingmap__result_s *_Nonnull result, sharedmemorybase_mappingresult_s value); /*! * @function sharedmemorybase_segaccessbase_mappingmap__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingMap(mapping:range:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mappingMap(mapping:range:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingmap__result_init_failure(sharedmemorybase_segaccessbase_mappingmap__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segaccessbase_mappingsetmapped__result_s * @brief Result structure for `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_mappingsetmapped__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; sharedmemorybase_mappingresult_s success; } value; } sharedmemorybase_segaccessbase_mappingsetmapped__result_s; /*! * @function sharedmemorybase_segaccessbase_mappingsetmapped__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_mappingresult_s *_Nullable sharedmemorybase_segaccessbase_mappingsetmapped__result_get_success(sharedmemorybase_segaccessbase_mappingsetmapped__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingsetmapped__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segaccessbase_mappingsetmapped__result_get_failure(sharedmemorybase_segaccessbase_mappingsetmapped__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappingsetmapped__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingSetMapped(mapping:range:)`, * indicating the call was successful and returns an associated * `SharedMemoryBase.MappingResult` value. * * An initialized result type should be passed to the completion * handler provided to a `mappingSetMapped(mapping:range:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingsetmapped__result_init_success(sharedmemorybase_segaccessbase_mappingsetmapped__result_s *_Nonnull result, sharedmemorybase_mappingresult_s value); /*! * @function sharedmemorybase_segaccessbase_mappingsetmapped__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * @internal * * @discussion * Initializes a return value for a call to `mappingSetMapped(mapping:range:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mappingSetMapped(mapping:range:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappingsetmapped__result_init_failure(sharedmemorybase_segaccessbase_mappingsetmapped__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segaccessbase_mappinggetinfo__result_s * @brief Result structure for `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_mappinggetinfo__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; sharedmemorybase_mappinginfo_s success; } value; } sharedmemorybase_segaccessbase_mappinggetinfo__result_s; /*! * @function sharedmemorybase_segaccessbase_mappinggetinfo__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_mappinginfo_s *_Nullable sharedmemorybase_segaccessbase_mappinggetinfo__result_get_success(sharedmemorybase_segaccessbase_mappinggetinfo__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappinggetinfo__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segaccessbase_mappinggetinfo__result_get_failure(sharedmemorybase_segaccessbase_mappinggetinfo__result_s *_Nonnull result); /*! * @function sharedmemorybase_segaccessbase_mappinggetinfo__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * @internal * * @discussion * Initializes a return value for a call to `mappingGetInfo(mapping:)`, * indicating the call was successful and returns an associated * `SharedMemoryBase.MappingInfo` value. * * An initialized result type should be passed to the completion * handler provided to a `mappingGetInfo(mapping:)` method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappinggetinfo__result_init_success(sharedmemorybase_segaccessbase_mappinggetinfo__result_s *_Nonnull result, sharedmemorybase_mappinginfo_s value); /*! * @function sharedmemorybase_segaccessbase_mappinggetinfo__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * @internal * * @discussion * Initializes a return value for a call to `mappingGetInfo(mapping:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mappingGetInfo(mapping:)` method handler. */ TB_NOEXPORT void sharedmemorybase_segaccessbase_mappinggetinfo__result_init_failure(sharedmemorybase_segaccessbase_mappinggetinfo__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segaccessbase_s * @brief Client connection handle for `SharedMemoryBase.SegAccessBase` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase_s { tb_client_connection_t connection; } sharedmemorybase_segaccessbase_s; /*! * @function sharedmemorybase_segaccessbase_mappinggetinfo * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase_mappinggetinfo(const sharedmemorybase_segaccessbase_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, void (^ result)(sharedmemorybase_segaccessbase_mappinggetinfo__result_s)); /*! * @function sharedmemorybase_segaccessbase_mappingsetmapped * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase_mappingsetmapped(const sharedmemorybase_segaccessbase_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange__opt_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappingsetmapped__result_s)); /*! * @function sharedmemorybase_segaccessbase_mappingmap * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase_mappingmap(const sharedmemorybase_segaccessbase_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappingmap__result_s)); /*! * @function sharedmemorybase_segaccessbase_mappingunmap * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase_mappingunmap(const sharedmemorybase_segaccessbase_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappingunmap__result_s)); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdress * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase_mappinggetphysicaladdress(const sharedmemorybase_segaccessbase_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pageoffset_s offset, void (^ result)(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s)); /*! * @function sharedmemorybase_segaccessbase_mappinggetphysicaladdresses * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase_mappinggetphysicaladdresses(const sharedmemorybase_segaccessbase_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s)); /*! * @function sharedmemorybase_segaccessbase_mappingdestroy * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase_mappingdestroy(const sharedmemorybase_segaccessbase_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, void (^ result)(sharedmemorybase_segaccessbase_mappingdestroy__result_s)); /*! * @typedef sharedmemorybase_segaccessbase__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase__init(sharedmemorybase_segaccessbase_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef sharedmemorybase_segaccessbase__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase__init_static(sharedmemorybase_segaccessbase_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function sharedmemorybase_segaccessbase__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void sharedmemorybase_segaccessbase__copy(const sharedmemorybase_segaccessbase_s *_Nonnull src, sharedmemorybase_segaccessbase_s *_Nonnull dst); /*! * @function sharedmemorybase_segaccessbase__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void sharedmemorybase_segaccessbase__destruct(sharedmemorybase_segaccessbase_s *_Nonnull client); /*! * @typedef sharedmemorybase_segaccessbase__service_s * @brief Service connection handle for `SharedMemoryBase.SegAccessBase` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segaccessbase__service_s { tb_service_connection_t connection; } sharedmemorybase_segaccessbase__service_s; /*! * @typedef sharedmemorybase_segaccessbase__server_s * @brief Method callback blocks for handling `SharedMemoryBase.SegAccessBase` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct sharedmemorybase_segaccessbase__server_s { /*! * @field mappinggetinfo * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappinggetinfo)(const sharedmemorybase_mapping_s mapping, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappinggetinfo__result_s)); /*! * @field mappingsetmapped * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingsetmapped)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange__opt_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingsetmapped__result_s)); /*! * @field mappingmap * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingmap)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingmap__result_s)); /*! * @field mappingunmap * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingunmap)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingunmap__result_s)); /*! * @field mappinggetphysicaladdress * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappinggetphysicaladdress)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pageoffset_s offset, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s)); /*! * @field mappinggetphysicaladdresses * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappinggetphysicaladdresses)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s)); /*! * @field mappingdestroy * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingdestroy)(const sharedmemorybase_mapping_s mapping, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingdestroy__result_s)); } sharedmemorybase_segaccessbase__server_s; /*! * @function sharedmemorybase_segaccessbase__server_start * @brief Server start method for the `SharedMemoryBase.SegAccessBase` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase__server_start(tb_endpoint_t ep, const sharedmemorybase_segaccessbase__server_s *_Nonnull server); /*! * @function sharedmemorybase_segaccessbase__server_start_owned * @brief Server start method for the `SharedMemoryBase.SegAccessBase` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t sharedmemorybase_segaccessbase__server_start_owned(tb_endpoint_t ep, sharedmemorybase_segaccessbase__service_s *_Nonnull service, const sharedmemorybase_segaccessbase__server_s *_Nonnull server); /*! * @function sharedmemorybase_segaccessbase__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void sharedmemorybase_segaccessbase__server_stop(sharedmemorybase_segaccessbase__service_s *_Nonnull service); /*! * @typedef sharedmemorybase_segxnuaccess_createxnumapping__result_s * @brief Result structure for `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segxnuaccess_createxnumapping__result_s { uint8_t tag; union { sharedmemorybase_accesserror_s failure; sharedmemorybase_mappingresult_s success; } value; } sharedmemorybase_segxnuaccess_createxnumapping__result_s; /*! * @function sharedmemorybase_segxnuaccess_createxnumapping__result_get_success * @brief Accessor for the success return type of `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_mappingresult_s *_Nullable sharedmemorybase_segxnuaccess_createxnumapping__result_get_success(sharedmemorybase_segxnuaccess_createxnumapping__result_s *_Nonnull result); /*! * @function sharedmemorybase_segxnuaccess_createxnumapping__result_get_failure * @brief Accessor for the failure return type of `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT sharedmemorybase_accesserror_s *_Nullable sharedmemorybase_segxnuaccess_createxnumapping__result_get_failure(sharedmemorybase_segxnuaccess_createxnumapping__result_s *_Nonnull result); /*! * @function sharedmemorybase_segxnuaccess_createxnumapping__result_init_success * @brief Initialize a return structure for `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * @internal * * @discussion * Initializes a return value for a call to `createXnuMapping(perm:mapRange:)`, * indicating the call was successful and returns an associated * `SharedMemoryBase.MappingResult` value. * * An initialized result type should be passed to the completion * handler provided to a `createXnuMapping(perm:mapRange:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segxnuaccess_createxnumapping__result_init_success(sharedmemorybase_segxnuaccess_createxnumapping__result_s *_Nonnull result, sharedmemorybase_mappingresult_s value); /*! * @function sharedmemorybase_segxnuaccess_createxnumapping__result_init_failure * @brief Initialize a return structure for `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * @internal * * @discussion * Initializes a return value for a call to `createXnuMapping(perm:mapRange:)`, * indicating the call failed and returns an associated `SharedMemoryBase.AccessError` * value. * * An initialized result type should be passed to the completion * handler provided to a `createXnuMapping(perm:mapRange:)` method * handler. */ TB_NOEXPORT void sharedmemorybase_segxnuaccess_createxnumapping__result_init_failure(sharedmemorybase_segxnuaccess_createxnumapping__result_s *_Nonnull result, sharedmemorybase_accesserror_s value); /*! * @typedef sharedmemorybase_segxnuaccess_s * @brief Client connection handle for `SharedMemoryBase.SegXnuAccess` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segxnuaccess_s { tb_client_connection_t connection; } sharedmemorybase_segxnuaccess_s; /*! * @function sharedmemorybase_segxnuaccess_xnuaccessstatus * @brief Invokes the `SharedMemoryBase.SegXnuAccess.xnuAccessStatus()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_xnuaccessstatus(const sharedmemorybase_segxnuaccess_s *_Nonnull client, void (^ result)(sharedmemorybase_accessstatus_s)); /*! * @function sharedmemorybase_segxnuaccess_createxnumapping * @brief Invokes the `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_createxnumapping(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_perms_s perm, const sharedmemorybase_pagerange__opt_s * mapRange, void (^ result)(sharedmemorybase_segxnuaccess_createxnumapping__result_s)); /*! * @function sharedmemorybase_segxnuaccess_mappinggetinfo * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_mappinggetinfo(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, void (^ result)(sharedmemorybase_segaccessbase_mappinggetinfo__result_s)); /*! * @function sharedmemorybase_segxnuaccess_mappingsetmapped * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_mappingsetmapped(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange__opt_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappingsetmapped__result_s)); /*! * @function sharedmemorybase_segxnuaccess_mappingmap * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_mappingmap(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappingmap__result_s)); /*! * @function sharedmemorybase_segxnuaccess_mappingunmap * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_mappingunmap(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappingunmap__result_s)); /*! * @function sharedmemorybase_segxnuaccess_mappinggetphysicaladdress * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_mappinggetphysicaladdress(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pageoffset_s offset, void (^ result)(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s)); /*! * @function sharedmemorybase_segxnuaccess_mappinggetphysicaladdresses * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_mappinggetphysicaladdresses(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, void (^ result)(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s)); /*! * @function sharedmemorybase_segxnuaccess_mappingdestroy * @brief Invokes the `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess_mappingdestroy(const sharedmemorybase_segxnuaccess_s *_Nonnull client, const sharedmemorybase_mapping_s mapping, void (^ result)(sharedmemorybase_segaccessbase_mappingdestroy__result_s)); /*! * @typedef sharedmemorybase_segxnuaccess__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess__init(sharedmemorybase_segxnuaccess_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef sharedmemorybase_segxnuaccess__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess__init_static(sharedmemorybase_segxnuaccess_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function sharedmemorybase_segxnuaccess__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void sharedmemorybase_segxnuaccess__copy(const sharedmemorybase_segxnuaccess_s *_Nonnull src, sharedmemorybase_segxnuaccess_s *_Nonnull dst); /*! * @function sharedmemorybase_segxnuaccess__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void sharedmemorybase_segxnuaccess__destruct(sharedmemorybase_segxnuaccess_s *_Nonnull client); /*! * @typedef sharedmemorybase_segxnuaccess__service_s * @brief Service connection handle for `SharedMemoryBase.SegXnuAccess` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct sharedmemorybase_segxnuaccess__service_s { tb_service_connection_t connection; } sharedmemorybase_segxnuaccess__service_s; /*! * @typedef sharedmemorybase_segxnuaccess__server_s * @brief Method callback blocks for handling `SharedMemoryBase.SegXnuAccess` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct sharedmemorybase_segxnuaccess__server_s { /*! * @field xnuaccessstatus * @brief Method handler for `SharedMemoryBase.SegXnuAccess.xnuAccessStatus()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ xnuaccessstatus)(tb_error_t (^ completion)(sharedmemorybase_accessstatus_s)); /*! * @field createxnumapping * @brief Method handler for `SharedMemoryBase.SegXnuAccess.createXnuMapping(perm:mapRange:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ createxnumapping)(const sharedmemorybase_perms_s perm, const sharedmemorybase_pagerange__opt_s * mapRange, tb_error_t (^ completion)(sharedmemorybase_segxnuaccess_createxnumapping__result_s)); /*! * @field mappinggetinfo * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingGetInfo(mapping:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappinggetinfo)(const sharedmemorybase_mapping_s mapping, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappinggetinfo__result_s)); /*! * @field mappingsetmapped * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingSetMapped(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingsetmapped)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange__opt_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingsetmapped__result_s)); /*! * @field mappingmap * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingMap(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingmap)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingmap__result_s)); /*! * @field mappingunmap * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingUnmap(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingunmap)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingunmap__result_s)); /*! * @field mappinggetphysicaladdress * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddress(mapping:offset:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappinggetphysicaladdress)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pageoffset_s offset, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappinggetphysicaladdress__result_s)); /*! * @field mappinggetphysicaladdresses * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingGetPhysicalAddresses(mapping:range:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappinggetphysicaladdresses)(const sharedmemorybase_mapping_s mapping, const sharedmemorybase_pagerange_s * range, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappinggetphysicaladdresses__result_s)); /*! * @field mappingdestroy * @brief Method handler for `SharedMemoryBase.SegAccessBase.mappingDestroy(mapping:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mappingdestroy)(const sharedmemorybase_mapping_s mapping, tb_error_t (^ completion)(sharedmemorybase_segaccessbase_mappingdestroy__result_s)); } sharedmemorybase_segxnuaccess__server_s; /*! * @function sharedmemorybase_segxnuaccess__server_start * @brief Server start method for the `SharedMemoryBase.SegXnuAccess` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess__server_start(tb_endpoint_t ep, const sharedmemorybase_segxnuaccess__server_s *_Nonnull server); /*! * @function sharedmemorybase_segxnuaccess__server_start_owned * @brief Server start method for the `SharedMemoryBase.SegXnuAccess` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t sharedmemorybase_segxnuaccess__server_start_owned(tb_endpoint_t ep, sharedmemorybase_segxnuaccess__service_s *_Nonnull service, const sharedmemorybase_segxnuaccess__server_s *_Nonnull server); /*! * @function sharedmemorybase_segxnuaccess__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void sharedmemorybase_segxnuaccess__server_stop(sharedmemorybase_segxnuaccess__service_s *_Nonnull service); /*! * @typedef exclavesmessagequeuetypes_exclavesmessagebyte_s * @brief Type alias definition for `ExclavesMessageQueueTypes.ExclavesMessageByte` * @internal */ typedef uint8_t exclavesmessagequeuetypes_exclavesmessagebyte_s; /*! * @typedef exclavesmessagequeuetypes_workercount_s * @brief Type alias definition for `ExclavesMessageQueueTypes.WorkerCount` * @internal */ typedef uint8_t exclavesmessagequeuetypes_workercount_s; /*! * @typedef exclavesmessagebyte_v_tag_s * @brief Implementation detail of variable length array of `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` * @internal */ typedef enum exclavesmessagebyte_v_tag_s : uint8_t { EXCLAVESMESSAGEBYTE__V_INVALID = 0, EXCLAVESMESSAGEBYTE__V_PACKED = 1, EXCLAVESMESSAGEBYTE__V_REFERENCE = 2, EXCLAVESMESSAGEBYTE__V_UNPACKED = 3, } exclavesmessagebyte_v_tag_s; /*! * @typedef exclavesmessagebyte_v_s * @brief Variable length array of `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` * @internal * * @discussion * Declaration of a variable length array of `ExclavesMessageQueueTypes.ExclavesMessageByte * (aka. UInt8)`. * * This structure tracks storage and ownership of the data contained * within the array. * * When populating an array for transmission, contents must be * assigned to the array prior and then must be sent as part * of a method call's arguments. * * Arrays received as part of a method return value are only * valid for the duration of the method call's completion callback. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavesmessagebyte_v_s { enum exclavesmessagebyte_v_tag_s tag; union { struct { exclavesmessagequeuetypes_exclavesmessagebyte_s *__counted_by(count) ptr; size_t count; void (^_Nullable __unsafe_unretained destructor)(void); } array; struct { uint8_t *__sized_by(size) ptr; size_t size; size_t count; } packed; struct { tb_message_t message; uint64_t start; size_t len; size_t count; } message; } data; } exclavesmessagebyte_v_s; /*! * @function exclavesmessagebyte__v_count * @brief Returns the number of elements in `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` variable length arrays * @internal */ TB_NOEXPORT size_t exclavesmessagebyte__v_count(const exclavesmessagebyte_v_s *_Nonnull val); /*! * @function exclavesmessagebyte__v_visit * @brief Array visitor for `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` variable length arrays * @internal * * @discussion * Visit the contents of `val`, invoking `block` for each item * contained within the array. The block is invoked with `i`, * the index in the array; along with `item`, a pointer to the * item. * * The `item` is only valid for the duration of the block invocation. */ TB_NOEXPORT void exclavesmessagebyte__v_visit(const exclavesmessagebyte_v_s *_Nonnull val, void (^ block)(size_t i, const exclavesmessagequeuetypes_exclavesmessagebyte_s item)); /*! * @function exclavesmessagebyte__v_assign_copy * @brief Copy content to variable length array of `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by copying `count` items from * the array at `ptr`. The copied contents is owned by `val` * and the source array `ptr` is not required to remain valid * after this call returns. */ TB_NOEXPORT tb_error_t exclavesmessagebyte__v_assign_copy(exclavesmessagebyte_v_s *_Nonnull val, exclavesmessagequeuetypes_exclavesmessagebyte_s *__counted_by(count) ptr, size_t count); /*! * @function exclavesmessagebyte__v_assign_owned * @brief Copy content to variable length array of `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` is considered * owned by `val` upon return and the `destructor` block will * be called at a later time to relinquish ownership of `ptr`. */ TB_NOEXPORT void exclavesmessagebyte__v_assign_owned(exclavesmessagebyte_v_s *_Nonnull val, exclavesmessagequeuetypes_exclavesmessagebyte_s *__counted_by(count) ptr, size_t count, void (^ destructor)(void)); /*! * @function exclavesmessagebyte__v_assign_owned * @brief Copy content to variable length array of `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` * @internal * * @discussion * Replace the contents of `val` by referencing `count` items * from the array at `ptr`. The array at `ptr` must remain valid * until the array is sent as part of a Tightbeam message. * * This method should only be used on the caller side of a Tightbeam * method. It is invalid to assign unowned contents to `val` * and subsequently return `val` from a method invocation. */ TB_NOEXPORT void exclavesmessagebyte__v_assign_unowned(exclavesmessagebyte_v_s *_Nonnull val, exclavesmessagequeuetypes_exclavesmessagebyte_s *__counted_by(count) ptr, size_t count); /*! * @function exclavesmessagebyte__v_copyout * @brief Copy the content out of variable length array of `ExclavesMessageQueueTypes.ExclavesMessageByte (aka. UInt8)` * @internal * * @discussion * Copies the contents of `val` to the memory pointed to by `out`. * If the contents of `val` contains `count` items or greater, * then the first `count` items will be copied to `out`. * * If the contents of `val` does not contain at least `count` * items, then TB_ERROR_USER_FAILURE is returned and no data * is copied. */ TB_NOEXPORT tb_error_t exclavesmessagebyte__v_copyout(const exclavesmessagebyte_v_s *_Nonnull val, exclavesmessagequeuetypes_exclavesmessagebyte_s *__counted_by(count) out, size_t count); /*! * @typedef exclavesmessagequeuetypes_exmessage_bytes_s * @brief Associated data for `ExclavesMessageQueueTypes.EXMessage.bytes` * @internal */ typedef struct { exclavesmessagebyte_v_s field0; } exclavesmessagequeuetypes_exmessage_bytes_s; /*! * @typedef exclavesmessagequeuetypes_exmessage_bufferid_s * @brief Associated data for `ExclavesMessageQueueTypes.EXMessage.bufferId` * @internal */ typedef struct { uint64_t field0; } exclavesmessagequeuetypes_exmessage_bufferid_s; /*! * @typedef exclavesmessagequeuetypes_exmessage__tag_s * @brief Tag descriminator for the `ExclavesMessageQueueTypes.EXMessage` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclavesmessagequeuetypes_exmessage__tag_s : uint64_t { EXCLAVESMESSAGEQUEUETYPES_EXMESSAGE__BYTES = 0x53744b747a5465dULL, EXCLAVESMESSAGEQUEUETYPES_EXMESSAGE__BUFFERID = 0xeba6dc44c113c95ULL, } exclavesmessagequeuetypes_exmessage__tag_s; /*! * @typedef exclavesmessagequeuetypes_exmessage_s * @brief Declaration for the `ExclavesMessageQueueTypes.EXMessage` enumeration * @internal */ typedef struct exclavesmessagequeuetypes_exmessage_s { exclavesmessagequeuetypes_exmessage__tag_s tag; union { exclavesmessagequeuetypes_exmessage_bytes_s bytes; exclavesmessagequeuetypes_exmessage_bufferid_s bufferId; } values; } exclavesmessagequeuetypes_exmessage_s; /*! * @function exclavesmessagequeuetypes_exmessage_bytes__get * @brief Accessor for `ExclavesMessageQueueTypes.EXMessage.bytes` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `ExclavesMessageQueueTypes.EXMessage.bytes` enumeration * variant. Otherwise, returns `NULL` */ TB_NOEXPORT const exclavesmessagequeuetypes_exmessage_bytes_s TB_UNUSED *_Nullable exclavesmessagequeuetypes_exmessage_bytes__get(const exclavesmessagequeuetypes_exmessage_s *_Nonnull en); /*! * @function exclavesmessagequeuetypes_exmessage_bufferid__get * @brief Accessor for `ExclavesMessageQueueTypes.EXMessage.bufferId` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `ExclavesMessageQueueTypes.EXMessage.bufferId` enumeration * variant. Otherwise, returns `NULL` */ TB_NOEXPORT const exclavesmessagequeuetypes_exmessage_bufferid_s TB_UNUSED *_Nullable exclavesmessagequeuetypes_exmessage_bufferid__get(const exclavesmessagequeuetypes_exmessage_s *_Nonnull en); /*! * @function exclavesmessagequeuetypes_exmessage_bytes__init * @brief Initializer for `ExclavesMessageQueueTypes.EXMessage.bytes` * @internal * * @discussion * Initializes `en` to contain a `ExclavesMessageQueueTypes.EXMessage.bytes` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void exclavesmessagequeuetypes_exmessage_bytes__init(exclavesmessagequeuetypes_exmessage_s *_Nonnull en, exclavesmessagequeuetypes_exmessage_bytes_s val); /*! * @function exclavesmessagequeuetypes_exmessage_bufferid__init * @brief Initializer for `ExclavesMessageQueueTypes.EXMessage.bufferId` * @internal * * @discussion * Initializes `en` to contain a `ExclavesMessageQueueTypes.EXMessage.bufferId` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void exclavesmessagequeuetypes_exmessage_bufferid__init(exclavesmessagequeuetypes_exmessage_s *_Nonnull en, exclavesmessagequeuetypes_exmessage_bufferid_s val); /*! * @typedef exclavesmessagequeuetypes_serviceidentifier_s * @brief Declaration of the `ExclavesMessageQueueTypes.ServiceIdentifier` enumeration * @internal */ typedef enum exclavesmessagequeuetypes_serviceidentifier_s : uint64_t { EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_INVALID = 0ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_PSWRITER = 100ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_TEST1 = 101ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE1 = 102ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE2 = 103ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE3 = 104ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE4 = 105ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE5 = 106ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE6 = 107ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE7 = 108ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE8 = 109ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICEIDENTIFIER_SERVICE9 = 110ULL, } exclavesmessagequeuetypes_serviceidentifier_s; /*! * @typedef exclavesmessagequeuetypes_sourceidentifier_s * @brief Declaration of the `ExclavesMessageQueueTypes.SourceIdentifier` enumeration * @internal */ typedef enum exclavesmessagequeuetypes_sourceidentifier_s : uint64_t { EXCLAVESMESSAGEQUEUETYPES_SOURCEIDENTIFIER_LEFTCAMERA = 1ULL, EXCLAVESMESSAGEQUEUETYPES_SOURCEIDENTIFIER_RIGHTCAMERA = 2ULL, EXCLAVESMESSAGEQUEUETYPES_SOURCEIDENTIFIER_LEFTMIC = 3ULL, EXCLAVESMESSAGEQUEUETYPES_SOURCEIDENTIFIER_RIGHTMIC = 4ULL, EXCLAVESMESSAGEQUEUETYPES_SOURCEIDENTIFIER_IMU = 5ULL, } exclavesmessagequeuetypes_sourceidentifier_s; /*! * @typedef exclavesmessagequeuetypes_workerinfo_count_s * @brief Associated data for `ExclavesMessageQueueTypes.WorkerInfo.count` * @internal */ typedef struct { uint8_t field0; } exclavesmessagequeuetypes_workerinfo_count_s; /*! * @typedef exclavesmessagequeuetypes_workerinfo__tag_s * @brief Tag descriminator for the `ExclavesMessageQueueTypes.WorkerInfo` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclavesmessagequeuetypes_workerinfo__tag_s : uint64_t { EXCLAVESMESSAGEQUEUETYPES_WORKERINFO__COUNT = 0x1f94151b3e9e70e7ULL, } exclavesmessagequeuetypes_workerinfo__tag_s; /*! * @typedef exclavesmessagequeuetypes_workerinfo_s * @brief Declaration for the `ExclavesMessageQueueTypes.WorkerInfo` enumeration * @internal */ typedef struct exclavesmessagequeuetypes_workerinfo_s { exclavesmessagequeuetypes_workerinfo__tag_s tag; union { exclavesmessagequeuetypes_workerinfo_count_s count; } values; } exclavesmessagequeuetypes_workerinfo_s; /*! * @function exclavesmessagequeuetypes_workerinfo_count__get * @brief Accessor for `ExclavesMessageQueueTypes.WorkerInfo.count` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `ExclavesMessageQueueTypes.WorkerInfo.count` enumeration * variant. Otherwise, returns `NULL` */ TB_NOEXPORT const exclavesmessagequeuetypes_workerinfo_count_s TB_UNUSED *_Nullable exclavesmessagequeuetypes_workerinfo_count__get(const exclavesmessagequeuetypes_workerinfo_s *_Nonnull en); /*! * @function exclavesmessagequeuetypes_workerinfo_count__init * @brief Initializer for `ExclavesMessageQueueTypes.WorkerInfo.count` * @internal * * @discussion * Initializes `en` to contain a `ExclavesMessageQueueTypes.WorkerInfo.count` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void exclavesmessagequeuetypes_workerinfo_count__init(exclavesmessagequeuetypes_workerinfo_s *_Nonnull en, exclavesmessagequeuetypes_workerinfo_count_s val); /*! * @typedef exclavesmessagequeuetypes_serviceschedulingcategory_s * @brief Declaration of the `ExclavesMessageQueueTypes.ServiceSchedulingCategory` enumeration * @internal */ typedef enum exclavesmessagequeuetypes_serviceschedulingcategory_s : uint64_t { EXCLAVESMESSAGEQUEUETYPES_SERVICESCHEDULINGCATEGORY_PASSIVE = 0ULL, EXCLAVESMESSAGEQUEUETYPES_SERVICESCHEDULINGCATEGORY_ACTIVE = 1ULL, } exclavesmessagequeuetypes_serviceschedulingcategory_s; /*! * @typedef exclavesmessagequeuetypes_serviceinfo_s * @brief Declaration of the `ExclavesMessageQueueTypes.ServiceInfo` struct * @internal */ typedef TB_UNUSED struct exclavesmessagequeuetypes_serviceinfo_s { exclavesmessagequeuetypes_serviceidentifier_s id; exclavesmessagequeuetypes_serviceschedulingcategory_s schedulingcategory; exclavesmessagequeuetypes_workerinfo_s workerinfo; } exclavesmessagequeuetypes_serviceinfo_s; /*! * @function exclavesmessagequeuetypes_serviceinfo__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `ExclavesMessageQueueTypes.ServiceInfo`" * @internal */ TB_NOEXPORT size_t exclavesmessagequeuetypes_serviceinfo__marshal_sizeof(const exclavesmessagequeuetypes_serviceinfo_s *_Nonnull value); /*! * @function exclavesmessagequeuetypes_serviceinfo__marshal * @brief Encode `ExclavesMessageQueueTypes.ServiceInfo` into target buffer * @internal * * @discussion * Encode a `ExclavesMessageQueueTypes.ServiceInfo` instance * into a binary form written to `buffer` such that it can be * decoded by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t exclavesmessagequeuetypes_serviceinfo__marshal(const exclavesmessagequeuetypes_serviceinfo_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function exclavesmessagequeuetypes_serviceinfo__unmarshal * @brief Decode `ExclavesMessageQueueTypes.ServiceInfo` from a buffer * @internal * * @discussion * Decode a `ExclavesMessageQueueTypes.ServiceInfo` structure, * given binary data written into `buffer` by the corresponding * marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t exclavesmessagequeuetypes_serviceinfo__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(exclavesmessagequeuetypes_serviceinfo_s)); /*! * @typedef exclavesmessagequeueproxy_conclaveid_s * @brief Type alias definition for `ExclavesMessageQueueProxy.ConclaveId` * @internal */ typedef uint64_t exclavesmessagequeueproxy_conclaveid_s; /*! * @typedef exclavesmessagequeueproxy_proxyerror__tag_s * @brief Tag descriminator for the `ExclavesMessageQueueProxy.ProxyError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclavesmessagequeueproxy_proxyerror__tag_s : uint64_t { EXCLAVESMESSAGEQUEUEPROXY_PROXYERROR__MISSINGSERVICE = 0xf66330803b6879faULL, } exclavesmessagequeueproxy_proxyerror__tag_s; /*! * @typedef exclavesmessagequeueproxy_proxyerror_s * @brief Declaration for the `ExclavesMessageQueueProxy.ProxyError` enumeration * @internal */ typedef struct exclavesmessagequeueproxy_proxyerror_s { exclavesmessagequeueproxy_proxyerror__tag_s tag; } exclavesmessagequeueproxy_proxyerror_s; /*! * @function exclavesmessagequeueproxy_proxyerror_missingservice__get * @brief Accessor for `ExclavesMessageQueueProxy.ProxyError.missingService` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclavesMessageQueueProxy.ProxyError.missingService` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclavesmessagequeueproxy_proxyerror_missingservice__get(const exclavesmessagequeueproxy_proxyerror_s *_Nonnull en); /*! * @function exclavesmessagequeueproxy_proxyerror_missingservice__init * @brief Initializer for `ExclavesMessageQueueProxy.ProxyError.missingService` * @internal * * @discussion * Initializes `en` to contain a `ExclavesMessageQueueProxy.ProxyError.missingService` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclavesmessagequeueproxy_proxyerror_missingservice__init(exclavesmessagequeueproxy_proxyerror_s *_Nonnull en); /*! * @typedef exclavesmessagequeueproxy_workinfo_conclavework_s * @brief Associated data for `ExclavesMessageQueueProxy.WorkInfo.conclaveWork` * @internal */ typedef struct { exclavesmessagequeueproxy_conclaveid_s field0; } exclavesmessagequeueproxy_workinfo_conclavework_s; /*! * @typedef exclavesmessagequeueproxy_workinfo__tag_s * @brief Tag descriminator for the `ExclavesMessageQueueProxy.WorkInfo` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclavesmessagequeueproxy_workinfo__tag_s : uint64_t { EXCLAVESMESSAGEQUEUEPROXY_WORKINFO__CONCLAVEWORK = 0x9122796b7794d365ULL, } exclavesmessagequeueproxy_workinfo__tag_s; /*! * @typedef exclavesmessagequeueproxy_workinfo_s * @brief Declaration for the `ExclavesMessageQueueProxy.WorkInfo` enumeration * @internal */ typedef struct exclavesmessagequeueproxy_workinfo_s { exclavesmessagequeueproxy_workinfo__tag_s tag; union { exclavesmessagequeueproxy_workinfo_conclavework_s conclaveWork; } values; } exclavesmessagequeueproxy_workinfo_s; /*! * @function exclavesmessagequeueproxy_workinfo_conclavework__get * @brief Accessor for `ExclavesMessageQueueProxy.WorkInfo.conclaveWork` * @internal * * @discussion * Returns a non-`NULL` pointer if the contents of `en` represents * a `ExclavesMessageQueueProxy.WorkInfo.conclaveWork` enumeration * variant. Otherwise, returns `NULL` */ TB_NOEXPORT const exclavesmessagequeueproxy_workinfo_conclavework_s TB_UNUSED *_Nullable exclavesmessagequeueproxy_workinfo_conclavework__get(const exclavesmessagequeueproxy_workinfo_s *_Nonnull en); /*! * @function exclavesmessagequeueproxy_workinfo_conclavework__init * @brief Initializer for `ExclavesMessageQueueProxy.WorkInfo.conclaveWork` * @internal * * @discussion * Initializes `en` to contain a `ExclavesMessageQueueProxy.WorkInfo.conclaveWork` * enumeration variant along with the value `val`. */ TB_NOEXPORT TB_UNUSED void exclavesmessagequeueproxy_workinfo_conclavework__init(exclavesmessagequeueproxy_workinfo_s *_Nonnull en, exclavesmessagequeueproxy_workinfo_conclavework_s val); /*! * @typedef workercount__opt_s * @brief Representation of an optional `ExclavesMessageQueueTypes.WorkerCount (aka. UInt8)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct workercount__opt_s { bool has_value; exclavesmessagequeuetypes_workercount_s value; } workercount__opt_s; /*! * @function workercount__opt_get * @brief Accessor for an optional `ExclavesMessageQueueTypes.WorkerCount (aka. UInt8)` * @internal * * @discussion * This function returns a non-NULL pointer if the optional value * `opt` contained a valid value. Otherwise, it returns `NULL`. */ TB_NOEXPORT TB_UNUSED exclavesmessagequeuetypes_workercount_s *_Nullable workercount__opt_get(workercount__opt_s *_Nonnull opt); /*! * @function workercount__opt_init * @brief Initializer for an optional `ExclavesMessageQueueTypes.WorkerCount (aka. UInt8)` * @internal * * @discussion * This function initializes an optional `ExclavesMessageQueueTypes.WorkerCount * (aka. UInt8)` if `value` is non-NULL. Otherwise, the optional * value is marked as vacant. */ TB_NOEXPORT TB_UNUSED void workercount__opt_init(workercount__opt_s *_Nonnull opt, uint8_t *_Nullable value); /*! * @typedef exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s * @brief Result structure for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s { uint8_t tag; union { exclavesmessagequeueproxy_proxyerror_s failure; exclavesmessagequeuetypes_serviceinfo_s success; } value; } exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s; /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_get_success * @brief Accessor for the success return type of `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclavesmessagequeuetypes_serviceinfo_s *_Nullable exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_get_success(exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s *_Nonnull result); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_get_failure * @brief Accessor for the failure return type of `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclavesmessagequeueproxy_proxyerror_s *_Nullable exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_get_failure(exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s *_Nonnull result); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_init_success * @brief Initialize a return structure for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * @internal * * @discussion * Initializes a return value for a call to `serviceInfo(serviceId:)`, * indicating the call was successful and returns an associated * `ExclavesMessageQueueTypes.ServiceInfo` value. * * An initialized result type should be passed to the completion * handler provided to a `serviceInfo(serviceId:)` method handler. */ TB_NOEXPORT void exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_init_success(exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s *_Nonnull result, exclavesmessagequeuetypes_serviceinfo_s value); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_init_failure * @brief Initialize a return structure for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * @internal * * @discussion * Initializes a return value for a call to `serviceInfo(serviceId:)`, * indicating the call failed and returns an associated `ExclavesMessageQueueProxy.ProxyError` * value. * * An initialized result type should be passed to the completion * handler provided to a `serviceInfo(serviceId:)` method handler. */ TB_NOEXPORT void exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_init_failure(exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s *_Nonnull result, exclavesmessagequeueproxy_proxyerror_s value); /*! * @typedef exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s * @brief Result structure for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s { uint8_t tag; union { exclavesmessagequeueproxy_proxyerror_s failure; exclavesmessagequeuetypes_workercount_s success; } value; } exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s; /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_get_success * @brief Accessor for the success return type of `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclavesmessagequeuetypes_workercount_s *_Nullable exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_get_success(exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s *_Nonnull result); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_get_failure * @brief Accessor for the failure return type of `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclavesmessagequeueproxy_proxyerror_s *_Nullable exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_get_failure(exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s *_Nonnull result); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_init_success * @brief Initialize a return structure for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * @internal * * @discussion * Initializes a return value for a call to `setup(serviceId:)`, * indicating the call was successful and returns an associated * `ExclavesMessageQueueTypes.WorkerCount (aka. UInt8)` value. * * An initialized result type should be passed to the completion * handler provided to a `setup(serviceId:)` method handler. */ TB_NOEXPORT void exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_init_success(exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s *_Nonnull result, exclavesmessagequeuetypes_workercount_s value); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_init_failure * @brief Initialize a return structure for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * @internal * * @discussion * Initializes a return value for a call to `setup(serviceId:)`, * indicating the call failed and returns an associated `ExclavesMessageQueueProxy.ProxyError` * value. * * An initialized result type should be passed to the completion * handler provided to a `setup(serviceId:)` method handler. */ TB_NOEXPORT void exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_init_failure(exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s *_Nonnull result, exclavesmessagequeueproxy_proxyerror_s value); /*! * @typedef exclavesmessagequeueproxy_exclavesmessagequeueproxy_s * @brief Client connection handle for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavesmessagequeueproxy_exclavesmessagequeueproxy_s { tb_client_connection_t connection; } exclavesmessagequeueproxy_exclavesmessagequeueproxy_s; /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup * @brief Invokes the `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup(const exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client, const exclavesmessagequeuetypes_serviceidentifier_s serviceId, void (^ result)(exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s)); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo * @brief Invokes the `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo(const exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client, const exclavesmessagequeuetypes_serviceidentifier_s serviceId, void (^ result)(exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s)); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_messagedeliver * @brief Invokes the `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.messageDeliver(serviceId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy_messagedeliver(const exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client, const exclavesmessagequeuetypes_serviceidentifier_s serviceId, void (^ result)(workercount__opt_s)); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_workerinvoke * @brief Invokes the `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.workerInvoke(serviceId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy_workerinvoke(const exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client, const exclavesmessagequeuetypes_serviceidentifier_s serviceId); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy_teardown * @brief Invokes the `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.teardown(serviceId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy_teardown(const exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client, const exclavesmessagequeuetypes_serviceidentifier_s serviceId); /*! * @typedef exclavesmessagequeueproxy_exclavesmessagequeueproxy__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy__init(exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef exclavesmessagequeueproxy_exclavesmessagequeueproxy__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy__init_static(exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void exclavesmessagequeueproxy_exclavesmessagequeueproxy__copy(const exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull src, exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull dst); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void exclavesmessagequeueproxy_exclavesmessagequeueproxy__destruct(exclavesmessagequeueproxy_exclavesmessagequeueproxy_s *_Nonnull client); /*! * @typedef exclavesmessagequeueproxy_exclavesmessagequeueproxy__service_s * @brief Service connection handle for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavesmessagequeueproxy_exclavesmessagequeueproxy__service_s { tb_service_connection_t connection; } exclavesmessagequeueproxy_exclavesmessagequeueproxy__service_s; /*! * @typedef exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_s * @brief Method callback blocks for handling `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_s { /*! * @field setup * @brief Method handler for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.setup(serviceId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ setup)(const exclavesmessagequeuetypes_serviceidentifier_s serviceId, tb_error_t (^ completion)(exclavesmessagequeueproxy_exclavesmessagequeueproxy_setup__result_s)); /*! * @field serviceinfo * @brief Method handler for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.serviceInfo(serviceId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ serviceinfo)(const exclavesmessagequeuetypes_serviceidentifier_s serviceId, tb_error_t (^ completion)(exclavesmessagequeueproxy_exclavesmessagequeueproxy_serviceinfo__result_s)); /*! * @field messagedeliver * @brief Method handler for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.messageDeliver(serviceId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ messagedeliver)(const exclavesmessagequeuetypes_serviceidentifier_s serviceId, tb_error_t (^ completion)(workercount__opt_s)); /*! * @field workerinvoke * @brief Method handler for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.workerInvoke(serviceId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ workerinvoke)(const exclavesmessagequeuetypes_serviceidentifier_s serviceId, tb_error_t (^ completion)(void)); /*! * @field teardown * @brief Method handler for `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy.teardown(serviceId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ teardown)(const exclavesmessagequeuetypes_serviceidentifier_s serviceId, tb_error_t (^ completion)(void)); } exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_s; /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_start * @brief Server start method for the `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_start(tb_endpoint_t ep, const exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_s *_Nonnull server); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_start_owned * @brief Server start method for the `ExclavesMessageQueueProxy.ExclavesMessageQueueProxy` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_start_owned(tb_endpoint_t ep, exclavesmessagequeueproxy_exclavesmessagequeueproxy__service_s *_Nonnull service, const exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_s *_Nonnull server); /*! * @function exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void exclavesmessagequeueproxy_exclavesmessagequeueproxy__server_stop(exclavesmessagequeueproxy_exclavesmessagequeueproxy__service_s *_Nonnull service); /*! * @typedef conclave_launcher_conclavelauncherfailure_s * @brief Declaration of the `conclave_launcher.ConclaveLauncherFailure` enumeration * @internal */ typedef enum conclave_launcher_conclavelauncherfailure_s : uint32_t { CONCLAVE_LAUNCHER_CONCLAVELAUNCHERFAILURE_MISSINGCONCLAVE = 1, CONCLAVE_LAUNCHER_CONCLAVELAUNCHERFAILURE_CONCLAVENOTRUNNING = 2, CONCLAVE_LAUNCHER_CONCLAVELAUNCHERFAILURE_INVALIDSTATE = 3, } conclave_launcher_conclavelauncherfailure_s; /*! * @typedef conclave_launcher_conclavestatus_s * @brief Declaration of the `conclave_launcher.ConclaveStatus` enumeration * @internal */ typedef enum conclave_launcher_conclavestatus_s : uint32_t { CONCLAVE_LAUNCHER_CONCLAVESTATUS_RUNNING = 1, CONCLAVE_LAUNCHER_CONCLAVESTATUS_EXITED = 2, CONCLAVE_LAUNCHER_CONCLAVESTATUS_CRASHED = 3, CONCLAVE_LAUNCHER_CONCLAVESTATUS_KILLED = 4, CONCLAVE_LAUNCHER_CONCLAVESTATUS_NOTBOOTED = 5, CONCLAVE_LAUNCHER_CONCLAVESTATUS_SUSPENDED = 6, } conclave_launcher_conclavestatus_s; /*! * @typedef conclave_launcher_conclavestopreason_s * @brief Declaration of the `conclave_launcher.ConclaveStopReason` enumeration * @internal */ typedef enum conclave_launcher_conclavestopreason_s : uint32_t { CONCLAVE_LAUNCHER_CONCLAVESTOPREASON_EXIT = 1, CONCLAVE_LAUNCHER_CONCLAVESTOPREASON_KILLED = 2, CONCLAVE_LAUNCHER_CONCLAVESTOPREASON_JETSAMMED = 3, CONCLAVE_LAUNCHER_CONCLAVESTOPREASON_SHUTDOWN = 4, } conclave_launcher_conclavestopreason_s; /*! * @typedef conclave_launcher_conclavedebuginfo_s * @brief Declaration of the `conclave_launcher.ConclaveDebugInfo` struct * @internal */ typedef TB_UNUSED struct conclave_launcher_conclavedebuginfo_s { uint8_t conclaveuuid[16ULL]; } conclave_launcher_conclavedebuginfo_s; /*! * @function conclave_launcher_conclavedebuginfo__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `conclave_launcher.ConclaveDebugInfo`" * @internal */ TB_NOEXPORT size_t conclave_launcher_conclavedebuginfo__marshal_sizeof(const conclave_launcher_conclavedebuginfo_s *_Nonnull value); /*! * @function conclave_launcher_conclavedebuginfo__marshal * @brief Encode `conclave_launcher.ConclaveDebugInfo` into target buffer * @internal * * @discussion * Encode a `conclave_launcher.ConclaveDebugInfo` instance into * a binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavedebuginfo__marshal(const conclave_launcher_conclavedebuginfo_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function conclave_launcher_conclavedebuginfo__unmarshal * @brief Decode `conclave_launcher.ConclaveDebugInfo` from a buffer * @internal * * @discussion * Decode a `conclave_launcher.ConclaveDebugInfo` structure, * given binary data written into `buffer` by the corresponding * marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavedebuginfo__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(conclave_launcher_conclavedebuginfo_s)); /*! * @typedef conclave_launcher_conclavecontrol_suspend__result_s * @brief Result structure for `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavecontrol_suspend__result_s { uint8_t tag; union { conclave_launcher_conclavelauncherfailure_s failure; conclave_launcher_conclavestatus_s success; } value; } conclave_launcher_conclavecontrol_suspend__result_s; /*! * @function conclave_launcher_conclavecontrol_suspend__result_get_success * @brief Accessor for the success return type of `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavestatus_s *_Nullable conclave_launcher_conclavecontrol_suspend__result_get_success(conclave_launcher_conclavecontrol_suspend__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_suspend__result_get_failure * @brief Accessor for the failure return type of `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavelauncherfailure_s *_Nullable conclave_launcher_conclavecontrol_suspend__result_get_failure(conclave_launcher_conclavecontrol_suspend__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_suspend__result_init_success * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * @internal * * @discussion * Initializes a return value for a call to `suspend(set_suspend_state:)`, * indicating the call was successful and returns an associated * `conclave_launcher.ConclaveStatus` value. * * An initialized result type should be passed to the completion * handler provided to a `suspend(set_suspend_state:)` method * handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_suspend__result_init_success(conclave_launcher_conclavecontrol_suspend__result_s *_Nonnull result, conclave_launcher_conclavestatus_s value); /*! * @function conclave_launcher_conclavecontrol_suspend__result_init_failure * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * @internal * * @discussion * Initializes a return value for a call to `suspend(set_suspend_state:)`, * indicating the call failed and returns an associated `conclave_launcher.ConclaveLauncherFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `suspend(set_suspend_state:)` method * handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_suspend__result_init_failure(conclave_launcher_conclavecontrol_suspend__result_s *_Nonnull result, conclave_launcher_conclavelauncherfailure_s value); /*! * @typedef conclave_launcher_conclavecontrol_status__result_s * @brief Result structure for `conclave_launcher.ConclaveControl.status()` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavecontrol_status__result_s { uint8_t tag; union { conclave_launcher_conclavelauncherfailure_s failure; conclave_launcher_conclavestatus_s success; } value; } conclave_launcher_conclavecontrol_status__result_s; /*! * @function conclave_launcher_conclavecontrol_status__result_get_success * @brief Accessor for the success return type of `conclave_launcher.ConclaveControl.status()` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `conclave_launcher.ConclaveControl.status()` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavestatus_s *_Nullable conclave_launcher_conclavecontrol_status__result_get_success(conclave_launcher_conclavecontrol_status__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_status__result_get_failure * @brief Accessor for the failure return type of `conclave_launcher.ConclaveControl.status()` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `conclave_launcher.ConclaveControl.status()` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavelauncherfailure_s *_Nullable conclave_launcher_conclavecontrol_status__result_get_failure(conclave_launcher_conclavecontrol_status__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_status__result_init_success * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.status()` * @internal * * @discussion * Initializes a return value for a call to `status()`, indicating * the call was successful and returns an associated `conclave_launcher.ConclaveStatus` * value. * * An initialized result type should be passed to the completion * handler provided to a `status()` method handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_status__result_init_success(conclave_launcher_conclavecontrol_status__result_s *_Nonnull result, conclave_launcher_conclavestatus_s value); /*! * @function conclave_launcher_conclavecontrol_status__result_init_failure * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.status()` * @internal * * @discussion * Initializes a return value for a call to `status()`, indicating * the call failed and returns an associated `conclave_launcher.ConclaveLauncherFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `status()` method handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_status__result_init_failure(conclave_launcher_conclavecontrol_status__result_s *_Nonnull result, conclave_launcher_conclavelauncherfailure_s value); /*! * @typedef conclave_launcher_conclavecontrol_stop__result_s * @brief Result structure for `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavecontrol_stop__result_s { uint8_t tag; union { conclave_launcher_conclavelauncherfailure_s failure; conclave_launcher_conclavestatus_s success; } value; } conclave_launcher_conclavecontrol_stop__result_s; /*! * @function conclave_launcher_conclavecontrol_stop__result_get_success * @brief Accessor for the success return type of `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavestatus_s *_Nullable conclave_launcher_conclavecontrol_stop__result_get_success(conclave_launcher_conclavecontrol_stop__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_stop__result_get_failure * @brief Accessor for the failure return type of `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavelauncherfailure_s *_Nullable conclave_launcher_conclavecontrol_stop__result_get_failure(conclave_launcher_conclavecontrol_stop__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_stop__result_init_success * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * @internal * * @discussion * Initializes a return value for a call to `stop(reason:onHostThread:)`, * indicating the call was successful and returns an associated * `conclave_launcher.ConclaveStatus` value. * * An initialized result type should be passed to the completion * handler provided to a `stop(reason:onHostThread:)` method * handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_stop__result_init_success(conclave_launcher_conclavecontrol_stop__result_s *_Nonnull result, conclave_launcher_conclavestatus_s value); /*! * @function conclave_launcher_conclavecontrol_stop__result_init_failure * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * @internal * * @discussion * Initializes a return value for a call to `stop(reason:onHostThread:)`, * indicating the call failed and returns an associated `conclave_launcher.ConclaveLauncherFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `stop(reason:onHostThread:)` method * handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_stop__result_init_failure(conclave_launcher_conclavecontrol_stop__result_s *_Nonnull result, conclave_launcher_conclavelauncherfailure_s value); /*! * @typedef conclave_launcher_conclavecontrol_launch__result_s * @brief Result structure for `conclave_launcher.ConclaveControl.launch()` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavecontrol_launch__result_s { uint8_t tag; union { conclave_launcher_conclavelauncherfailure_s failure; conclave_launcher_conclavestatus_s success; } value; } conclave_launcher_conclavecontrol_launch__result_s; /*! * @function conclave_launcher_conclavecontrol_launch__result_get_success * @brief Accessor for the success return type of `conclave_launcher.ConclaveControl.launch()` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `conclave_launcher.ConclaveControl.launch()` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavestatus_s *_Nullable conclave_launcher_conclavecontrol_launch__result_get_success(conclave_launcher_conclavecontrol_launch__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_launch__result_get_failure * @brief Accessor for the failure return type of `conclave_launcher.ConclaveControl.launch()` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `conclave_launcher.ConclaveControl.launch()` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavelauncherfailure_s *_Nullable conclave_launcher_conclavecontrol_launch__result_get_failure(conclave_launcher_conclavecontrol_launch__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavecontrol_launch__result_init_success * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.launch()` * @internal * * @discussion * Initializes a return value for a call to `launch()`, indicating * the call was successful and returns an associated `conclave_launcher.ConclaveStatus` * value. * * An initialized result type should be passed to the completion * handler provided to a `launch()` method handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_launch__result_init_success(conclave_launcher_conclavecontrol_launch__result_s *_Nonnull result, conclave_launcher_conclavestatus_s value); /*! * @function conclave_launcher_conclavecontrol_launch__result_init_failure * @brief Initialize a return structure for `conclave_launcher.ConclaveControl.launch()` * @internal * * @discussion * Initializes a return value for a call to `launch()`, indicating * the call failed and returns an associated `conclave_launcher.ConclaveLauncherFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `launch()` method handler. */ TB_NOEXPORT void conclave_launcher_conclavecontrol_launch__result_init_failure(conclave_launcher_conclavecontrol_launch__result_s *_Nonnull result, conclave_launcher_conclavelauncherfailure_s value); /*! * @typedef conclave_launcher_conclavecontrol_s * @brief Client connection handle for `conclave_launcher.ConclaveControl` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavecontrol_s { tb_client_connection_t connection; } conclave_launcher_conclavecontrol_s; /*! * @function conclave_launcher_conclavecontrol_launch * @brief Invokes the `conclave_launcher.ConclaveControl.launch()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol_launch(const conclave_launcher_conclavecontrol_s *_Nonnull client, void (^ result)(conclave_launcher_conclavecontrol_launch__result_s)); /*! * @function conclave_launcher_conclavecontrol_stop * @brief Invokes the `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol_stop(const conclave_launcher_conclavecontrol_s *_Nonnull client, const conclave_launcher_conclavestopreason_s reason, const bool onHostThread, void (^ result)(conclave_launcher_conclavecontrol_stop__result_s)); /*! * @function conclave_launcher_conclavecontrol_status * @brief Invokes the `conclave_launcher.ConclaveControl.status()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol_status(const conclave_launcher_conclavecontrol_s *_Nonnull client, void (^ result)(conclave_launcher_conclavecontrol_status__result_s)); /*! * @function conclave_launcher_conclavecontrol_suspend * @brief Invokes the `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol_suspend(const conclave_launcher_conclavecontrol_s *_Nonnull client, const bool set_suspend_state, void (^ result)(conclave_launcher_conclavecontrol_suspend__result_s)); /*! * @typedef conclave_launcher_conclavecontrol__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol__init(conclave_launcher_conclavecontrol_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef conclave_launcher_conclavecontrol__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol__init_static(conclave_launcher_conclavecontrol_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function conclave_launcher_conclavecontrol__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void conclave_launcher_conclavecontrol__copy(const conclave_launcher_conclavecontrol_s *_Nonnull src, conclave_launcher_conclavecontrol_s *_Nonnull dst); /*! * @function conclave_launcher_conclavecontrol__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void conclave_launcher_conclavecontrol__destruct(conclave_launcher_conclavecontrol_s *_Nonnull client); /*! * @typedef conclave_launcher_conclavecontrol__service_s * @brief Service connection handle for `conclave_launcher.ConclaveControl` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavecontrol__service_s { tb_service_connection_t connection; } conclave_launcher_conclavecontrol__service_s; /*! * @typedef conclave_launcher_conclavecontrol__server_s * @brief Method callback blocks for handling `conclave_launcher.ConclaveControl` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct conclave_launcher_conclavecontrol__server_s { /*! * @field launch * @brief Method handler for `conclave_launcher.ConclaveControl.launch()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ launch)(tb_error_t (^ completion)(conclave_launcher_conclavecontrol_launch__result_s)); /*! * @field stop * @brief Method handler for `conclave_launcher.ConclaveControl.stop(reason:onHostThread:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ stop)(const conclave_launcher_conclavestopreason_s reason, const bool onHostThread, tb_error_t (^ completion)(conclave_launcher_conclavecontrol_stop__result_s)); /*! * @field status * @brief Method handler for `conclave_launcher.ConclaveControl.status()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ status)(tb_error_t (^ completion)(conclave_launcher_conclavecontrol_status__result_s)); /*! * @field suspend * @brief Method handler for `conclave_launcher.ConclaveControl.suspend(set_suspend_state:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ suspend)(const bool set_suspend_state, tb_error_t (^ completion)(conclave_launcher_conclavecontrol_suspend__result_s)); } conclave_launcher_conclavecontrol__server_s; /*! * @function conclave_launcher_conclavecontrol__server_start * @brief Server start method for the `conclave_launcher.ConclaveControl` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol__server_start(tb_endpoint_t ep, const conclave_launcher_conclavecontrol__server_s *_Nonnull server); /*! * @function conclave_launcher_conclavecontrol__server_start_owned * @brief Server start method for the `conclave_launcher.ConclaveControl` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavecontrol__server_start_owned(tb_endpoint_t ep, conclave_launcher_conclavecontrol__service_s *_Nonnull service, const conclave_launcher_conclavecontrol__server_s *_Nonnull server); /*! * @function conclave_launcher_conclavecontrol__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void conclave_launcher_conclavecontrol__server_stop(conclave_launcher_conclavecontrol__service_s *_Nonnull service); /*! * @typedef conclave_launcher_conclavedebug_debuginfo__result_s * @brief Result structure for `conclave_launcher.ConclaveDebug.debugInfo()` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavedebug_debuginfo__result_s { uint8_t tag; union { conclave_launcher_conclavelauncherfailure_s failure; conclave_launcher_conclavedebuginfo_s success; } value; } conclave_launcher_conclavedebug_debuginfo__result_s; /*! * @function conclave_launcher_conclavedebug_debuginfo__result_get_success * @brief Accessor for the success return type of `conclave_launcher.ConclaveDebug.debugInfo()` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `conclave_launcher.ConclaveDebug.debugInfo()` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavedebuginfo_s *_Nullable conclave_launcher_conclavedebug_debuginfo__result_get_success(conclave_launcher_conclavedebug_debuginfo__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavedebug_debuginfo__result_get_failure * @brief Accessor for the failure return type of `conclave_launcher.ConclaveDebug.debugInfo()` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `conclave_launcher.ConclaveDebug.debugInfo()` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT conclave_launcher_conclavelauncherfailure_s *_Nullable conclave_launcher_conclavedebug_debuginfo__result_get_failure(conclave_launcher_conclavedebug_debuginfo__result_s *_Nonnull result); /*! * @function conclave_launcher_conclavedebug_debuginfo__result_init_success * @brief Initialize a return structure for `conclave_launcher.ConclaveDebug.debugInfo()` * @internal * * @discussion * Initializes a return value for a call to `debugInfo()`, indicating * the call was successful and returns an associated `conclave_launcher.ConclaveDebugInfo` * value. * * An initialized result type should be passed to the completion * handler provided to a `debugInfo()` method handler. */ TB_NOEXPORT void conclave_launcher_conclavedebug_debuginfo__result_init_success(conclave_launcher_conclavedebug_debuginfo__result_s *_Nonnull result, conclave_launcher_conclavedebuginfo_s value); /*! * @function conclave_launcher_conclavedebug_debuginfo__result_init_failure * @brief Initialize a return structure for `conclave_launcher.ConclaveDebug.debugInfo()` * @internal * * @discussion * Initializes a return value for a call to `debugInfo()`, indicating * the call failed and returns an associated `conclave_launcher.ConclaveLauncherFailure` * value. * * An initialized result type should be passed to the completion * handler provided to a `debugInfo()` method handler. */ TB_NOEXPORT void conclave_launcher_conclavedebug_debuginfo__result_init_failure(conclave_launcher_conclavedebug_debuginfo__result_s *_Nonnull result, conclave_launcher_conclavelauncherfailure_s value); /*! * @typedef conclave_launcher_conclavedebug_s * @brief Client connection handle for `conclave_launcher.ConclaveDebug` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavedebug_s { tb_client_connection_t connection; } conclave_launcher_conclavedebug_s; /*! * @function conclave_launcher_conclavedebug_debuginfo * @brief Invokes the `conclave_launcher.ConclaveDebug.debugInfo()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t conclave_launcher_conclavedebug_debuginfo(const conclave_launcher_conclavedebug_s *_Nonnull client, void (^ result)(conclave_launcher_conclavedebug_debuginfo__result_s)); /*! * @typedef conclave_launcher_conclavedebug__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavedebug__init(conclave_launcher_conclavedebug_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef conclave_launcher_conclavedebug__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavedebug__init_static(conclave_launcher_conclavedebug_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function conclave_launcher_conclavedebug__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void conclave_launcher_conclavedebug__copy(const conclave_launcher_conclavedebug_s *_Nonnull src, conclave_launcher_conclavedebug_s *_Nonnull dst); /*! * @function conclave_launcher_conclavedebug__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void conclave_launcher_conclavedebug__destruct(conclave_launcher_conclavedebug_s *_Nonnull client); /*! * @typedef conclave_launcher_conclavedebug__service_s * @brief Service connection handle for `conclave_launcher.ConclaveDebug` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct conclave_launcher_conclavedebug__service_s { tb_service_connection_t connection; } conclave_launcher_conclavedebug__service_s; /*! * @typedef conclave_launcher_conclavedebug__server_s * @brief Method callback blocks for handling `conclave_launcher.ConclaveDebug` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct conclave_launcher_conclavedebug__server_s { /*! * @field debuginfo * @brief Method handler for `conclave_launcher.ConclaveDebug.debugInfo()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ debuginfo)(tb_error_t (^ completion)(conclave_launcher_conclavedebug_debuginfo__result_s)); } conclave_launcher_conclavedebug__server_s; /*! * @function conclave_launcher_conclavedebug__server_start * @brief Server start method for the `conclave_launcher.ConclaveDebug` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavedebug__server_start(tb_endpoint_t ep, const conclave_launcher_conclavedebug__server_s *_Nonnull server); /*! * @function conclave_launcher_conclavedebug__server_start_owned * @brief Server start method for the `conclave_launcher.ConclaveDebug` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t conclave_launcher_conclavedebug__server_start_owned(tb_endpoint_t ep, conclave_launcher_conclavedebug__service_s *_Nonnull service, const conclave_launcher_conclavedebug__server_s *_Nonnull server); /*! * @function conclave_launcher_conclavedebug__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void conclave_launcher_conclavedebug__server_stop(conclave_launcher_conclavedebug__service_s *_Nonnull service); /*! * @typedef xnuupcalls_fstag_s * @brief Declaration of the `XnuUpcalls.FSTag` enumeration * @internal */ typedef enum xnuupcalls_fstag_s : uint32_t { XNUUPCALLS_FSTAG_EXCLAVE = 0, XNUUPCALLS_FSTAG_SYSTEM = 1, XNUUPCALLS_FSTAG_EXCLAVE_MAIN = 2, } xnuupcalls_fstag_s; /*! * @typedef xnuupcalls_iodesc_s * @brief Declaration of the `XnuUpcalls.IODesc` struct * @internal */ typedef TB_UNUSED struct xnuupcalls_iodesc_s { uint64_t buf; uint64_t fileoffset; uint64_t length; } xnuupcalls_iodesc_s; /*! * @function xnuupcalls_iodesc__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcalls.IODesc`" * @internal */ TB_NOEXPORT size_t xnuupcalls_iodesc__marshal_sizeof(const xnuupcalls_iodesc_s *_Nonnull value); /*! * @function xnuupcalls_iodesc__marshal * @brief Encode `XnuUpcalls.IODesc` into target buffer * @internal * * @discussion * Encode a `XnuUpcalls.IODesc` instance into a binary form written * to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcalls_iodesc__marshal(const xnuupcalls_iodesc_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcalls_iodesc__unmarshal * @brief Decode `XnuUpcalls.IODesc` from a buffer * @internal * * @discussion * Decode a `XnuUpcalls.IODesc` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcalls_iodesc__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcalls_iodesc_s)); /*! * @typedef xnuupcalls_syncop_s * @brief Declaration of the `XnuUpcalls.SyncOp` enumeration * @internal */ typedef enum xnuupcalls_syncop_s : uint32_t { XNUUPCALLS_SYNCOP_BARRIER = 0, XNUUPCALLS_SYNCOP_FULL = 1, } xnuupcalls_syncop_s; /*! * @typedef xnuupcalls_storageupcallserror_s * @brief Declaration of the `XnuUpcalls.StorageUpcallsError` enumeration * @internal */ typedef enum xnuupcalls_storageupcallserror_s : uint32_t { XNUUPCALLS_STORAGEUPCALLSERROR_SUCCESS = 0, XNUUPCALLS_STORAGEUPCALLSERROR_NOSUCHFILE = 2, XNUUPCALLS_STORAGEUPCALLSERROR_IOERROR = 5, XNUUPCALLS_STORAGEUPCALLSERROR_OUTOFMEMORY = 12, XNUUPCALLS_STORAGEUPCALLSERROR_ACCESSERROR = 13, XNUUPCALLS_STORAGEUPCALLSERROR_INVALIDARG = 22, XNUUPCALLS_STORAGEUPCALLSERROR_NOSPACELEFT = 28, XNUUPCALLS_STORAGEUPCALLSERROR_NOTSUPPORTED = 45, XNUUPCALLS_STORAGEUPCALLSERROR_BUFFERTOOSMALL = 55, XNUUPCALLS_STORAGEUPCALLSERROR_NAMETOOLONG = 63, XNUUPCALLS_STORAGEUPCALLSERROR_UNKNOWN = 9999, } xnuupcalls_storageupcallserror_s; /*! * @typedef xnuupcalls_driverupcallerror_s * @brief Declaration of the `XnuUpcalls.DriverUpcallError` enumeration * @internal */ typedef enum xnuupcalls_driverupcallerror_s : uint32_t { XNUUPCALLS_DRIVERUPCALLERROR_SUCCESS = 0, XNUUPCALLS_DRIVERUPCALLERROR_FAILURE = 1, } xnuupcalls_driverupcallerror_s; /*! * @typedef xnuupcalls_drivertimertype_s * @brief Declaration of the `XnuUpcalls.DriverTimerType` enumeration * @internal */ typedef enum xnuupcalls_drivertimertype_s : uint32_t { XNUUPCALLS_DRIVERTIMERTYPE_ABSOLUTE = 0, XNUUPCALLS_DRIVERTIMERTYPE_CONTINUOUS = 1, } xnuupcalls_drivertimertype_s; /*! * @typedef xnuupcalls_drivertimerspecification_s * @brief Declaration of the `XnuUpcalls.DriverTimerSpecification` struct * @internal */ typedef TB_UNUSED struct xnuupcalls_drivertimerspecification_s { xnuupcalls_drivertimertype_s type; uint32_t tv_sec; uint32_t tv_nsec; } xnuupcalls_drivertimerspecification_s; /*! * @function xnuupcalls_drivertimerspecification__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcalls.DriverTimerSpecification`" * @internal */ TB_NOEXPORT size_t xnuupcalls_drivertimerspecification__marshal_sizeof(const xnuupcalls_drivertimerspecification_s *_Nonnull value); /*! * @function xnuupcalls_drivertimerspecification__marshal * @brief Encode `XnuUpcalls.DriverTimerSpecification` into target buffer * @internal * * @discussion * Encode a `XnuUpcalls.DriverTimerSpecification` instance into * a binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcalls_drivertimerspecification__marshal(const xnuupcalls_drivertimerspecification_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcalls_drivertimerspecification__unmarshal * @brief Decode `XnuUpcalls.DriverTimerSpecification` from a buffer * @internal * * @discussion * Decode a `XnuUpcalls.DriverTimerSpecification` structure, * given binary data written into `buffer` by the corresponding * marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcalls_drivertimerspecification__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcalls_drivertimerspecification_s)); /*! * @typedef xnuupcalls_pagelist_s * @brief Declaration of the `XnuUpcalls.pageList` struct * @internal */ typedef TB_UNUSED struct xnuupcalls_pagelist_s { uint32_t pages[64ULL]; } xnuupcalls_pagelist_s; /*! * @function xnuupcalls_pagelist__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcalls.pageList`" * @internal */ TB_NOEXPORT size_t xnuupcalls_pagelist__marshal_sizeof(const xnuupcalls_pagelist_s *_Nonnull value); /*! * @function xnuupcalls_pagelist__marshal * @brief Encode `XnuUpcalls.pageList` into target buffer * @internal * * @discussion * Encode a `XnuUpcalls.pageList` instance into a binary form * written to `buffer` such that it can be decoded by the corresponding * unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcalls_pagelist__marshal(const xnuupcalls_pagelist_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcalls_pagelist__unmarshal * @brief Decode `XnuUpcalls.pageList` from a buffer * @internal * * @discussion * Decode a `XnuUpcalls.pageList` structure, given binary data * written into `buffer` by the corresponding marshaling function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcalls_pagelist__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcalls_pagelist_s)); /*! * @typedef xnuupcalls_pagekind_s * @brief Declaration of the `XnuUpcalls.PageKind` enumeration * @internal */ typedef enum xnuupcalls_pagekind_s : uint32_t { XNUUPCALLS_PAGEKIND_ROOTDOMAIN = 1, XNUUPCALLS_PAGEKIND_CONCLAVE = 2, } xnuupcalls_pagekind_s; /*! * @typedef xnuupcalls_pageallocflags_s * @brief Declaration of the `XnuUpcalls.PageAllocFlags` enumeration * @internal */ typedef enum xnuupcalls_pageallocflags_s : uint32_t { XNUUPCALLS_PAGEALLOCFLAGS_NONE = (0 << 0), XNUUPCALLS_PAGEALLOCFLAGS_CONCLAVE = (1 << 0), XNUUPCALLS_PAGEALLOCFLAGS_SEC_TRANSITION = (1 << 1), } xnuupcalls_pageallocflags_s; /*! * @typedef xnuupcalls_pagefreeflags_s * @brief Declaration of the `XnuUpcalls.PageFreeFlags` enumeration * @internal */ typedef enum xnuupcalls_pagefreeflags_s : uint32_t { XNUUPCALLS_PAGEFREEFLAGS_NONE = (0 << 0), XNUUPCALLS_PAGEFREEFLAGS_CONCLAVE = (1 << 0), XNUUPCALLS_PAGEFREEFLAGS_SEC_TRANSITION = (1 << 1), } xnuupcalls_pagefreeflags_s; /*! * @typedef xnuupcalls_notificationerror_s * @brief Declaration of the `XnuUpcalls.NotificationError` enumeration * @internal */ typedef enum xnuupcalls_notificationerror_s : uint32_t { XNUUPCALLS_NOTIFICATIONERROR_NOTFOUND = 1, } xnuupcalls_notificationerror_s; /*! * @typedef xnuupcalls_lifecycleerror_s * @brief Declaration of the `XnuUpcalls.LifeCycleError` enumeration * @internal */ typedef enum xnuupcalls_lifecycleerror_s : uint32_t { XNUUPCALLS_LIFECYCLEERROR_FAILURE = 1, XNUUPCALLS_LIFECYCLEERROR_INVALIDTASK = 2, } xnuupcalls_lifecycleerror_s; /*! * @typedef xnuupcalls_conclavescidlist_s * @brief Declaration of the `XnuUpcalls.ConclaveSCIDList` struct * @internal */ typedef TB_UNUSED struct xnuupcalls_conclavescidlist_s { uint64_t scid[32ULL]; } xnuupcalls_conclavescidlist_s; /*! * @function xnuupcalls_conclavescidlist__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcalls.ConclaveSCIDList`" * @internal */ TB_NOEXPORT size_t xnuupcalls_conclavescidlist__marshal_sizeof(const xnuupcalls_conclavescidlist_s *_Nonnull value); /*! * @function xnuupcalls_conclavescidlist__marshal * @brief Encode `XnuUpcalls.ConclaveSCIDList` into target buffer * @internal * * @discussion * Encode a `XnuUpcalls.ConclaveSCIDList` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcalls_conclavescidlist__marshal(const xnuupcalls_conclavescidlist_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcalls_conclavescidlist__unmarshal * @brief Decode `XnuUpcalls.ConclaveSCIDList` from a buffer * @internal * * @discussion * Decode a `XnuUpcalls.ConclaveSCIDList` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcalls_conclavescidlist__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcalls_conclavescidlist_s)); /*! * @typedef xnuupcalls_conclavesharedbuffer_s * @brief Declaration of the `XnuUpcalls.ConclaveSharedBuffer` struct * @internal */ typedef TB_UNUSED struct xnuupcalls_conclavesharedbuffer_s { uint64_t physaddr[2ULL]; } xnuupcalls_conclavesharedbuffer_s; /*! * @function xnuupcalls_conclavesharedbuffer__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `XnuUpcalls.ConclaveSharedBuffer`" * @internal */ TB_NOEXPORT size_t xnuupcalls_conclavesharedbuffer__marshal_sizeof(const xnuupcalls_conclavesharedbuffer_s *_Nonnull value); /*! * @function xnuupcalls_conclavesharedbuffer__marshal * @brief Encode `XnuUpcalls.ConclaveSharedBuffer` into target buffer * @internal * * @discussion * Encode a `XnuUpcalls.ConclaveSharedBuffer` instance into a * binary form written to `buffer` such that it can be decoded * by the corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t xnuupcalls_conclavesharedbuffer__marshal(const xnuupcalls_conclavesharedbuffer_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function xnuupcalls_conclavesharedbuffer__unmarshal * @brief Decode `XnuUpcalls.ConclaveSharedBuffer` from a buffer * @internal * * @discussion * Decode a `XnuUpcalls.ConclaveSharedBuffer` structure, given * binary data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t xnuupcalls_conclavesharedbuffer__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(xnuupcalls_conclavesharedbuffer_s)); /*! * @typedef xnuupcalls_xnuupcalls_conclave_crash_info__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_conclave_crash_info__result_s { uint8_t tag; union { xnuupcalls_lifecycleerror_s failure; } value; } xnuupcalls_xnuupcalls_conclave_crash_info__result_s; /*! * @function xnuupcalls_xnuupcalls_conclave_crash_info__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_conclave_crash_info__result_get_success(xnuupcalls_xnuupcalls_conclave_crash_info__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_crash_info__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_lifecycleerror_s *_Nullable xnuupcalls_xnuupcalls_conclave_crash_info__result_get_failure(xnuupcalls_xnuupcalls_conclave_crash_info__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_crash_info__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * @internal * * @discussion * Initializes a return value for a call to `conclave_crash_info(sharedbuffer:length:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `conclave_crash_info(sharedbuffer:length:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_conclave_crash_info__result_init_success(xnuupcalls_xnuupcalls_conclave_crash_info__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_crash_info__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * @internal * * @discussion * Initializes a return value for a call to `conclave_crash_info(sharedbuffer:length:)`, * indicating the call failed and returns an associated `XnuUpcalls.LifeCycleError` * value. * * An initialized result type should be passed to the completion * handler provided to a `conclave_crash_info(sharedbuffer:length:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_conclave_crash_info__result_init_failure(xnuupcalls_xnuupcalls_conclave_crash_info__result_s *_Nonnull result, xnuupcalls_lifecycleerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_conclave_stop__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_conclave_stop__result_s { uint8_t tag; union { xnuupcalls_lifecycleerror_s failure; } value; } xnuupcalls_xnuupcalls_conclave_stop__result_s; /*! * @function xnuupcalls_xnuupcalls_conclave_stop__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_conclave_stop__result_get_success(xnuupcalls_xnuupcalls_conclave_stop__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_stop__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_lifecycleerror_s *_Nullable xnuupcalls_xnuupcalls_conclave_stop__result_get_failure(xnuupcalls_xnuupcalls_conclave_stop__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_stop__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` * @internal * * @discussion * Initializes a return value for a call to `conclave_stop(flags:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `conclave_stop(flags:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_conclave_stop__result_init_success(xnuupcalls_xnuupcalls_conclave_stop__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_stop__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` * @internal * * @discussion * Initializes a return value for a call to `conclave_stop(flags:)`, * indicating the call failed and returns an associated `XnuUpcalls.LifeCycleError` * value. * * An initialized result type should be passed to the completion * handler provided to a `conclave_stop(flags:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_conclave_stop__result_init_failure(xnuupcalls_xnuupcalls_conclave_stop__result_s *_Nonnull result, xnuupcalls_lifecycleerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_conclave_suspend__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_conclave_suspend__result_s { uint8_t tag; union { xnuupcalls_lifecycleerror_s failure; xnuupcalls_conclavescidlist_s success; } value; } xnuupcalls_xnuupcalls_conclave_suspend__result_s; /*! * @function xnuupcalls_xnuupcalls_conclave_suspend__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_conclavescidlist_s *_Nullable xnuupcalls_xnuupcalls_conclave_suspend__result_get_success(xnuupcalls_xnuupcalls_conclave_suspend__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_suspend__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_lifecycleerror_s *_Nullable xnuupcalls_xnuupcalls_conclave_suspend__result_get_failure(xnuupcalls_xnuupcalls_conclave_suspend__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_conclave_suspend__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * @internal * * @discussion * Initializes a return value for a call to `conclave_suspend(flags:)`, * indicating the call was successful and returns an associated * `XnuUpcalls.ConclaveSCIDList` value. * * An initialized result type should be passed to the completion * handler provided to a `conclave_suspend(flags:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_conclave_suspend__result_init_success(xnuupcalls_xnuupcalls_conclave_suspend__result_s *_Nonnull result, xnuupcalls_conclavescidlist_s value); /*! * @function xnuupcalls_xnuupcalls_conclave_suspend__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * @internal * * @discussion * Initializes a return value for a call to `conclave_suspend(flags:)`, * indicating the call failed and returns an associated `XnuUpcalls.LifeCycleError` * value. * * An initialized result type should be passed to the completion * handler provided to a `conclave_suspend(flags:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_conclave_suspend__result_init_failure(xnuupcalls_xnuupcalls_conclave_suspend__result_s *_Nonnull result, xnuupcalls_lifecycleerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_notification_signal__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_notification_signal__result_s { uint8_t tag; union { xnuupcalls_notificationerror_s failure; } value; } xnuupcalls_xnuupcalls_notification_signal__result_s; /*! * @function xnuupcalls_xnuupcalls_notification_signal__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_notification_signal__result_get_success(xnuupcalls_xnuupcalls_notification_signal__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_notification_signal__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_notificationerror_s *_Nullable xnuupcalls_xnuupcalls_notification_signal__result_get_failure(xnuupcalls_xnuupcalls_notification_signal__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_notification_signal__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * @internal * * @discussion * Initializes a return value for a call to `notification_signal(id:mask:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `notification_signal(id:mask:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_notification_signal__result_init_success(xnuupcalls_xnuupcalls_notification_signal__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_notification_signal__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * @internal * * @discussion * Initializes a return value for a call to `notification_signal(id:mask:)`, * indicating the call failed and returns an associated `XnuUpcalls.NotificationError` * value. * * An initialized result type should be passed to the completion * handler provided to a `notification_signal(id:mask:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_notification_signal__result_init_failure(xnuupcalls_xnuupcalls_notification_signal__result_s *_Nonnull result, xnuupcalls_notificationerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_ane_workend__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_ane_workend__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; bool success; } value; } xnuupcalls_xnuupcalls_ane_workend__result_s; /*! * @function xnuupcalls_xnuupcalls_ane_workend__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcalls_xnuupcalls_ane_workend__result_get_success(xnuupcalls_xnuupcalls_ane_workend__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_workend__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_ane_workend__result_get_failure(xnuupcalls_xnuupcalls_ane_workend__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_workend__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * @internal * * @discussion * Initializes a return value for a call to `ane_workend(id:requestID:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `ane_workend(id:requestID:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_workend__result_init_success(xnuupcalls_xnuupcalls_ane_workend__result_s *_Nonnull result, bool value); /*! * @function xnuupcalls_xnuupcalls_ane_workend__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * @internal * * @discussion * Initializes a return value for a call to `ane_workend(id:requestID:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `ane_workend(id:requestID:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_workend__result_init_failure(xnuupcalls_xnuupcalls_ane_workend__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_ane_workbegin__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_ane_workbegin__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; bool success; } value; } xnuupcalls_xnuupcalls_ane_workbegin__result_s; /*! * @function xnuupcalls_xnuupcalls_ane_workbegin__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcalls_xnuupcalls_ane_workbegin__result_get_success(xnuupcalls_xnuupcalls_ane_workbegin__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_workbegin__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_ane_workbegin__result_get_failure(xnuupcalls_xnuupcalls_ane_workbegin__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_workbegin__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `ane_workbegin(id:requestID:beginTimestamp:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `ane_workbegin(id:requestID:beginTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_workbegin__result_init_success(xnuupcalls_xnuupcalls_ane_workbegin__result_s *_Nonnull result, bool value); /*! * @function xnuupcalls_xnuupcalls_ane_workbegin__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `ane_workbegin(id:requestID:beginTimestamp:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `ane_workbegin(id:requestID:beginTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_workbegin__result_init_failure(xnuupcalls_xnuupcalls_ane_workbegin__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_ane_worksubmit__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_ane_worksubmit__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; bool success; } value; } xnuupcalls_xnuupcalls_ane_worksubmit__result_s; /*! * @function xnuupcalls_xnuupcalls_ane_worksubmit__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcalls_xnuupcalls_ane_worksubmit__result_get_success(xnuupcalls_xnuupcalls_ane_worksubmit__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_worksubmit__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_ane_worksubmit__result_get_failure(xnuupcalls_xnuupcalls_ane_worksubmit__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_worksubmit__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_worksubmit__result_init_success(xnuupcalls_xnuupcalls_ane_worksubmit__result_s *_Nonnull result, bool value); /*! * @function xnuupcalls_xnuupcalls_ane_worksubmit__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * Initializes a return value for a call to `ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_worksubmit__result_init_failure(xnuupcalls_xnuupcalls_ane_worksubmit__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_ane_setpowerstate__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_ane_setpowerstate__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; bool success; } value; } xnuupcalls_xnuupcalls_ane_setpowerstate__result_s; /*! * @function xnuupcalls_xnuupcalls_ane_setpowerstate__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcalls_xnuupcalls_ane_setpowerstate__result_get_success(xnuupcalls_xnuupcalls_ane_setpowerstate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_setpowerstate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_ane_setpowerstate__result_get_failure(xnuupcalls_xnuupcalls_ane_setpowerstate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_ane_setpowerstate__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * @internal * * @discussion * Initializes a return value for a call to `ane_setpowerstate(id:desiredState:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `ane_setpowerstate(id:desiredState:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_setpowerstate__result_init_success(xnuupcalls_xnuupcalls_ane_setpowerstate__result_s *_Nonnull result, bool value); /*! * @function xnuupcalls_xnuupcalls_ane_setpowerstate__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * @internal * * @discussion * Initializes a return value for a call to `ane_setpowerstate(id:desiredState:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `ane_setpowerstate(id:desiredState:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_ane_setpowerstate__result_init_failure(xnuupcalls_xnuupcalls_ane_setpowerstate__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_mapper_deactivate__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_mapper_deactivate__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_mapper_deactivate__result_s; /*! * @function xnuupcalls_xnuupcalls_mapper_deactivate__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_mapper_deactivate__result_get_success(xnuupcalls_xnuupcalls_mapper_deactivate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_mapper_deactivate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_mapper_deactivate__result_get_failure(xnuupcalls_xnuupcalls_mapper_deactivate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_mapper_deactivate__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapper_deactivate(id:mapperIndex:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `mapper_deactivate(id:mapperIndex:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_mapper_deactivate__result_init_success(xnuupcalls_xnuupcalls_mapper_deactivate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_mapper_deactivate__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapper_deactivate(id:mapperIndex:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mapper_deactivate(id:mapperIndex:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_mapper_deactivate__result_init_failure(xnuupcalls_xnuupcalls_mapper_deactivate__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_mapper_activate__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_mapper_activate__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_mapper_activate__result_s; /*! * @function xnuupcalls_xnuupcalls_mapper_activate__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_mapper_activate__result_get_success(xnuupcalls_xnuupcalls_mapper_activate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_mapper_activate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_mapper_activate__result_get_failure(xnuupcalls_xnuupcalls_mapper_activate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_mapper_activate__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapper_activate(id:mapperIndex:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `mapper_activate(id:mapperIndex:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_mapper_activate__result_init_success(xnuupcalls_xnuupcalls_mapper_activate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_mapper_activate__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * @internal * * @discussion * Initializes a return value for a call to `mapper_activate(id:mapperIndex:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `mapper_activate(id:mapperIndex:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_mapper_activate__result_init_failure(xnuupcalls_xnuupcalls_mapper_activate__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_async_notification_signal__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_async_notification_signal__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_async_notification_signal__result_s; /*! * @function xnuupcalls_xnuupcalls_async_notification_signal__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_async_notification_signal__result_get_success(xnuupcalls_xnuupcalls_async_notification_signal__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_async_notification_signal__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_async_notification_signal__result_get_failure(xnuupcalls_xnuupcalls_async_notification_signal__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_async_notification_signal__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * @internal * * @discussion * Initializes a return value for a call to `async_notification_signal(id:notificationId:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `async_notification_signal(id:notificationId:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_async_notification_signal__result_init_success(xnuupcalls_xnuupcalls_async_notification_signal__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_async_notification_signal__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * @internal * * @discussion * Initializes a return value for a call to `async_notification_signal(id:notificationId:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `async_notification_signal(id:notificationId:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_async_notification_signal__result_init_failure(xnuupcalls_xnuupcalls_async_notification_signal__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_unlock_wl__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_unlock_wl__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_unlock_wl__result_s; /*! * @function xnuupcalls_xnuupcalls_unlock_wl__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` and * returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_unlock_wl__result_get_success(xnuupcalls_xnuupcalls_unlock_wl__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_unlock_wl__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` and returns * any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_unlock_wl__result_get_failure(xnuupcalls_xnuupcalls_unlock_wl__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_unlock_wl__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` * @internal * * @discussion * Initializes a return value for a call to `unlock_wl(id:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `unlock_wl(id:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_unlock_wl__result_init_success(xnuupcalls_xnuupcalls_unlock_wl__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_unlock_wl__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` * @internal * * @discussion * Initializes a return value for a call to `unlock_wl(id:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `unlock_wl(id:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_unlock_wl__result_init_failure(xnuupcalls_xnuupcalls_unlock_wl__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_lock_wl__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.lock_wl(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_lock_wl__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_lock_wl__result_s; /*! * @function xnuupcalls_xnuupcalls_lock_wl__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.lock_wl(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.lock_wl(id:)` and returns * any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_lock_wl__result_get_success(xnuupcalls_xnuupcalls_lock_wl__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_lock_wl__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.lock_wl(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.lock_wl(id:)` and returns * any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_lock_wl__result_get_failure(xnuupcalls_xnuupcalls_lock_wl__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_lock_wl__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.lock_wl(id:)` * @internal * * @discussion * Initializes a return value for a call to `lock_wl(id:)`, indicating * the call was successful * * An initialized result type should be passed to the completion * handler provided to a `lock_wl(id:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_lock_wl__result_init_success(xnuupcalls_xnuupcalls_lock_wl__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_lock_wl__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.lock_wl(id:)` * @internal * * @discussion * Initializes a return value for a call to `lock_wl(id:)`, indicating * the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `lock_wl(id:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_lock_wl__result_init_failure(xnuupcalls_xnuupcalls_lock_wl__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s; /*! * @function xnuupcalls_xnuupcalls_timer_cancel_timeout__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_timer_cancel_timeout__result_get_success(xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_cancel_timeout__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_timer_cancel_timeout__result_get_failure(xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_cancel_timeout__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_cancel_timeout(id:timerId:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timer_cancel_timeout(id:timerId:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_cancel_timeout__result_init_success(xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_cancel_timeout__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_cancel_timeout(id:timerId:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timer_cancel_timeout(id:timerId:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_cancel_timeout__result_init_failure(xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_timer_set_timeout__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_timer_set_timeout__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; bool success; } value; } xnuupcalls_xnuupcalls_timer_set_timeout__result_s; /*! * @function xnuupcalls_xnuupcalls_timer_set_timeout__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcalls_xnuupcalls_timer_set_timeout__result_get_success(xnuupcalls_xnuupcalls_timer_set_timeout__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_set_timeout__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_timer_set_timeout__result_get_failure(xnuupcalls_xnuupcalls_timer_set_timeout__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_set_timeout__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * @internal * * @discussion * Initializes a return value for a call to `timer_set_timeout(id:timerId:duration:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `timer_set_timeout(id:timerId:duration:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_set_timeout__result_init_success(xnuupcalls_xnuupcalls_timer_set_timeout__result_s *_Nonnull result, bool value); /*! * @function xnuupcalls_xnuupcalls_timer_set_timeout__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * @internal * * @discussion * Initializes a return value for a call to `timer_set_timeout(id:timerId:duration:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timer_set_timeout(id:timerId:duration:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_set_timeout__result_init_failure(xnuupcalls_xnuupcalls_timer_set_timeout__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_timer_disable__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_timer_disable__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_timer_disable__result_s; /*! * @function xnuupcalls_xnuupcalls_timer_disable__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_timer_disable__result_get_success(xnuupcalls_xnuupcalls_timer_disable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_disable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_timer_disable__result_get_failure(xnuupcalls_xnuupcalls_timer_disable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_disable__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_disable(id:timerId:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timer_disable(id:timerId:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_disable__result_init_success(xnuupcalls_xnuupcalls_timer_disable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_disable__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_disable(id:timerId:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timer_disable(id:timerId:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_disable__result_init_failure(xnuupcalls_xnuupcalls_timer_disable__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_timer_enable__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_timer_enable__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_timer_enable__result_s; /*! * @function xnuupcalls_xnuupcalls_timer_enable__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_timer_enable__result_get_success(xnuupcalls_xnuupcalls_timer_enable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_enable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_timer_enable__result_get_failure(xnuupcalls_xnuupcalls_timer_enable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_enable__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_enable(id:timerId:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timer_enable(id:timerId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_enable__result_init_success(xnuupcalls_xnuupcalls_timer_enable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_enable__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_enable(id:timerId:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timer_enable(id:timerId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_enable__result_init_failure(xnuupcalls_xnuupcalls_timer_enable__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_timer_remove__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_timer_remove__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_timer_remove__result_s; /*! * @function xnuupcalls_xnuupcalls_timer_remove__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_timer_remove__result_get_success(xnuupcalls_xnuupcalls_timer_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_remove__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_timer_remove__result_get_failure(xnuupcalls_xnuupcalls_timer_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_remove__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_remove(id:timerId:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `timer_remove(id:timerId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_remove__result_init_success(xnuupcalls_xnuupcalls_timer_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_remove__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * @internal * * @discussion * Initializes a return value for a call to `timer_remove(id:timerId:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timer_remove(id:timerId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_remove__result_init_failure(xnuupcalls_xnuupcalls_timer_remove__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_timer_register__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.timer_register(id:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_timer_register__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; uint32_t success; } value; } xnuupcalls_xnuupcalls_timer_register__result_s; /*! * @function xnuupcalls_xnuupcalls_timer_register__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.timer_register(id:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.timer_register(id:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint32_t *_Nullable xnuupcalls_xnuupcalls_timer_register__result_get_success(xnuupcalls_xnuupcalls_timer_register__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_register__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.timer_register(id:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.timer_register(id:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_timer_register__result_get_failure(xnuupcalls_xnuupcalls_timer_register__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_timer_register__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_register(id:)` * @internal * * @discussion * Initializes a return value for a call to `timer_register(id:)`, * indicating the call was successful and returns an associated * `UInt32` value. * * An initialized result type should be passed to the completion * handler provided to a `timer_register(id:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_register__result_init_success(xnuupcalls_xnuupcalls_timer_register__result_s *_Nonnull result, uint32_t value); /*! * @function xnuupcalls_xnuupcalls_timer_register__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.timer_register(id:)` * @internal * * @discussion * Initializes a return value for a call to `timer_register(id:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `timer_register(id:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_timer_register__result_init_failure(xnuupcalls_xnuupcalls_timer_register__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_irq_disable__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_irq_disable__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_irq_disable__result_s; /*! * @function xnuupcalls_xnuupcalls_irq_disable__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_irq_disable__result_get_success(xnuupcalls_xnuupcalls_irq_disable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_disable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_irq_disable__result_get_failure(xnuupcalls_xnuupcalls_irq_disable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_disable__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_disable(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irq_disable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_disable__result_init_success(xnuupcalls_xnuupcalls_irq_disable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_disable__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_disable(id:index:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irq_disable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_disable__result_init_failure(xnuupcalls_xnuupcalls_irq_disable__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_irq_enable__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_irq_enable__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_irq_enable__result_s; /*! * @function xnuupcalls_xnuupcalls_irq_enable__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_irq_enable__result_get_success(xnuupcalls_xnuupcalls_irq_enable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_enable__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_irq_enable__result_get_failure(xnuupcalls_xnuupcalls_irq_enable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_enable__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_enable(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irq_enable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_enable__result_init_success(xnuupcalls_xnuupcalls_irq_enable__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_enable__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_enable(id:index:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irq_enable(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_enable__result_init_failure(xnuupcalls_xnuupcalls_irq_enable__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_irq_remove__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_irq_remove__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_irq_remove__result_s; /*! * @function xnuupcalls_xnuupcalls_irq_remove__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_irq_remove__result_get_success(xnuupcalls_xnuupcalls_irq_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_remove__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_irq_remove__result_get_failure(xnuupcalls_xnuupcalls_irq_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_remove__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_remove(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irq_remove(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_remove__result_init_success(xnuupcalls_xnuupcalls_irq_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_remove__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_remove(id:index:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irq_remove(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_remove__result_init_failure(xnuupcalls_xnuupcalls_irq_remove__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_irq_register__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_irq_register__result_s { uint8_t tag; union { xnuupcalls_driverupcallerror_s failure; } value; } xnuupcalls_xnuupcalls_irq_register__result_s; /*! * @function xnuupcalls_xnuupcalls_irq_register__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_irq_register__result_get_success(xnuupcalls_xnuupcalls_irq_register__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_register__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_driverupcallerror_s *_Nullable xnuupcalls_xnuupcalls_irq_register__result_get_failure(xnuupcalls_xnuupcalls_irq_register__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_register__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_register(id:index:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `irq_register(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_register__result_init_success(xnuupcalls_xnuupcalls_irq_register__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_irq_register__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * @internal * * @discussion * Initializes a return value for a call to `irq_register(id:index:)`, * indicating the call failed and returns an associated `XnuUpcalls.DriverUpcallError` * value. * * An initialized result type should be passed to the completion * handler provided to a `irq_register(id:index:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_irq_register__result_init_failure(xnuupcalls_xnuupcalls_irq_register__result_s *_Nonnull result, xnuupcalls_driverupcallerror_s value); /*! * @typedef xnuupcalls_xnuupcalls_sealstate__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_sealstate__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; bool success; } value; } xnuupcalls_xnuupcalls_sealstate__result_s; /*! * @function xnuupcalls_xnuupcalls_sealstate__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT bool *_Nullable xnuupcalls_xnuupcalls_sealstate__result_get_success(xnuupcalls_xnuupcalls_sealstate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_sealstate__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` and returns * any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_sealstate__result_get_failure(xnuupcalls_xnuupcalls_sealstate__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_sealstate__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` * @internal * * @discussion * Initializes a return value for a call to `sealstate(fsTag:)`, * indicating the call was successful and returns an associated * `Bool` value. * * An initialized result type should be passed to the completion * handler provided to a `sealstate(fsTag:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_sealstate__result_init_success(xnuupcalls_xnuupcalls_sealstate__result_s *_Nonnull result, bool value); /*! * @function xnuupcalls_xnuupcalls_sealstate__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` * @internal * * @discussion * Initializes a return value for a call to `sealstate(fsTag:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `sealstate(fsTag:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_sealstate__result_init_failure(xnuupcalls_xnuupcalls_sealstate__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_getsize__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_getsize__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; uint64_t success; } value; } xnuupcalls_xnuupcalls_getsize__result_s; /*! * @function xnuupcalls_xnuupcalls_getsize__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcalls_xnuupcalls_getsize__result_get_success(xnuupcalls_xnuupcalls_getsize__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_getsize__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_getsize__result_get_failure(xnuupcalls_xnuupcalls_getsize__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_getsize__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` * @internal * * @discussion * Initializes a return value for a call to `getsize(fsTag:fileId:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `getsize(fsTag:fileId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_getsize__result_init_success(xnuupcalls_xnuupcalls_getsize__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcalls_xnuupcalls_getsize__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` * @internal * * @discussion * Initializes a return value for a call to `getsize(fsTag:fileId:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `getsize(fsTag:fileId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_getsize__result_init_failure(xnuupcalls_xnuupcalls_getsize__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_readdir__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_readdir__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; uint32_t success; } value; } xnuupcalls_xnuupcalls_readdir__result_s; /*! * @function xnuupcalls_xnuupcalls_readdir__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint32_t *_Nullable xnuupcalls_xnuupcalls_readdir__result_get_success(xnuupcalls_xnuupcalls_readdir__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_readdir__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_readdir__result_get_failure(xnuupcalls_xnuupcalls_readdir__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_readdir__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * @internal * * @discussion * Initializes a return value for a call to `readdir(fsTag:fileId:buf:length:)`, * indicating the call was successful and returns an associated * `UInt32` value. * * An initialized result type should be passed to the completion * handler provided to a `readdir(fsTag:fileId:buf:length:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_readdir__result_init_success(xnuupcalls_xnuupcalls_readdir__result_s *_Nonnull result, uint32_t value); /*! * @function xnuupcalls_xnuupcalls_readdir__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * @internal * * @discussion * Initializes a return value for a call to `readdir(fsTag:fileId:buf:length:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `readdir(fsTag:fileId:buf:length:)` * method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_readdir__result_init_failure(xnuupcalls_xnuupcalls_readdir__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_sync__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_sync__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; } value; } xnuupcalls_xnuupcalls_sync__result_s; /*! * @function xnuupcalls_xnuupcalls_sync__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_sync__result_get_success(xnuupcalls_xnuupcalls_sync__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_sync__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_sync__result_get_failure(xnuupcalls_xnuupcalls_sync__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_sync__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` * @internal * * @discussion * Initializes a return value for a call to `sync(fsTag:op:fileId:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `sync(fsTag:op:fileId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_sync__result_init_success(xnuupcalls_xnuupcalls_sync__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_sync__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` * @internal * * @discussion * Initializes a return value for a call to `sync(fsTag:op:fileId:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `sync(fsTag:op:fileId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_sync__result_init_failure(xnuupcalls_xnuupcalls_sync__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_remove__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_remove__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; } value; } xnuupcalls_xnuupcalls_remove__result_s; /*! * @function xnuupcalls_xnuupcalls_remove__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_remove__result_get_success(xnuupcalls_xnuupcalls_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_remove__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_remove__result_get_failure(xnuupcalls_xnuupcalls_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_remove__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * @internal * * @discussion * Initializes a return value for a call to `remove(fsTag:rootId:name:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `remove(fsTag:rootId:name:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_remove__result_init_success(xnuupcalls_xnuupcalls_remove__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_remove__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * @internal * * @discussion * Initializes a return value for a call to `remove(fsTag:rootId:name:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `remove(fsTag:rootId:name:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_remove__result_init_failure(xnuupcalls_xnuupcalls_remove__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_write__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_write__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; } value; } xnuupcalls_xnuupcalls_write__result_s; /*! * @function xnuupcalls_xnuupcalls_write__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_write__result_get_success(xnuupcalls_xnuupcalls_write__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_write__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_write__result_get_failure(xnuupcalls_xnuupcalls_write__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_write__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `write(fsTag:fileId:descriptor:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `write(fsTag:fileId:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_write__result_init_success(xnuupcalls_xnuupcalls_write__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_write__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `write(fsTag:fileId:descriptor:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `write(fsTag:fileId:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_write__result_init_failure(xnuupcalls_xnuupcalls_write__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_read__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_read__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; } value; } xnuupcalls_xnuupcalls_read__result_s; /*! * @function xnuupcalls_xnuupcalls_read__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_read__result_get_success(xnuupcalls_xnuupcalls_read__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_read__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_read__result_get_failure(xnuupcalls_xnuupcalls_read__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_read__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `read(fsTag:fileId:descriptor:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `read(fsTag:fileId:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_read__result_init_success(xnuupcalls_xnuupcalls_read__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_read__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * @internal * * @discussion * Initializes a return value for a call to `read(fsTag:fileId:descriptor:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `read(fsTag:fileId:descriptor:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_read__result_init_failure(xnuupcalls_xnuupcalls_read__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_create__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_create__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; uint64_t success; } value; } xnuupcalls_xnuupcalls_create__result_s; /*! * @function xnuupcalls_xnuupcalls_create__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcalls_xnuupcalls_create__result_get_success(xnuupcalls_xnuupcalls_create__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_create__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_create__result_get_failure(xnuupcalls_xnuupcalls_create__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_create__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * @internal * * @discussion * Initializes a return value for a call to `create(fsTag:rootId:name:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `create(fsTag:rootId:name:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_create__result_init_success(xnuupcalls_xnuupcalls_create__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcalls_xnuupcalls_create__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * @internal * * @discussion * Initializes a return value for a call to `create(fsTag:rootId:name:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `create(fsTag:rootId:name:)` method * handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_create__result_init_failure(xnuupcalls_xnuupcalls_create__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_close__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_close__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; } value; } xnuupcalls_xnuupcalls_close__result_s; /*! * @function xnuupcalls_xnuupcalls_close__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` * and returns any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool xnuupcalls_xnuupcalls_close__result_get_success(xnuupcalls_xnuupcalls_close__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_close__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_close__result_get_failure(xnuupcalls_xnuupcalls_close__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_close__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` * @internal * * @discussion * Initializes a return value for a call to `close(fsTag:fileId:)`, * indicating the call was successful * * An initialized result type should be passed to the completion * handler provided to a `close(fsTag:fileId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_close__result_init_success(xnuupcalls_xnuupcalls_close__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_close__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` * @internal * * @discussion * Initializes a return value for a call to `close(fsTag:fileId:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `close(fsTag:fileId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_close__result_init_failure(xnuupcalls_xnuupcalls_close__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_open__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_open__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; uint64_t success; } value; } xnuupcalls_xnuupcalls_open__result_s; /*! * @function xnuupcalls_xnuupcalls_open__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcalls_xnuupcalls_open__result_get_success(xnuupcalls_xnuupcalls_open__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_open__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_open__result_get_failure(xnuupcalls_xnuupcalls_open__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_open__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * @internal * * @discussion * Initializes a return value for a call to `open(fsTag:rootId:name:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `open(fsTag:rootId:name:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_open__result_init_success(xnuupcalls_xnuupcalls_open__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcalls_xnuupcalls_open__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * @internal * * @discussion * Initializes a return value for a call to `open(fsTag:rootId:name:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `open(fsTag:rootId:name:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_open__result_init_failure(xnuupcalls_xnuupcalls_open__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_root__result_s * @brief Result structure for `XnuUpcalls.XnuUpcalls.root(exclaveId:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_root__result_s { uint8_t tag; union { xnuupcalls_storageupcallserror_s failure; uint64_t success; } value; } xnuupcalls_xnuupcalls_root__result_s; /*! * @function xnuupcalls_xnuupcalls_root__result_get_success * @brief Accessor for the success return type of `XnuUpcalls.XnuUpcalls.root(exclaveId:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `XnuUpcalls.XnuUpcalls.root(exclaveId:)` and * returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable xnuupcalls_xnuupcalls_root__result_get_success(xnuupcalls_xnuupcalls_root__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_root__result_get_failure * @brief Accessor for the failure return type of `XnuUpcalls.XnuUpcalls.root(exclaveId:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `XnuUpcalls.XnuUpcalls.root(exclaveId:)` and returns * any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT xnuupcalls_storageupcallserror_s *_Nullable xnuupcalls_xnuupcalls_root__result_get_failure(xnuupcalls_xnuupcalls_root__result_s *_Nonnull result); /*! * @function xnuupcalls_xnuupcalls_root__result_init_success * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.root(exclaveId:)` * @internal * * @discussion * Initializes a return value for a call to `root(exclaveId:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `root(exclaveId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_root__result_init_success(xnuupcalls_xnuupcalls_root__result_s *_Nonnull result, uint64_t value); /*! * @function xnuupcalls_xnuupcalls_root__result_init_failure * @brief Initialize a return structure for `XnuUpcalls.XnuUpcalls.root(exclaveId:)` * @internal * * @discussion * Initializes a return value for a call to `root(exclaveId:)`, * indicating the call failed and returns an associated `XnuUpcalls.StorageUpcallsError` * value. * * An initialized result type should be passed to the completion * handler provided to a `root(exclaveId:)` method handler. */ TB_NOEXPORT void xnuupcalls_xnuupcalls_root__result_init_failure(xnuupcalls_xnuupcalls_root__result_s *_Nonnull result, xnuupcalls_storageupcallserror_s value); /*! * @typedef xnuupcalls_xnuupcalls_s * @brief Client connection handle for `XnuUpcalls.XnuUpcalls` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls_s { tb_client_connection_t connection; } xnuupcalls_xnuupcalls_s; /*! * @function xnuupcalls_xnuupcalls_alloc * @brief Invokes the `XnuUpcalls.XnuUpcalls.alloc(npages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_alloc(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t npages, const xnuupcalls_pagekind_s kind, void (^ result)(xnuupcalls_pagelist_s)); /*! * @function xnuupcalls_xnuupcalls_alloc_ext * @brief Invokes the `XnuUpcalls.XnuUpcalls.alloc_ext(npages:flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_alloc_ext(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t npages, const xnuupcalls_pageallocflags_s flags, void (^ result)(xnuupcalls_pagelist_s)); /*! * @function xnuupcalls_xnuupcalls_free * @brief Invokes the `XnuUpcalls.XnuUpcalls.free(pages:npages:kind:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_free(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t pages[_Nonnull 64], const uint32_t npages, const xnuupcalls_pagekind_s kind); /*! * @function xnuupcalls_xnuupcalls_free_ext * @brief Invokes the `XnuUpcalls.XnuUpcalls.free_ext(pages:npages:flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_free_ext(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t pages[_Nonnull 64], const uint32_t npages, const xnuupcalls_pagefreeflags_s flags); /*! * @function xnuupcalls_xnuupcalls_helloupcall * @brief Invokes the `XnuUpcalls.XnuUpcalls.HelloUpcall(arg:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_helloupcall(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t arg, void (^ result)(uint64_t)); /*! * @function xnuupcalls_xnuupcalls_root * @brief Invokes the `XnuUpcalls.XnuUpcalls.root(exclaveId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_root(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint8_t exclaveId[_Nonnull 32], void (^ result)(xnuupcalls_xnuupcalls_root__result_s)); /*! * @function xnuupcalls_xnuupcalls_open * @brief Invokes the `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_open(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootId, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcalls_xnuupcalls_open__result_s)); /*! * @function xnuupcalls_xnuupcalls_close * @brief Invokes the `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_close(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileId, void (^ result)(xnuupcalls_xnuupcalls_close__result_s)); /*! * @function xnuupcalls_xnuupcalls_create * @brief Invokes the `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_create(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootId, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcalls_xnuupcalls_create__result_s)); /*! * @function xnuupcalls_xnuupcalls_read * @brief Invokes the `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_read(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileId, const xnuupcalls_iodesc_s * descriptor, void (^ result)(xnuupcalls_xnuupcalls_read__result_s)); /*! * @function xnuupcalls_xnuupcalls_write * @brief Invokes the `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_write(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileId, const xnuupcalls_iodesc_s * descriptor, void (^ result)(xnuupcalls_xnuupcalls_write__result_s)); /*! * @function xnuupcalls_xnuupcalls_remove * @brief Invokes the `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_remove(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t rootId, const uint8_t name[_Nonnull 256], void (^ result)(xnuupcalls_xnuupcalls_remove__result_s)); /*! * @function xnuupcalls_xnuupcalls_sync * @brief Invokes the `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_sync(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const xnuupcalls_syncop_s op, const uint64_t fileId, void (^ result)(xnuupcalls_xnuupcalls_sync__result_s)); /*! * @function xnuupcalls_xnuupcalls_readdir * @brief Invokes the `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_readdir(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileId, const uint64_t buf, const uint32_t length, void (^ result)(xnuupcalls_xnuupcalls_readdir__result_s)); /*! * @function xnuupcalls_xnuupcalls_getsize * @brief Invokes the `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_getsize(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, const uint64_t fileId, void (^ result)(xnuupcalls_xnuupcalls_getsize__result_s)); /*! * @function xnuupcalls_xnuupcalls_sealstate * @brief Invokes the `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_sealstate(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t fsTag, void (^ result)(xnuupcalls_xnuupcalls_sealstate__result_s)); /*! * @function xnuupcalls_xnuupcalls_irq_register * @brief Invokes the `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_irq_register(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const int32_t index, void (^ result)(xnuupcalls_xnuupcalls_irq_register__result_s)); /*! * @function xnuupcalls_xnuupcalls_irq_remove * @brief Invokes the `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_irq_remove(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const int32_t index, void (^ result)(xnuupcalls_xnuupcalls_irq_remove__result_s)); /*! * @function xnuupcalls_xnuupcalls_irq_enable * @brief Invokes the `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_irq_enable(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const int32_t index, void (^ result)(xnuupcalls_xnuupcalls_irq_enable__result_s)); /*! * @function xnuupcalls_xnuupcalls_irq_disable * @brief Invokes the `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_irq_disable(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const int32_t index, void (^ result)(xnuupcalls_xnuupcalls_irq_disable__result_s)); /*! * @function xnuupcalls_xnuupcalls_timer_register * @brief Invokes the `XnuUpcalls.XnuUpcalls.timer_register(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_timer_register(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, void (^ result)(xnuupcalls_xnuupcalls_timer_register__result_s)); /*! * @function xnuupcalls_xnuupcalls_timer_remove * @brief Invokes the `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_timer_remove(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t timerId, void (^ result)(xnuupcalls_xnuupcalls_timer_remove__result_s)); /*! * @function xnuupcalls_xnuupcalls_timer_enable * @brief Invokes the `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_timer_enable(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t timerId, void (^ result)(xnuupcalls_xnuupcalls_timer_enable__result_s)); /*! * @function xnuupcalls_xnuupcalls_timer_disable * @brief Invokes the `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_timer_disable(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t timerId, void (^ result)(xnuupcalls_xnuupcalls_timer_disable__result_s)); /*! * @function xnuupcalls_xnuupcalls_timer_set_timeout * @brief Invokes the `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_timer_set_timeout(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t timerId, const xnuupcalls_drivertimerspecification_s * duration, void (^ result)(xnuupcalls_xnuupcalls_timer_set_timeout__result_s)); /*! * @function xnuupcalls_xnuupcalls_timer_cancel_timeout * @brief Invokes the `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_timer_cancel_timeout(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t timerId, void (^ result)(xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s)); /*! * @function xnuupcalls_xnuupcalls_lock_wl * @brief Invokes the `XnuUpcalls.XnuUpcalls.lock_wl(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_lock_wl(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, void (^ result)(xnuupcalls_xnuupcalls_lock_wl__result_s)); /*! * @function xnuupcalls_xnuupcalls_unlock_wl * @brief Invokes the `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_unlock_wl(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, void (^ result)(xnuupcalls_xnuupcalls_unlock_wl__result_s)); /*! * @function xnuupcalls_xnuupcalls_async_notification_signal * @brief Invokes the `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_async_notification_signal(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t notificationId, void (^ result)(xnuupcalls_xnuupcalls_async_notification_signal__result_s)); /*! * @function xnuupcalls_xnuupcalls_mapper_activate * @brief Invokes the `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_mapper_activate(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t mapperIndex, void (^ result)(xnuupcalls_xnuupcalls_mapper_activate__result_s)); /*! * @function xnuupcalls_xnuupcalls_mapper_deactivate * @brief Invokes the `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_mapper_deactivate(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t mapperIndex, void (^ result)(xnuupcalls_xnuupcalls_mapper_deactivate__result_s)); /*! * @function xnuupcalls_xnuupcalls_ane_setpowerstate * @brief Invokes the `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_ane_setpowerstate(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t desiredState, void (^ result)(xnuupcalls_xnuupcalls_ane_setpowerstate__result_s)); /*! * @function xnuupcalls_xnuupcalls_ane_worksubmit * @brief Invokes the `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_ane_worksubmit(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint64_t requestID, const uint32_t taskDescriptorCount, const uint64_t submitTimestamp, void (^ result)(xnuupcalls_xnuupcalls_ane_worksubmit__result_s)); /*! * @function xnuupcalls_xnuupcalls_ane_workbegin * @brief Invokes the `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_ane_workbegin(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint64_t requestID, const uint64_t beginTimestamp, void (^ result)(xnuupcalls_xnuupcalls_ane_workbegin__result_s)); /*! * @function xnuupcalls_xnuupcalls_ane_workend * @brief Invokes the `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_ane_workend(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint64_t requestID, void (^ result)(xnuupcalls_xnuupcalls_ane_workend__result_s)); /*! * @function xnuupcalls_xnuupcalls_notification_signal * @brief Invokes the `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_notification_signal(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint64_t id, const uint32_t mask, void (^ result)(xnuupcalls_xnuupcalls_notification_signal__result_s)); /*! * @function xnuupcalls_xnuupcalls_conclave_suspend * @brief Invokes the `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_conclave_suspend(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t flags, void (^ result)(xnuupcalls_xnuupcalls_conclave_suspend__result_s)); /*! * @function xnuupcalls_xnuupcalls_conclave_stop * @brief Invokes the `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_conclave_stop(const xnuupcalls_xnuupcalls_s *_Nonnull client, const uint32_t flags, void (^ result)(xnuupcalls_xnuupcalls_conclave_stop__result_s)); /*! * @function xnuupcalls_xnuupcalls_conclave_crash_info * @brief Invokes the `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls_conclave_crash_info(const xnuupcalls_xnuupcalls_s *_Nonnull client, const xnuupcalls_conclavesharedbuffer_s * sharedbuffer, const uint32_t length, void (^ result)(xnuupcalls_xnuupcalls_conclave_crash_info__result_s)); /*! * @typedef xnuupcalls_xnuupcalls__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls__init(xnuupcalls_xnuupcalls_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef xnuupcalls_xnuupcalls__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls__init_static(xnuupcalls_xnuupcalls_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function xnuupcalls_xnuupcalls__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void xnuupcalls_xnuupcalls__copy(const xnuupcalls_xnuupcalls_s *_Nonnull src, xnuupcalls_xnuupcalls_s *_Nonnull dst); /*! * @function xnuupcalls_xnuupcalls__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void xnuupcalls_xnuupcalls__destruct(xnuupcalls_xnuupcalls_s *_Nonnull client); /*! * @typedef xnuupcalls_xnuupcalls__service_s * @brief Service connection handle for `XnuUpcalls.XnuUpcalls` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct xnuupcalls_xnuupcalls__service_s { tb_service_connection_t connection; } xnuupcalls_xnuupcalls__service_s; /*! * @typedef xnuupcalls_xnuupcalls__server_s * @brief Method callback blocks for handling `XnuUpcalls.XnuUpcalls` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct xnuupcalls_xnuupcalls__server_s { /*! * @field alloc * @brief Method handler for `XnuUpcalls.XnuUpcalls.alloc(npages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ alloc)(const uint32_t npages, const xnuupcalls_pagekind_s kind, tb_error_t (^ completion)(xnuupcalls_pagelist_s)); /*! * @field alloc_ext * @brief Method handler for `XnuUpcalls.XnuUpcalls.alloc_ext(npages:flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ alloc_ext)(const uint32_t npages, const xnuupcalls_pageallocflags_s flags, tb_error_t (^ completion)(xnuupcalls_pagelist_s)); /*! * @field free * @brief Method handler for `XnuUpcalls.XnuUpcalls.free(pages:npages:kind:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ free)(const uint32_t pages[_Nonnull 64], const uint32_t npages, const xnuupcalls_pagekind_s kind, tb_error_t (^ completion)(void)); /*! * @field free_ext * @brief Method handler for `XnuUpcalls.XnuUpcalls.free_ext(pages:npages:flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ free_ext)(const uint32_t pages[_Nonnull 64], const uint32_t npages, const xnuupcalls_pagefreeflags_s flags, tb_error_t (^ completion)(void)); /*! * @field helloupcall * @brief Method handler for `XnuUpcalls.XnuUpcalls.HelloUpcall(arg:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ helloupcall)(const uint64_t arg, tb_error_t (^ completion)(uint64_t)); /*! * @field root * @brief Method handler for `XnuUpcalls.XnuUpcalls.root(exclaveId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ root)(const uint8_t exclaveId[_Nonnull 32], tb_error_t (^ completion)(xnuupcalls_xnuupcalls_root__result_s)); /*! * @field open * @brief Method handler for `XnuUpcalls.XnuUpcalls.open(fsTag:rootId:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ open)(const uint32_t fsTag, const uint64_t rootId, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcalls_xnuupcalls_open__result_s)); /*! * @field close * @brief Method handler for `XnuUpcalls.XnuUpcalls.close(fsTag:fileId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ close)(const uint32_t fsTag, const uint64_t fileId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_close__result_s)); /*! * @field create * @brief Method handler for `XnuUpcalls.XnuUpcalls.create(fsTag:rootId:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ create)(const uint32_t fsTag, const uint64_t rootId, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcalls_xnuupcalls_create__result_s)); /*! * @field read * @brief Method handler for `XnuUpcalls.XnuUpcalls.read(fsTag:fileId:descriptor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ read)(const uint32_t fsTag, const uint64_t fileId, const xnuupcalls_iodesc_s * descriptor, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_read__result_s)); /*! * @field write * @brief Method handler for `XnuUpcalls.XnuUpcalls.write(fsTag:fileId:descriptor:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ write)(const uint32_t fsTag, const uint64_t fileId, const xnuupcalls_iodesc_s * descriptor, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_write__result_s)); /*! * @field remove * @brief Method handler for `XnuUpcalls.XnuUpcalls.remove(fsTag:rootId:name:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ remove)(const uint32_t fsTag, const uint64_t rootId, const uint8_t name[_Nonnull 256], tb_error_t (^ completion)(xnuupcalls_xnuupcalls_remove__result_s)); /*! * @field sync * @brief Method handler for `XnuUpcalls.XnuUpcalls.sync(fsTag:op:fileId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ sync)(const uint32_t fsTag, const xnuupcalls_syncop_s op, const uint64_t fileId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_sync__result_s)); /*! * @field readdir * @brief Method handler for `XnuUpcalls.XnuUpcalls.readdir(fsTag:fileId:buf:length:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ readdir)(const uint32_t fsTag, const uint64_t fileId, const uint64_t buf, const uint32_t length, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_readdir__result_s)); /*! * @field getsize * @brief Method handler for `XnuUpcalls.XnuUpcalls.getsize(fsTag:fileId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ getsize)(const uint32_t fsTag, const uint64_t fileId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_getsize__result_s)); /*! * @field sealstate * @brief Method handler for `XnuUpcalls.XnuUpcalls.sealstate(fsTag:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ sealstate)(const uint32_t fsTag, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_sealstate__result_s)); /*! * @field irq_register * @brief Method handler for `XnuUpcalls.XnuUpcalls.irq_register(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irq_register)(const uint64_t id, const int32_t index, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_irq_register__result_s)); /*! * @field irq_remove * @brief Method handler for `XnuUpcalls.XnuUpcalls.irq_remove(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irq_remove)(const uint64_t id, const int32_t index, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_irq_remove__result_s)); /*! * @field irq_enable * @brief Method handler for `XnuUpcalls.XnuUpcalls.irq_enable(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irq_enable)(const uint64_t id, const int32_t index, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_irq_enable__result_s)); /*! * @field irq_disable * @brief Method handler for `XnuUpcalls.XnuUpcalls.irq_disable(id:index:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ irq_disable)(const uint64_t id, const int32_t index, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_irq_disable__result_s)); /*! * @field timer_register * @brief Method handler for `XnuUpcalls.XnuUpcalls.timer_register(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timer_register)(const uint64_t id, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_timer_register__result_s)); /*! * @field timer_remove * @brief Method handler for `XnuUpcalls.XnuUpcalls.timer_remove(id:timerId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timer_remove)(const uint64_t id, const uint32_t timerId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_timer_remove__result_s)); /*! * @field timer_enable * @brief Method handler for `XnuUpcalls.XnuUpcalls.timer_enable(id:timerId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timer_enable)(const uint64_t id, const uint32_t timerId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_timer_enable__result_s)); /*! * @field timer_disable * @brief Method handler for `XnuUpcalls.XnuUpcalls.timer_disable(id:timerId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timer_disable)(const uint64_t id, const uint32_t timerId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_timer_disable__result_s)); /*! * @field timer_set_timeout * @brief Method handler for `XnuUpcalls.XnuUpcalls.timer_set_timeout(id:timerId:duration:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timer_set_timeout)(const uint64_t id, const uint32_t timerId, const xnuupcalls_drivertimerspecification_s * duration, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_timer_set_timeout__result_s)); /*! * @field timer_cancel_timeout * @brief Method handler for `XnuUpcalls.XnuUpcalls.timer_cancel_timeout(id:timerId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ timer_cancel_timeout)(const uint64_t id, const uint32_t timerId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_timer_cancel_timeout__result_s)); /*! * @field lock_wl * @brief Method handler for `XnuUpcalls.XnuUpcalls.lock_wl(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ lock_wl)(const uint64_t id, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_lock_wl__result_s)); /*! * @field unlock_wl * @brief Method handler for `XnuUpcalls.XnuUpcalls.unlock_wl(id:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ unlock_wl)(const uint64_t id, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_unlock_wl__result_s)); /*! * @field async_notification_signal * @brief Method handler for `XnuUpcalls.XnuUpcalls.async_notification_signal(id:notificationId:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ async_notification_signal)(const uint64_t id, const uint32_t notificationId, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_async_notification_signal__result_s)); /*! * @field mapper_activate * @brief Method handler for `XnuUpcalls.XnuUpcalls.mapper_activate(id:mapperIndex:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mapper_activate)(const uint64_t id, const uint32_t mapperIndex, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_mapper_activate__result_s)); /*! * @field mapper_deactivate * @brief Method handler for `XnuUpcalls.XnuUpcalls.mapper_deactivate(id:mapperIndex:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ mapper_deactivate)(const uint64_t id, const uint32_t mapperIndex, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_mapper_deactivate__result_s)); /*! * @field ane_setpowerstate * @brief Method handler for `XnuUpcalls.XnuUpcalls.ane_setpowerstate(id:desiredState:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ ane_setpowerstate)(const uint64_t id, const uint32_t desiredState, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_ane_setpowerstate__result_s)); /*! * @field ane_worksubmit * @brief Method handler for `XnuUpcalls.XnuUpcalls.ane_worksubmit(id:requestID:taskDescriptorCount:submitTimestamp:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ ane_worksubmit)(const uint64_t id, const uint64_t requestID, const uint32_t taskDescriptorCount, const uint64_t submitTimestamp, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_ane_worksubmit__result_s)); /*! * @field ane_workbegin * @brief Method handler for `XnuUpcalls.XnuUpcalls.ane_workbegin(id:requestID:beginTimestamp:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ ane_workbegin)(const uint64_t id, const uint64_t requestID, const uint64_t beginTimestamp, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_ane_workbegin__result_s)); /*! * @field ane_workend * @brief Method handler for `XnuUpcalls.XnuUpcalls.ane_workend(id:requestID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ ane_workend)(const uint64_t id, const uint64_t requestID, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_ane_workend__result_s)); /*! * @field notification_signal * @brief Method handler for `XnuUpcalls.XnuUpcalls.notification_signal(id:mask:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ notification_signal)(const uint64_t id, const uint32_t mask, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_notification_signal__result_s)); void (^ reserved4)(void); void (^ reserved5)(void); void (^ reserved6)(void); /*! * @field conclave_suspend * @brief Method handler for `XnuUpcalls.XnuUpcalls.conclave_suspend(flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ conclave_suspend)(const uint32_t flags, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_conclave_suspend__result_s)); /*! * @field conclave_stop * @brief Method handler for `XnuUpcalls.XnuUpcalls.conclave_stop(flags:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ conclave_stop)(const uint32_t flags, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_conclave_stop__result_s)); /*! * @field conclave_crash_info * @brief Method handler for `XnuUpcalls.XnuUpcalls.conclave_crash_info(sharedbuffer:length:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ conclave_crash_info)(const xnuupcalls_conclavesharedbuffer_s * sharedbuffer, const uint32_t length, tb_error_t (^ completion)(xnuupcalls_xnuupcalls_conclave_crash_info__result_s)); } xnuupcalls_xnuupcalls__server_s; /*! * @function xnuupcalls_xnuupcalls__server_start * @brief Server start method for the `XnuUpcalls.XnuUpcalls` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls__server_start(tb_endpoint_t ep, const xnuupcalls_xnuupcalls__server_s *_Nonnull server); /*! * @function xnuupcalls_xnuupcalls__server_start_owned * @brief Server start method for the `XnuUpcalls.XnuUpcalls` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t xnuupcalls_xnuupcalls__server_start_owned(tb_endpoint_t ep, xnuupcalls_xnuupcalls__service_s *_Nonnull service, const xnuupcalls_xnuupcalls__server_s *_Nonnull server); /*! * @function xnuupcalls_xnuupcalls__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void xnuupcalls_xnuupcalls__server_stop(xnuupcalls_xnuupcalls__service_s *_Nonnull service); /*! * @typedef framemint_frameminterror_s * @brief Declaration of the `FrameMint.FrameMintError` enumeration * @internal */ typedef enum framemint_frameminterror_s : uint8_t { FRAMEMINT_FRAMEMINTERROR_POPULATEFAILED = 1, } framemint_frameminterror_s; /*! * @typedef framemint_framemint_populate__result_s * @brief Result structure for `FrameMint.FrameMint.populate()` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct framemint_framemint_populate__result_s { uint8_t tag; union { framemint_frameminterror_s failure; } value; } framemint_framemint_populate__result_s; /*! * @function framemint_framemint_populate__result_get_success * @brief Accessor for the success return type of `FrameMint.FrameMint.populate()` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `FrameMint.FrameMint.populate()` and returns * any associated data. Otherwise, `false` is returned. */ TB_NOEXPORT bool framemint_framemint_populate__result_get_success(framemint_framemint_populate__result_s *_Nonnull result); /*! * @function framemint_framemint_populate__result_get_failure * @brief Accessor for the failure return type of `FrameMint.FrameMint.populate()` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `FrameMint.FrameMint.populate()` and returns any * associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT framemint_frameminterror_s *_Nullable framemint_framemint_populate__result_get_failure(framemint_framemint_populate__result_s *_Nonnull result); /*! * @function framemint_framemint_populate__result_init_success * @brief Initialize a return structure for `FrameMint.FrameMint.populate()` * @internal * * @discussion * Initializes a return value for a call to `populate()`, indicating * the call was successful * * An initialized result type should be passed to the completion * handler provided to a `populate()` method handler. */ TB_NOEXPORT void framemint_framemint_populate__result_init_success(framemint_framemint_populate__result_s *_Nonnull result); /*! * @function framemint_framemint_populate__result_init_failure * @brief Initialize a return structure for `FrameMint.FrameMint.populate()` * @internal * * @discussion * Initializes a return value for a call to `populate()`, indicating * the call failed and returns an associated `FrameMint.FrameMintError` * value. * * An initialized result type should be passed to the completion * handler provided to a `populate()` method handler. */ TB_NOEXPORT void framemint_framemint_populate__result_init_failure(framemint_framemint_populate__result_s *_Nonnull result, framemint_frameminterror_s value); /*! * @typedef framemint_framemint_s * @brief Client connection handle for `FrameMint.FrameMint` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct framemint_framemint_s { tb_client_connection_t connection; } framemint_framemint_s; /*! * @function framemint_framemint_populate * @brief Invokes the `FrameMint.FrameMint.populate()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t framemint_framemint_populate(const framemint_framemint_s *_Nonnull client, void (^ result)(framemint_framemint_populate__result_s)); /*! * @typedef framemint_framemint__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t framemint_framemint__init(framemint_framemint_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef framemint_framemint__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t framemint_framemint__init_static(framemint_framemint_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function framemint_framemint__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void framemint_framemint__copy(const framemint_framemint_s *_Nonnull src, framemint_framemint_s *_Nonnull dst); /*! * @function framemint_framemint__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void framemint_framemint__destruct(framemint_framemint_s *_Nonnull client); /*! * @typedef framemint_framemint__service_s * @brief Service connection handle for `FrameMint.FrameMint` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct framemint_framemint__service_s { tb_service_connection_t connection; } framemint_framemint__service_s; /*! * @typedef framemint_framemint__server_s * @brief Method callback blocks for handling `FrameMint.FrameMint` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct framemint_framemint__server_s { /*! * @field populate * @brief Method handler for `FrameMint.FrameMint.populate()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ populate)(tb_error_t (^ completion)(framemint_framemint_populate__result_s)); } framemint_framemint__server_s; /*! * @function framemint_framemint__server_start * @brief Server start method for the `FrameMint.FrameMint` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t framemint_framemint__server_start(tb_endpoint_t ep, const framemint_framemint__server_s *_Nonnull server); /*! * @function framemint_framemint__server_start_owned * @brief Server start method for the `FrameMint.FrameMint` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t framemint_framemint__server_start_owned(tb_endpoint_t ep, framemint_framemint__service_s *_Nonnull service, const framemint_framemint__server_s *_Nonnull server); /*! * @function framemint_framemint__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void framemint_framemint__server_stop(framemint_framemint__service_s *_Nonnull service); /*! * @typedef exclaveschelloserver_result_s * @brief Declaration of the `ExclavesCHelloServer.Result` struct * @internal */ typedef TB_UNUSED struct exclaveschelloserver_result_s { uint64_t reply; uint64_t result; } exclaveschelloserver_result_s; /*! * @function exclaveschelloserver_result__marshal_sizeof * @brief Return the size (number of bytes) needed to encode `ExclavesCHelloServer.Result`" * @internal */ TB_NOEXPORT size_t exclaveschelloserver_result__marshal_sizeof(const exclaveschelloserver_result_s *_Nonnull value); /*! * @function exclaveschelloserver_result__marshal * @brief Encode `ExclavesCHelloServer.Result` into target buffer * @internal * * @discussion * Encode a `ExclavesCHelloServer.Result` instance into a binary * form written to `buffer` such that it can be decoded by the * corresponding unmarshaling function. */ TB_NOEXPORT tb_error_t exclaveschelloserver_result__marshal(const exclaveschelloserver_result_s *_Nonnull value, uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size); /*! * @function exclaveschelloserver_result__unmarshal * @brief Decode `ExclavesCHelloServer.Result` from a buffer * @internal * * @discussion * Decode a `ExclavesCHelloServer.Result` structure, given binary * data written into `buffer` by the corresponding marshaling * function. * * This function will invoke `block` with the decoded structure. * The decoded structure, and any data contained within is only * valid during the block invocation. */ TB_NOEXPORT tb_error_t exclaveschelloserver_result__unmarshal(uint8_t *__sized_by(buffer_size) buffer, size_t buffer_size, void (^ block)(exclaveschelloserver_result_s)); /*! * @typedef exclaveschelloserver_clock__tag_s * @brief Tag descriminator for the `ExclavesCHelloServer.Clock` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclaveschelloserver_clock__tag_s : uint64_t { EXCLAVESCHELLOSERVER_CLOCK__ABSOLUTE = 0x53e94d90057f0a64ULL, EXCLAVESCHELLOSERVER_CLOCK__CONTINUOUS = 0x4148856a43344e09ULL, } exclaveschelloserver_clock__tag_s; /*! * @typedef exclaveschelloserver_clock_s * @brief Declaration for the `ExclavesCHelloServer.Clock` enumeration * @internal */ typedef struct exclaveschelloserver_clock_s { exclaveschelloserver_clock__tag_s tag; } exclaveschelloserver_clock_s; /*! * @function exclaveschelloserver_clock_absolute__get * @brief Accessor for `ExclavesCHelloServer.Clock.absolute` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclavesCHelloServer.Clock.absolute` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveschelloserver_clock_absolute__get(const exclaveschelloserver_clock_s *_Nonnull en); /*! * @function exclaveschelloserver_clock_continuous__get * @brief Accessor for `ExclavesCHelloServer.Clock.continuous` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclavesCHelloServer.Clock.continuous` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveschelloserver_clock_continuous__get(const exclaveschelloserver_clock_s *_Nonnull en); /*! * @function exclaveschelloserver_clock_absolute__init * @brief Initializer for `ExclavesCHelloServer.Clock.absolute` * @internal * * @discussion * Initializes `en` to contain a `ExclavesCHelloServer.Clock.absolute` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveschelloserver_clock_absolute__init(exclaveschelloserver_clock_s *_Nonnull en); /*! * @function exclaveschelloserver_clock_continuous__init * @brief Initializer for `ExclavesCHelloServer.Clock.continuous` * @internal * * @discussion * Initializes `en` to contain a `ExclavesCHelloServer.Clock.continuous` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveschelloserver_clock_continuous__init(exclaveschelloserver_clock_s *_Nonnull en); /*! * @typedef exclaveschelloserver_tests_s * @brief Client connection handle for `ExclavesCHelloServer.Tests` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveschelloserver_tests_s { tb_client_connection_t connection; } exclaveschelloserver_tests_s; /*! * @function exclaveschelloserver_tests_panic_exclave_example * @brief Invokes the `ExclavesCHelloServer.Tests.panic_exclave_example()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests_panic_exclave_example(const exclaveschelloserver_tests_s *_Nonnull client); /*! * @function exclaveschelloserver_tests_shared_buf * @brief Invokes the `ExclavesCHelloServer.Tests.shared_buf(bufID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests_shared_buf(const exclaveschelloserver_tests_s *_Nonnull client, const uint64_t bufID, void (^ result)(exclaveschelloserver_result_s)); /*! * @function exclaveschelloserver_tests_buffer_id * @brief Invokes the `ExclavesCHelloServer.Tests.buffer_id(bufID:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests_buffer_id(const exclaveschelloserver_tests_s *_Nonnull client, const uint64_t bufID, void (^ result)(exclaveschelloserver_result_s)); /*! * @function exclaveschelloserver_tests_default_hello * @brief Invokes the `ExclavesCHelloServer.Tests.default_hello()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests_default_hello(const exclaveschelloserver_tests_s *_Nonnull client, void (^ result)(uint64_t)); /*! * @function exclaveschelloserver_tests_default_upcall * @brief Invokes the `ExclavesCHelloServer.Tests.default_upcall(request:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests_default_upcall(const exclaveschelloserver_tests_s *_Nonnull client, const uint64_t request, void (^ result)(exclaveschelloserver_result_s)); /*! * @function exclaveschelloserver_tests_get_time * @brief Invokes the `ExclavesCHelloServer.Tests.get_time(clock:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests_get_time(const exclaveschelloserver_tests_s *_Nonnull client, const exclaveschelloserver_clock_s * clock, void (^ result)(uint64_t)); /*! * @function exclaveschelloserver_tests_calldaemonnotificationnotify * @brief Invokes the `ExclavesCHelloServer.Tests.callDaemonNotificationNotify()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests_calldaemonnotificationnotify(const exclaveschelloserver_tests_s *_Nonnull client, void (^ result)(uint64_t)); /*! * @typedef exclaveschelloserver_tests__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests__init(exclaveschelloserver_tests_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef exclaveschelloserver_tests__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests__init_static(exclaveschelloserver_tests_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function exclaveschelloserver_tests__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void exclaveschelloserver_tests__copy(const exclaveschelloserver_tests_s *_Nonnull src, exclaveschelloserver_tests_s *_Nonnull dst); /*! * @function exclaveschelloserver_tests__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void exclaveschelloserver_tests__destruct(exclaveschelloserver_tests_s *_Nonnull client); /*! * @typedef exclaveschelloserver_tests__service_s * @brief Service connection handle for `ExclavesCHelloServer.Tests` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveschelloserver_tests__service_s { tb_service_connection_t connection; } exclaveschelloserver_tests__service_s; /*! * @typedef exclaveschelloserver_tests__server_s * @brief Method callback blocks for handling `ExclavesCHelloServer.Tests` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct exclaveschelloserver_tests__server_s { /*! * @field panic_exclave_example * @brief Method handler for `ExclavesCHelloServer.Tests.panic_exclave_example()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ panic_exclave_example)(tb_error_t (^ completion)(void)); /*! * @field shared_buf * @brief Method handler for `ExclavesCHelloServer.Tests.shared_buf(bufID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ shared_buf)(const uint64_t bufID, tb_error_t (^ completion)(exclaveschelloserver_result_s)); /*! * @field buffer_id * @brief Method handler for `ExclavesCHelloServer.Tests.buffer_id(bufID:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ buffer_id)(const uint64_t bufID, tb_error_t (^ completion)(exclaveschelloserver_result_s)); /*! * @field default_hello * @brief Method handler for `ExclavesCHelloServer.Tests.default_hello()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ default_hello)(tb_error_t (^ completion)(uint64_t)); /*! * @field default_upcall * @brief Method handler for `ExclavesCHelloServer.Tests.default_upcall(request:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ default_upcall)(const uint64_t request, tb_error_t (^ completion)(exclaveschelloserver_result_s)); /*! * @field get_time * @brief Method handler for `ExclavesCHelloServer.Tests.get_time(clock:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ get_time)(const exclaveschelloserver_clock_s * clock, tb_error_t (^ completion)(uint64_t)); /*! * @field calldaemonnotificationnotify * @brief Method handler for `ExclavesCHelloServer.Tests.callDaemonNotificationNotify()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ calldaemonnotificationnotify)(tb_error_t (^ completion)(uint64_t)); } exclaveschelloserver_tests__server_s; /*! * @function exclaveschelloserver_tests__server_start * @brief Server start method for the `ExclavesCHelloServer.Tests` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests__server_start(tb_endpoint_t ep, const exclaveschelloserver_tests__server_s *_Nonnull server); /*! * @function exclaveschelloserver_tests__server_start_owned * @brief Server start method for the `ExclavesCHelloServer.Tests` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t exclaveschelloserver_tests__server_start_owned(tb_endpoint_t ep, exclaveschelloserver_tests__service_s *_Nonnull service, const exclaveschelloserver_tests__server_s *_Nonnull server); /*! * @function exclaveschelloserver_tests__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void exclaveschelloserver_tests__server_stop(exclaveschelloserver_tests__service_s *_Nonnull service); /*! * @typedef hellodriverinterrupts_hellodriverinterrupts_s * @brief Client connection handle for `HelloDriverInterrupts.HelloDriverInterrupts` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct hellodriverinterrupts_hellodriverinterrupts_s { tb_client_connection_t connection; } hellodriverinterrupts_hellodriverinterrupts_s; /*! * @function hellodriverinterrupts_hellodriverinterrupts_hellointerrupt * @brief Invokes the `HelloDriverInterrupts.HelloDriverInterrupts.helloInterrupt(rawTestType:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t hellodriverinterrupts_hellodriverinterrupts_hellointerrupt(const hellodriverinterrupts_hellodriverinterrupts_s *_Nonnull client, const uint8_t rawTestType, void (^ result)(uint8_t)); /*! * @typedef hellodriverinterrupts_hellodriverinterrupts__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t hellodriverinterrupts_hellodriverinterrupts__init(hellodriverinterrupts_hellodriverinterrupts_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef hellodriverinterrupts_hellodriverinterrupts__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t hellodriverinterrupts_hellodriverinterrupts__init_static(hellodriverinterrupts_hellodriverinterrupts_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function hellodriverinterrupts_hellodriverinterrupts__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void hellodriverinterrupts_hellodriverinterrupts__copy(const hellodriverinterrupts_hellodriverinterrupts_s *_Nonnull src, hellodriverinterrupts_hellodriverinterrupts_s *_Nonnull dst); /*! * @function hellodriverinterrupts_hellodriverinterrupts__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void hellodriverinterrupts_hellodriverinterrupts__destruct(hellodriverinterrupts_hellodriverinterrupts_s *_Nonnull client); /*! * @typedef hellodriverinterrupts_hellodriverinterrupts__service_s * @brief Service connection handle for `HelloDriverInterrupts.HelloDriverInterrupts` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct hellodriverinterrupts_hellodriverinterrupts__service_s { tb_service_connection_t connection; } hellodriverinterrupts_hellodriverinterrupts__service_s; /*! * @typedef hellodriverinterrupts_hellodriverinterrupts__server_s * @brief Method callback blocks for handling `HelloDriverInterrupts.HelloDriverInterrupts` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct hellodriverinterrupts_hellodriverinterrupts__server_s { /*! * @field hellointerrupt * @brief Method handler for `HelloDriverInterrupts.HelloDriverInterrupts.helloInterrupt(rawTestType:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ hellointerrupt)(const uint8_t rawTestType, tb_error_t (^ completion)(uint8_t)); } hellodriverinterrupts_hellodriverinterrupts__server_s; /*! * @function hellodriverinterrupts_hellodriverinterrupts__server_start * @brief Server start method for the `HelloDriverInterrupts.HelloDriverInterrupts` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t hellodriverinterrupts_hellodriverinterrupts__server_start(tb_endpoint_t ep, const hellodriverinterrupts_hellodriverinterrupts__server_s *_Nonnull server); /*! * @function hellodriverinterrupts_hellodriverinterrupts__server_start_owned * @brief Server start method for the `HelloDriverInterrupts.HelloDriverInterrupts` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t hellodriverinterrupts_hellodriverinterrupts__server_start_owned(tb_endpoint_t ep, hellodriverinterrupts_hellodriverinterrupts__service_s *_Nonnull service, const hellodriverinterrupts_hellodriverinterrupts__server_s *_Nonnull server); /*! * @function hellodriverinterrupts_hellodriverinterrupts__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void hellodriverinterrupts_hellodriverinterrupts__server_stop(hellodriverinterrupts_hellodriverinterrupts__service_s *_Nonnull service); /*! * @typedef stackshotpanicsetup_panicinit_s * @brief Client connection handle for `StackshotPanicSetup.PanicInit` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshotpanicsetup_panicinit_s { tb_client_connection_t connection; } stackshotpanicsetup_panicinit_s; /*! * @function stackshotpanicsetup_panicinit_panic_init * @brief Invokes the `StackshotPanicSetup.PanicInit.panic_init()` service method on the destination * @internal */ TB_NOEXPORT tb_error_t stackshotpanicsetup_panicinit_panic_init(const stackshotpanicsetup_panicinit_s *_Nonnull client, void (^ result)(uint64_t)); /*! * @typedef stackshotpanicsetup_panicinit__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t stackshotpanicsetup_panicinit__init(stackshotpanicsetup_panicinit_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef stackshotpanicsetup_panicinit__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t stackshotpanicsetup_panicinit__init_static(stackshotpanicsetup_panicinit_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function stackshotpanicsetup_panicinit__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void stackshotpanicsetup_panicinit__copy(const stackshotpanicsetup_panicinit_s *_Nonnull src, stackshotpanicsetup_panicinit_s *_Nonnull dst); /*! * @function stackshotpanicsetup_panicinit__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void stackshotpanicsetup_panicinit__destruct(stackshotpanicsetup_panicinit_s *_Nonnull client); /*! * @typedef stackshotpanicsetup_panicinit__service_s * @brief Service connection handle for `StackshotPanicSetup.PanicInit` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct stackshotpanicsetup_panicinit__service_s { tb_service_connection_t connection; } stackshotpanicsetup_panicinit__service_s; /*! * @typedef stackshotpanicsetup_panicinit__server_s * @brief Method callback blocks for handling `StackshotPanicSetup.PanicInit` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct stackshotpanicsetup_panicinit__server_s { /*! * @field panic_init * @brief Method handler for `StackshotPanicSetup.PanicInit.panic_init()` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ panic_init)(tb_error_t (^ completion)(uint64_t)); } stackshotpanicsetup_panicinit__server_s; /*! * @function stackshotpanicsetup_panicinit__server_start * @brief Server start method for the `StackshotPanicSetup.PanicInit` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t stackshotpanicsetup_panicinit__server_start(tb_endpoint_t ep, const stackshotpanicsetup_panicinit__server_s *_Nonnull server); /*! * @function stackshotpanicsetup_panicinit__server_start_owned * @brief Server start method for the `StackshotPanicSetup.PanicInit` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t stackshotpanicsetup_panicinit__server_start_owned(tb_endpoint_t ep, stackshotpanicsetup_panicinit__service_s *_Nonnull service, const stackshotpanicsetup_panicinit__server_s *_Nonnull server); /*! * @function stackshotpanicsetup_panicinit__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void stackshotpanicsetup_panicinit__server_stop(stackshotpanicsetup_panicinit__service_s *_Nonnull service); /*! * @typedef exclaveaudioarbiter_copyerror__tag_s * @brief Tag descriminator for the `ExclaveAudioArbiter.CopyError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclaveaudioarbiter_copyerror__tag_s : uint64_t { EXCLAVEAUDIOARBITER_COPYERROR__INTERNALERROR = 0x403aae6b12966dcdULL, EXCLAVEAUDIOARBITER_COPYERROR__BOUNDS = 0xf833cb8eeee158e0ULL, } exclaveaudioarbiter_copyerror__tag_s; /*! * @typedef exclaveaudioarbiter_copyerror_s * @brief Declaration for the `ExclaveAudioArbiter.CopyError` enumeration * @internal */ typedef struct exclaveaudioarbiter_copyerror_s { exclaveaudioarbiter_copyerror__tag_s tag; } exclaveaudioarbiter_copyerror_s; /*! * @function exclaveaudioarbiter_copyerror_internalerror__get * @brief Accessor for `ExclaveAudioArbiter.CopyError.internalError` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveAudioArbiter.CopyError.internalError` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveaudioarbiter_copyerror_internalerror__get(const exclaveaudioarbiter_copyerror_s *_Nonnull en); /*! * @function exclaveaudioarbiter_copyerror_bounds__get * @brief Accessor for `ExclaveAudioArbiter.CopyError.bounds` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveAudioArbiter.CopyError.bounds` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclaveaudioarbiter_copyerror_bounds__get(const exclaveaudioarbiter_copyerror_s *_Nonnull en); /*! * @function exclaveaudioarbiter_copyerror_internalerror__init * @brief Initializer for `ExclaveAudioArbiter.CopyError.internalError` * @internal * * @discussion * Initializes `en` to contain a `ExclaveAudioArbiter.CopyError.internalError` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveaudioarbiter_copyerror_internalerror__init(exclaveaudioarbiter_copyerror_s *_Nonnull en); /*! * @function exclaveaudioarbiter_copyerror_bounds__init * @brief Initializer for `ExclaveAudioArbiter.CopyError.bounds` * @internal * * @discussion * Initializes `en` to contain a `ExclaveAudioArbiter.CopyError.bounds` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclaveaudioarbiter_copyerror_bounds__init(exclaveaudioarbiter_copyerror_s *_Nonnull en); /*! * @typedef exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s * @brief Result structure for `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s { uint8_t tag; union { exclaveaudioarbiter_copyerror_s failure; uint64_t success; } value; } exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s; /*! * @function exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_get_success * @brief Accessor for the success return type of `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_get_success(exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s *_Nonnull result); /*! * @function exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_get_failure * @brief Accessor for the failure return type of `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclaveaudioarbiter_copyerror_s *_Nullable exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_get_failure(exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s *_Nonnull result); /*! * @function exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_init_success * @brief Initialize a return structure for `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * Initializes a return value for a call to `copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * method handler. */ TB_NOEXPORT void exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_init_success(exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s *_Nonnull result, uint64_t value); /*! * @function exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_init_failure * @brief Initialize a return structure for `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * Initializes a return value for a call to `copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)`, * indicating the call failed and returns an associated `ExclaveAudioArbiter.CopyError` * value. * * An initialized result type should be passed to the completion * handler provided to a `copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * method handler. */ TB_NOEXPORT void exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_init_failure(exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s *_Nonnull result, exclaveaudioarbiter_copyerror_s value); /*! * @typedef exclaveaudioarbiter_exclaveaudioarbiter_s * @brief Client connection handle for `ExclaveAudioArbiter.ExclaveAudioArbiter` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveaudioarbiter_exclaveaudioarbiter_s { tb_client_connection_t connection; } exclaveaudioarbiter_exclaveaudioarbiter_s; /*! * @function exclaveaudioarbiter_exclaveaudioarbiter_copyorzero * @brief Invokes the `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclaveaudioarbiter_exclaveaudioarbiter_copyorzero(const exclaveaudioarbiter_exclaveaudioarbiter_s *_Nonnull client, const bool allowed, const exclaveaudioarbiter_arbitratedaudiobuffer_s buffer, const uint64_t offset1, const uint64_t size1, const uint64_t offset2, const uint64_t size2, void (^ result)(exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s)); /*! * @typedef exclaveaudioarbiter_exclaveaudioarbiter__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t exclaveaudioarbiter_exclaveaudioarbiter__init(exclaveaudioarbiter_exclaveaudioarbiter_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef exclaveaudioarbiter_exclaveaudioarbiter__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t exclaveaudioarbiter_exclaveaudioarbiter__init_static(exclaveaudioarbiter_exclaveaudioarbiter_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function exclaveaudioarbiter_exclaveaudioarbiter__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void exclaveaudioarbiter_exclaveaudioarbiter__copy(const exclaveaudioarbiter_exclaveaudioarbiter_s *_Nonnull src, exclaveaudioarbiter_exclaveaudioarbiter_s *_Nonnull dst); /*! * @function exclaveaudioarbiter_exclaveaudioarbiter__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void exclaveaudioarbiter_exclaveaudioarbiter__destruct(exclaveaudioarbiter_exclaveaudioarbiter_s *_Nonnull client); /*! * @typedef exclaveaudioarbiter_exclaveaudioarbiter__service_s * @brief Service connection handle for `ExclaveAudioArbiter.ExclaveAudioArbiter` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclaveaudioarbiter_exclaveaudioarbiter__service_s { tb_service_connection_t connection; } exclaveaudioarbiter_exclaveaudioarbiter__service_s; /*! * @typedef exclaveaudioarbiter_exclaveaudioarbiter__server_s * @brief Method callback blocks for handling `ExclaveAudioArbiter.ExclaveAudioArbiter` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct exclaveaudioarbiter_exclaveaudioarbiter__server_s { /*! * @field copyorzero * @brief Method handler for `ExclaveAudioArbiter.ExclaveAudioArbiter.copyOrZero(allowed:buffer:offset1:size1:offset2:size2:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ copyorzero)(const bool allowed, const exclaveaudioarbiter_arbitratedaudiobuffer_s buffer, const uint64_t offset1, const uint64_t size1, const uint64_t offset2, const uint64_t size2, tb_error_t (^ completion)(exclaveaudioarbiter_exclaveaudioarbiter_copyorzero__result_s)); } exclaveaudioarbiter_exclaveaudioarbiter__server_s; /*! * @function exclaveaudioarbiter_exclaveaudioarbiter__server_start * @brief Server start method for the `ExclaveAudioArbiter.ExclaveAudioArbiter` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t exclaveaudioarbiter_exclaveaudioarbiter__server_start(tb_endpoint_t ep, const exclaveaudioarbiter_exclaveaudioarbiter__server_s *_Nonnull server); /*! * @function exclaveaudioarbiter_exclaveaudioarbiter__server_start_owned * @brief Server start method for the `ExclaveAudioArbiter.ExclaveAudioArbiter` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t exclaveaudioarbiter_exclaveaudioarbiter__server_start_owned(tb_endpoint_t ep, exclaveaudioarbiter_exclaveaudioarbiter__service_s *_Nonnull service, const exclaveaudioarbiter_exclaveaudioarbiter__server_s *_Nonnull server); /*! * @function exclaveaudioarbiter_exclaveaudioarbiter__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void exclaveaudioarbiter_exclaveaudioarbiter__server_stop(exclaveaudioarbiter_exclaveaudioarbiter__service_s *_Nonnull service); /*! * @typedef exclavebufferarbiter_buffercopyerror__tag_s * @brief Tag descriminator for the `ExclaveBufferArbiter.BufferCopyError` enumeration * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef enum exclavebufferarbiter_buffercopyerror__tag_s : uint64_t { EXCLAVEBUFFERARBITER_BUFFERCOPYERROR__INTERNALERROR = 0x823f73cc1f1fccacULL, EXCLAVEBUFFERARBITER_BUFFERCOPYERROR__BOUNDS = 0x1e2640ca7bcd92f3ULL, } exclavebufferarbiter_buffercopyerror__tag_s; /*! * @typedef exclavebufferarbiter_buffercopyerror_s * @brief Declaration for the `ExclaveBufferArbiter.BufferCopyError` enumeration * @internal */ typedef struct exclavebufferarbiter_buffercopyerror_s { exclavebufferarbiter_buffercopyerror__tag_s tag; } exclavebufferarbiter_buffercopyerror_s; /*! * @function exclavebufferarbiter_buffercopyerror_internalerror__get * @brief Accessor for `ExclaveBufferArbiter.BufferCopyError.internalError` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveBufferArbiter.BufferCopyError.internalError` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclavebufferarbiter_buffercopyerror_internalerror__get(const exclavebufferarbiter_buffercopyerror_s *_Nonnull en); /*! * @function exclavebufferarbiter_buffercopyerror_bounds__get * @brief Accessor for `ExclaveBufferArbiter.BufferCopyError.bounds` * @internal * * @discussion * Returns `true` if the contents of `en` represents a `ExclaveBufferArbiter.BufferCopyError.bounds` * enumeration variant. Otherwise, returns `false` */ TB_NOEXPORT bool exclavebufferarbiter_buffercopyerror_bounds__get(const exclavebufferarbiter_buffercopyerror_s *_Nonnull en); /*! * @function exclavebufferarbiter_buffercopyerror_internalerror__init * @brief Initializer for `ExclaveBufferArbiter.BufferCopyError.internalError` * @internal * * @discussion * Initializes `en` to contain a `ExclaveBufferArbiter.BufferCopyError.internalError` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclavebufferarbiter_buffercopyerror_internalerror__init(exclavebufferarbiter_buffercopyerror_s *_Nonnull en); /*! * @function exclavebufferarbiter_buffercopyerror_bounds__init * @brief Initializer for `ExclaveBufferArbiter.BufferCopyError.bounds` * @internal * * @discussion * Initializes `en` to contain a `ExclaveBufferArbiter.BufferCopyError.bounds` * enumeration variant */ TB_NOEXPORT TB_UNUSED void exclavebufferarbiter_buffercopyerror_bounds__init(exclavebufferarbiter_buffercopyerror_s *_Nonnull en); /*! * @typedef exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s * @brief Result structure for `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * @internal * * @discussion * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s { uint8_t tag; union { exclavebufferarbiter_buffercopyerror_s failure; uint64_t success; } value; } exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s; /*! * @function exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_get_success * @brief Accessor for the success return type of `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * @internal * * @discussion * Checks if this return value represents a successful return * from a call to `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT uint64_t *_Nullable exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_get_success(exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s *_Nonnull result); /*! * @function exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_get_failure * @brief Accessor for the failure return type of `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * @internal * * @discussion * Checks if this return value represents a failed return from * a call to `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * and returns any associated data. Otherwise, `NULL` is returned. */ TB_NOEXPORT exclavebufferarbiter_buffercopyerror_s *_Nullable exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_get_failure(exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s *_Nonnull result); /*! * @function exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_init_success * @brief Initialize a return structure for `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * @internal * * @discussion * Initializes a return value for a call to `copyOrZero(allowed:buffer:size:)`, * indicating the call was successful and returns an associated * `UInt64` value. * * An initialized result type should be passed to the completion * handler provided to a `copyOrZero(allowed:buffer:size:)` method * handler. */ TB_NOEXPORT void exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_init_success(exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s *_Nonnull result, uint64_t value); /*! * @function exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_init_failure * @brief Initialize a return structure for `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * @internal * * @discussion * Initializes a return value for a call to `copyOrZero(allowed:buffer:size:)`, * indicating the call failed and returns an associated `ExclaveBufferArbiter.BufferCopyError` * value. * * An initialized result type should be passed to the completion * handler provided to a `copyOrZero(allowed:buffer:size:)` method * handler. */ TB_NOEXPORT void exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_init_failure(exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s *_Nonnull result, exclavebufferarbiter_buffercopyerror_s value); /*! * @typedef exclavebufferarbiter_exclavebufferarbiter_s * @brief Client connection handle for `ExclaveBufferArbiter.ExclaveBufferArbiter` * @internal * * @discussion * This structure represents an outgoing connection handle to * a destination endpoint. It should be initalized and then stored. * Methods can be invoked on this client using the relevant method * functions in this generated source file. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavebufferarbiter_exclavebufferarbiter_s { tb_client_connection_t connection; } exclavebufferarbiter_exclavebufferarbiter_s; /*! * @function exclavebufferarbiter_exclavebufferarbiter_copyorzero * @brief Invokes the `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` service method on the destination * @internal */ TB_NOEXPORT tb_error_t exclavebufferarbiter_exclavebufferarbiter_copyorzero(const exclavebufferarbiter_exclavebufferarbiter_s *_Nonnull client, const bool allowed, const exclavebufferarbiter_arbitratedbuffer_s buffer, const uint64_t size, void (^ result)(exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s)); /*! * @typedef exclavebufferarbiter_exclavebufferarbiter__init * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint`. */ TB_NOEXPORT tb_error_t exclavebufferarbiter_exclavebufferarbiter__init(exclavebufferarbiter_exclavebufferarbiter_s *_Nonnull client, tb_endpoint_t endpoint); /*! * @typedef exclavebufferarbiter_exclavebufferarbiter__init_static * @brief Client connection initializer * @internal * * @discussion * Initializes a client connection structure using `endpoint` * and existing references to statically allocated `connection` * and `transport`. * * The both the `connection` and `transport` pointers must remain * valid indefinitely. */ TB_NOEXPORT tb_error_t exclavebufferarbiter_exclavebufferarbiter__init_static(exclavebufferarbiter_exclavebufferarbiter_s *_Nonnull client, tb_endpoint_t endpoint, struct tb_connection_s *_Nonnull connection, struct tb_transport_s *_Nonnull transport); /*! * @function exclavebufferarbiter_exclavebufferarbiter__copy * @brief Copy a client connection to a new location * @internal * * @discussion * Copies a client connection structure from `src` to `dst`. */ TB_NOEXPORT void exclavebufferarbiter_exclavebufferarbiter__copy(const exclavebufferarbiter_exclavebufferarbiter_s *_Nonnull src, exclavebufferarbiter_exclavebufferarbiter_s *_Nonnull dst); /*! * @function exclavebufferarbiter_exclavebufferarbiter__destruct * @brief Destruct a client connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further method calls should be invoked * on it. */ TB_NOEXPORT void exclavebufferarbiter_exclavebufferarbiter__destruct(exclavebufferarbiter_exclavebufferarbiter_s *_Nonnull client); /*! * @typedef exclavebufferarbiter_exclavebufferarbiter__service_s * @brief Service connection handle for `ExclaveBufferArbiter.ExclaveBufferArbiter` * @internal * * @discussion * This structure represents an incoming service handle that * is listening on an endpoint. It should be initialized during * server start and then stored. * * The internal layout of this structure is an implementation * detail and does not represent a stable interface. It may change * without warning. */ typedef struct exclavebufferarbiter_exclavebufferarbiter__service_s { tb_service_connection_t connection; } exclavebufferarbiter_exclavebufferarbiter__service_s; /*! * @typedef exclavebufferarbiter_exclavebufferarbiter__server_s * @brief Method callback blocks for handling `ExclaveBufferArbiter.ExclaveBufferArbiter` service methods` * @internal * * @discussion * This structure holds callback blocks used to dispatch service * methods when received over Tightbeam. Your server-side implementation * *should* implement an instance of this structure and pass * it as part of configuring your service connection. */ typedef struct exclavebufferarbiter_exclavebufferarbiter__server_s { /*! * @field copyorzero * @brief Method handler for `ExclaveBufferArbiter.ExclaveBufferArbiter.copyOrZero(allowed:buffer:size:)` * @internal * * @discussion * The `completion` block must be invoked before returning * from this handler and the returned `tb_error_t` must be * returned from this block. */ tb_error_t (^ copyorzero)(const bool allowed, const exclavebufferarbiter_arbitratedbuffer_s buffer, const uint64_t size, tb_error_t (^ completion)(exclavebufferarbiter_exclavebufferarbiter_copyorzero__result_s)); } exclavebufferarbiter_exclavebufferarbiter__server_s; /*! * @function exclavebufferarbiter_exclavebufferarbiter__server_start * @brief Server start method for the `ExclaveBufferArbiter.ExclaveBufferArbiter` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. * * This function leaks the underlying Tightbeam transport and * is not recommended for new adoptions. */ TB_NOEXPORT tb_error_t exclavebufferarbiter_exclavebufferarbiter__server_start(tb_endpoint_t ep, const exclavebufferarbiter_exclavebufferarbiter__server_s *_Nonnull server); /*! * @function exclavebufferarbiter_exclavebufferarbiter__server_start_owned * @brief Server start method for the `ExclaveBufferArbiter.ExclaveBufferArbiter` service * @internal * * @discussion * This function activates your server handler on the given endpoint * `ep`. Once this function returns, your service will be able * to begin receiving incoming RPC invocations. */ TB_NOEXPORT tb_error_t exclavebufferarbiter_exclavebufferarbiter__server_start_owned(tb_endpoint_t ep, exclavebufferarbiter_exclavebufferarbiter__service_s *_Nonnull service, const exclavebufferarbiter_exclavebufferarbiter__server_s *_Nonnull server); /*! * @function exclavebufferarbiter_exclavebufferarbiter__server_stop * @brief Destruct a server connection structure * @internal * * @discussion * After a call to this destructor returns, the connection structure * is no longer valid and no further methods should be invoked * on it. */ TB_NOEXPORT void exclavebufferarbiter_exclavebufferarbiter__server_stop(exclavebufferarbiter_exclavebufferarbiter__service_s *_Nonnull service); _Pragma("clang diagnostic pop") _Pragma("clang assume_nonnull end") __END_DECLS