/*
 * Copyright (c) Apple, Inc.
 * All rights reserved.
 */

_Pragma("once")

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/cdefs.h>
#include <Tightbeam/tightbeam.h>
#include <Tightbeam/tightbeam_private.h>

__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 chillpilllimitms;
    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 maxchillpillusedms;
    uint64_t chillpillbucket0to100ms;
    uint64_t chillpillbucket101to200ms;
    uint64_t chillpillbucket201to300ms;
    uint64_t chillpillbucket301to400ms;
    uint64_t chillpillbucket401to500ms;
    uint64_t chillpillbucket501to600ms;
    uint64_t chillpillbucket601to700ms;
    uint64_t chillpillbucket701to800ms;
    uint64_t chillpillbucket801to900ms;
    uint64_t chillpillbucket901to1000ms;
    uint64_t chillpillbucket1001to1500ms;
    uint64_t chillpillbucket1501to2000ms;
    uint64_t chillpillbucket2001to2500ms;
    uint64_t chillpillbucket2501to3000ms;
    uint64_t chillpillbucket3000plusms;
} 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
