12#include "iree/base/api.h"
13#include "iree/base/byte_sequence.h"
53#if defined(__cplusplus)
54#define LOOMC_IREE_STATIC_ASSERT static_assert
56#define LOOMC_IREE_STATIC_ASSERT _Static_assert
60 sizeof(iree_string_view_t),
61 "loomc_string_view_t must match iree_string_view_t");
63 offsetof(iree_string_view_t, data),
64 "string view data fields must match");
66 offsetof(iree_string_view_t, size),
67 "string view size fields must match");
69 sizeof(iree_const_byte_span_t),
70 "loomc_byte_span_t must match iree_const_byte_span_t");
72 offsetof(iree_const_byte_span_t, data),
73 "byte span data fields must match");
75 offsetof(iree_const_byte_span_t, data_length),
76 "byte span length fields must match");
78 "status code values must match");
80 "status code values must match");
82 "status code values must match");
84 IREE_STATUS_INVALID_ARGUMENT,
85 "status code values must match");
87 IREE_STATUS_DEADLINE_EXCEEDED,
88 "status code values must match");
90 "status code values must match");
92 IREE_STATUS_ALREADY_EXISTS,
93 "status code values must match");
95 IREE_STATUS_PERMISSION_DENIED,
96 "status code values must match");
98 IREE_STATUS_RESOURCE_EXHAUSTED,
99 "status code values must match");
101 IREE_STATUS_FAILED_PRECONDITION,
102 "status code values must match");
104 "status code values must match");
106 "status code values must match");
108 IREE_STATUS_UNIMPLEMENTED,
109 "status code values must match");
111 "status code values must match");
113 "status code values must match");
115 "status code values must match");
117 IREE_STATUS_UNAUTHENTICATED,
118 "status code values must match");
120 "status code values must match");
122 "status code values must match");
124 "status code masks must match");
126 "status feature modes must match");
128 IREE_ALLOCATOR_COMMAND_MALLOC,
129 "allocator malloc commands must match");
131 IREE_ALLOCATOR_COMMAND_CALLOC,
132 "allocator calloc commands must match");
134 IREE_ALLOCATOR_COMMAND_REALLOC,
135 "allocator realloc commands must match");
137 IREE_ALLOCATOR_COMMAND_FREE,
138 "allocator free commands must match");
140 sizeof(iree_allocator_alloc_params_t),
141 "allocator parameter structures must match");
144 offsetof(iree_allocator_alloc_params_t,
146 "allocator parameter byte lengths must match");
158static inline loomc_status_t loomc_status_from_iree(iree_status_t status) {
170static inline iree_status_t iree_status_from_loomc(
loomc_status_t status) {
182 iree_string_view_t value) {
183 return loomc_make_string_view(value.data, value.size);
193static inline iree_string_view_t iree_string_view_from_loomc(
195 return iree_make_string_view(value.
data, value.
size);
206 iree_const_byte_span_t value) {
207 return loomc_make_byte_span(value.data, value.data_length);
217static inline iree_const_byte_span_t iree_const_byte_span_from_loomc(
226 iree_byte_sequence_t* sequence) {
233static inline iree_byte_sequence_t* iree_byte_sequence_from_loomc(
235 return (iree_byte_sequence_t*)sequence;
247 iree_allocator_t allocator) {
263static inline iree_allocator_t iree_allocator_from_loomc(
265 IREE_ASSERT_ARGUMENT(loomc_allocator_is_valid(allocator));
266 iree_allocator_t value = {
273#undef LOOMC_IREE_STATIC_ASSERT
@ LOOMC_ALLOCATOR_COMMAND_REALLOC
Resizes an existing allocation.
Definition base.h:375
@ LOOMC_ALLOCATOR_COMMAND_MALLOC
Allocates memory without requiring zero initialization.
Definition base.h:369
@ LOOMC_ALLOCATOR_COMMAND_CALLOC
Allocates memory and zeros it before returning.
Definition base.h:372
@ LOOMC_ALLOCATOR_COMMAND_FREE
Frees an existing allocation.
Definition base.h:378
struct iree_status_handle_t * loomc_status_t
Opaque status handle.
Definition base.h:55
Immutable ref-counted byte sequences.
struct loomc_byte_sequence_t loomc_byte_sequence_t
Immutable logical sequence of bytes stored in one or more segments.
Definition byte_sequence.h:28
Status codes and rich infrastructure error reporting.
@ LOOMC_STATUS_PERMISSION_DENIED
The caller does not have permission for the requested operation.
Definition status.h:113
@ LOOMC_STATUS_INVALID_ARGUMENT
The caller provided an invalid argument.
Definition status.h:101
@ LOOMC_STATUS_INCOMPATIBLE
The program or environment is incompatible with the request.
Definition status.h:146
@ LOOMC_STATUS_CODE_MASK
Mask covering all status code bits in a loomc_status_t value.
Definition status.h:149
@ LOOMC_STATUS_UNKNOWN
Unknown error or unmapped failure.
Definition status.h:98
@ LOOMC_STATUS_UNAUTHENTICATED
The requested operation does not have proper authentication.
Definition status.h:140
@ LOOMC_STATUS_OK
Successful operation.
Definition status.h:92
@ LOOMC_STATUS_NOT_FOUND
A referenced resource could not be found.
Definition status.h:107
@ LOOMC_STATUS_DEADLINE_EXCEEDED
A deadline was exceeded before the call completed.
Definition status.h:104
@ LOOMC_STATUS_INTERNAL
An internal invariant was violated.
Definition status.h:131
@ LOOMC_STATUS_FAILED_PRECONDITION
The system is not in a required state for the operation.
Definition status.h:119
@ LOOMC_STATUS_DEFERRED
The operation has been deferred and must be resumed later.
Definition status.h:143
@ LOOMC_STATUS_RESOURCE_EXHAUSTED
A required resource was exhausted.
Definition status.h:116
@ LOOMC_STATUS_DATA_LOSS
Unrecoverable data loss or corruption occurred.
Definition status.h:137
@ LOOMC_STATUS_CANCELLED
Operation was cancelled by the caller.
Definition status.h:95
@ LOOMC_STATUS_ABORTED
The operation was aborted by the system.
Definition status.h:122
@ LOOMC_STATUS_ALREADY_EXISTS
The resource the caller attempted to create already exists.
Definition status.h:110
@ LOOMC_STATUS_UNIMPLEMENTED
The operation has not been implemented or is not supported.
Definition status.h:128
@ LOOMC_STATUS_OUT_OF_RANGE
The operation was attempted outside a valid range.
Definition status.h:125
@ LOOMC_STATUS_UNAVAILABLE
The underlying system is currently unavailable.
Definition status.h:134
#define LOOMC_STATUS_FEATURES
Feature bit mask derived from LOOMC_STATUS_MODE.
Definition status.h:81
Allocation parameters passed to loomc_allocator_ctl_fn_t callbacks.
Definition base.h:385
Host allocator used for persistent Loom object storage.
Definition base.h:414
loomc_allocator_ctl_fn_t ctl
Callback implementing allocation commands.
Definition base.h:419
void * self
Callback-owned state pointer.
Definition base.h:416
Non-owning view over immutable bytes.
Definition base.h:128
loomc_host_size_t data_length
Number of bytes in data.
Definition base.h:133
const uint8_t * data
First byte of the span, or NULL when the span is empty.
Definition base.h:130
Non-owning string view over bytes that need not be NUL-terminated.
Definition base.h:63
const char * data
First byte of the string, or NULL when the view is empty.
Definition base.h:65
loomc_host_size_t size
Number of bytes in data.
Definition base.h:68