Apache OpenDALâ„¢ C Binding
The C binding for Apache OpenDALâ„¢
Loading...
Searching...
No Matches
opendal.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20
21#ifndef _OPENDAL_H
22#define _OPENDAL_H
23
24#include <stdint.h>
25#include <stddef.h>
26#include <stdbool.h>
27
28#define OPENDAL_SEEK_SET 0
29
30#define OPENDAL_SEEK_CUR 1
31
32#define OPENDAL_SEEK_END 2
33
89
91
101typedef struct opendal_bytes {
105 uint8_t *data;
109 uintptr_t len;
113 uintptr_t capacity;
115
139
148typedef struct opendal_entry {
153 void *inner;
155
173
190
203
222
233
247
268
291
309
323
384
403
493
507
524
537
553
577
598
619
637
688
706
745
786
798
803typedef struct opendal_capability {
807 bool stat;
843 bool read;
879 bool write;
967 bool copy;
999 bool rename;
1003 bool list;
1049
1057
1071
1085
1101
1117
1133
1134#ifdef __cplusplus
1135extern "C" {
1136#endif // __cplusplus
1137
1142
1153
1158
1163
1168 bool jitter,
1169 float factor,
1170 uint64_t min_delay_ns,
1171 uint64_t max_delay_ns,
1172 uint64_t max_times);
1173
1178 uint64_t timeout_ns,
1179 uint64_t io_timeout_ns);
1180
1185
1190
1194uint8_t opendal_metadata_mode(const struct opendal_metadata *self);
1195
1200
1205
1210
1217
1222
1229
1236
1243
1250
1257
1263char *opendal_metadata_etag(const struct opendal_metadata *self);
1264
1271
1278
1293
1298
1303
1308
1327
1368 const struct opendal_operator_options *options);
1369
1381 const struct opendal_operator_options *options,
1382 const struct opendal_operator_layers *layers);
1383
1431 const char *path,
1432 const struct opendal_bytes *bytes);
1433
1438 const char *path,
1439 const struct opendal_bytes *bytes,
1440 const struct opendal_write_options *opts);
1441
1484 const char *path);
1485
1518 const char *path,
1519 const struct opendal_read_options *opts);
1520
1560 const char *path);
1561
1601 const char *path);
1602
1607 const char *path,
1608 const struct opendal_write_options *opts);
1609
1652struct opendal_error *opendal_operator_delete(const struct opendal_operator *op, const char *path);
1653
1677 const char *path,
1678 const struct opendal_delete_options *opts);
1679
1720 const char *path);
1721
1762 const char *path);
1763
1803 const char *path);
1804
1830 const char *path,
1831 const struct opendal_stat_options *opts);
1832
1884 const char *path);
1885
1910 const char *path,
1911 const struct opendal_list_options *opts);
1912
1949 const char *path);
1950
1995 const char *src,
1996 const char *dest);
1997
2042 const char *src,
2043 const char *dest);
2044
2099 const char *src,
2100 const char *dest,
2101 const struct opendal_copy_options *opts);
2102
2104
2124
2129
2136
2143
2151
2156
2161 const char *path,
2162 uint64_t expire_secs);
2163
2168 const char *path,
2169 uint64_t expire_secs,
2170 const struct opendal_read_options *opts);
2171
2176 const char *path,
2177 uint64_t expire_secs);
2178
2183 const char *path,
2184 uint64_t expire_secs,
2185 const struct opendal_write_options *opts);
2186
2191 const char *path,
2192 uint64_t expire_secs);
2193
2198 const char *path,
2199 uint64_t expire_secs,
2200 const struct opendal_delete_options *opts);
2201
2206 const char *path,
2207 uint64_t expire_secs);
2208
2213 const char *path,
2214 uint64_t expire_secs,
2215 const struct opendal_stat_options *opts);
2216
2221
2226
2231
2236
2241
2247void opendal_string_free(char *ptr);
2248
2253
2262
2270
2278
2288 const char *start_after);
2289
2297
2305
2312
2321
2329
2337
2344
2349
2354
2359
2364 const char *cache_control);
2365
2370 const char *content_type);
2371
2376 const char *content_disposition);
2377
2382 const char *content_encoding);
2383
2388
2393 const char *if_none_match);
2394
2399 bool if_not_exists);
2400
2405
2410
2415 const struct opendal_write_user_metadata_pair *pairs,
2416 uintptr_t len);
2417
2422
2427
2432
2437
2442 const char *if_none_match);
2443
2448 int64_t if_modified_since);
2449
2454 int64_t if_unmodified_since);
2455
2460 const char *override_content_type);
2461
2466 const char *override_cache_control);
2467
2472 const char *override_content_disposition);
2473
2478
2483
2488 uint64_t offset,
2489 uint64_t length);
2490
2495
2500
2505
2510 const char *if_none_match);
2511
2516 int64_t if_modified_since);
2517
2522 int64_t if_unmodified_since);
2523
2528
2533
2538
2547 uint64_t content_length_hint);
2548
2553 const char *override_content_type);
2554
2559 const char *override_cache_control);
2560
2565 const char *override_content_disposition);
2566
2571
2576
2581
2586
2591 const char *source_version);
2592
2598
2603
2608
2618
2639 const char *key,
2640 const char *value);
2641
2646
2654char *opendal_entry_path(const struct opendal_entry *self);
2655
2665char *opendal_entry_name(const struct opendal_entry *self);
2666
2674
2679
2684 uint8_t *buf,
2685 uintptr_t len);
2686
2691 int64_t offset,
2692 int32_t whence);
2693
2698
2703 const struct opendal_bytes *bytes);
2704
2709
2714
2715#ifdef __cplusplus
2716} // extern "C"
2717#endif // __cplusplus
2718
2719#endif /* _OPENDAL_H */
struct opendal_result_presign opendal_operator_presign_write(const struct opendal_operator *op, const char *path, uint64_t expire_secs)
Presign a write operation.
struct opendal_error * opendal_operator_write(const struct opendal_operator *op, const char *path, const struct opendal_bytes *bytes)
Blocking write raw bytes to path.
struct opendal_delete_options * opendal_delete_options_new(void)
Construct a heap-allocated opendal_delete_options with default values.
char * opendal_operator_info_get_name(const struct opendal_operator_info *self)
Return the nul-terminated operator backend's name, could be empty if underlying backend has no namesp...
struct opendal_result_presign opendal_operator_presign_delete_with(const struct opendal_operator *op, const char *path, uint64_t expire_secs, const struct opendal_delete_options *opts)
Presign a delete operation with options.
void opendal_read_options_set_content_length_hint(struct opendal_read_options *opts, uint64_t content_length_hint)
Set the known content length of the object.
void opendal_write_options_set_if_match(struct opendal_write_options *opts, const char *if_match)
Set If-Match.
void opendal_operator_free(const struct opendal_operator *ptr)
Free the heap-allocated operator pointed by opendal_operator.
void opendal_write_options_free(struct opendal_write_options *opts)
Free the heap memory used by opendal_write_options.
void opendal_metadata_user_metadata_free(struct opendal_metadata_user_metadata *metadata)
Free the user metadata returned by opendal_metadata_user_metadata.
void opendal_stat_options_set_if_modified_since(struct opendal_stat_options *opts, int64_t if_modified_since)
Set If-Modified-Since in milliseconds since the Unix epoch.
void opendal_stat_options_set_if_none_match(struct opendal_stat_options *opts, const char *if_none_match)
Set If-None-Match.
void opendal_read_options_set_range_from(struct opendal_read_options *opts, uint64_t offset)
Set the read range to start at offset and extend to the end of the file.
void opendal_read_options_set_if_match(struct opendal_read_options *opts, const char *if_match)
Set If-Match.
struct opendal_result_presign opendal_operator_presign_stat_with(const struct opendal_operator *op, const char *path, uint64_t expire_secs, const struct opendal_stat_options *opts)
Presign a stat operation with options.
struct opendal_result_reader_seek opendal_reader_seek(struct opendal_reader *self, int64_t offset, int32_t whence)
Seek to an offset, in bytes, in a stream.
uint8_t opendal_metadata_mode(const struct opendal_metadata *self)
Return mode of the metadata: 0 for unknown, 1 for file, and 2 for dir.
struct opendal_operator_layers * opendal_operator_layers_new(void)
Construct a heap-allocated opendal_operator_layers.
void opendal_copy_options_set_if_not_exists(struct opendal_copy_options *opts, bool if_not_exists)
Set if_not_exists.
struct opendal_error * opendal_operator_create_dir(const struct opendal_operator *op, const char *path)
Blocking create the directory in path.
void opendal_list_options_free(struct opendal_list_options *opts)
Free the heap memory used by opendal_list_options.
char * opendal_metadata_content_md5(const struct opendal_metadata *self)
Return the content md5 of the metadata.
char * opendal_metadata_content_encoding(const struct opendal_metadata *self)
Return the content encoding of the metadata.
void opendal_delete_options_set_version(struct opendal_delete_options *opts, const char *version)
Set the version option.
struct opendal_result_presign opendal_operator_presign_stat(const struct opendal_operator *op, const char *path, uint64_t expire_secs)
Presign a stat operation.
uintptr_t opendal_metadata_user_metadata_len(const struct opendal_metadata_user_metadata *metadata)
Return the number of key-value pairs in the user metadata.
char * opendal_metadata_cache_control(const struct opendal_metadata *self)
Return the cache control of the metadata.
void opendal_copy_options_set_if_match(struct opendal_copy_options *opts, const char *if_match)
Set If-Match.
struct opendal_result_presign opendal_operator_presign_read_with(const struct opendal_operator *op, const char *path, uint64_t expire_secs, const struct opendal_read_options *opts)
Presign a read operation with options.
void opendal_stat_options_set_override_content_disposition(struct opendal_stat_options *opts, const char *override_content_disposition)
Set the override Content-Disposition.
struct opendal_result_operator_new opendal_operator_new_with_layers(const char *scheme, const struct opendal_operator_options *options, const struct opendal_operator_layers *layers)
Construct an operator based on scheme, options, and explicit layers.
struct opendal_result_reader_read opendal_reader_read(struct opendal_reader *self, uint8_t *buf, uintptr_t len)
Read data from the reader.
struct opendal_result_operator_new opendal_operator_new(const char *scheme, const struct opendal_operator_options *options)
Construct an operator based on scheme and options
struct opendal_result_stat opendal_operator_stat_with(const struct opendal_operator *op, const char *path, const struct opendal_stat_options *opts)
Blocking stat the object in path with options.
struct opendal_result_lister_next opendal_lister_next(struct opendal_lister *self)
Return the next object to be listed.
void opendal_delete_options_free(struct opendal_delete_options *opts)
Free the heap memory used by opendal_delete_options.
void opendal_list_options_set_recursive(struct opendal_list_options *opts, bool recursive)
Set the recursive option.
void opendal_stat_options_set_version(struct opendal_stat_options *opts, const char *version)
Set the version.
void opendal_copy_options_set_source_content_length_hint(struct opendal_copy_options *opts, uint64_t source_content_length_hint)
Set source_content_length_hint.
uintptr_t opendal_presigned_request_headers_len(const struct opendal_presigned_request *req)
char * opendal_operator_info_get_scheme(const struct opendal_operator_info *self)
Return the nul-terminated operator's scheme, i.e. service.
void opendal_read_options_set_version(struct opendal_read_options *opts, const char *version)
Set the version of the object to read.
struct opendal_error * opendal_operator_write_with(const struct opendal_operator *op, const char *path, const struct opendal_bytes *bytes, const struct opendal_write_options *opts)
Blocking write raw bytes to path with options.
struct opendal_error * opendal_operator_copy_with(const struct opendal_operator *op, const char *src, const char *dest, const struct opendal_copy_options *opts)
Blocking copy the object in path with options.
void opendal_error_free(struct opendal_error *ptr)
Frees the opendal_error, ok to call on NULL.
void opendal_operator_info_free(struct opendal_operator_info *ptr)
Free the heap-allocated opendal_operator_info.
char * opendal_metadata_content_disposition(const struct opendal_metadata *self)
Return the content disposition of the metadata.
struct opendal_read_options * opendal_read_options_new(void)
Construct a heap-allocated opendal_read_options with default values.
char * opendal_metadata_version(const struct opendal_metadata *self)
Return the version of the metadata.
void opendal_list_options_set_limit(struct opendal_list_options *opts, uintptr_t limit)
Set the limit option.
struct opendal_result_read opendal_operator_read_with(const struct opendal_operator *op, const char *path, const struct opendal_read_options *opts)
Blocking read the data from path with options.
char * opendal_metadata_etag(const struct opendal_metadata *self)
Return the etag of the metadata.
void opendal_read_options_set_if_none_match(struct opendal_read_options *opts, const char *if_none_match)
Set If-None-Match.
struct opendal_result_exists opendal_operator_exists(const struct opendal_operator *op, const char *path)
Check whether the path exists.
void opendal_write_options_set_content_disposition(struct opendal_write_options *opts, const char *content_disposition)
Set Content-Disposition.
void opendal_stat_options_set_if_match(struct opendal_stat_options *opts, const char *if_match)
Set If-Match.
struct opendal_error * opendal_operator_copy(const struct opendal_operator *op, const char *src, const char *dest)
Blocking copy the object in path.
void opendal_string_free(char *ptr)
Frees a heap-allocated string returned by OpenDAL C APIs.
void opendal_write_options_set_chunk(struct opendal_write_options *opts, uintptr_t chunk)
Set chunk.
opendal_code
The error code for all opendal APIs in C binding.
Definition opendal.h:39
@ OPENDAL_CONDITION_NOT_MATCH
Definition opendal.h:83
@ OPENDAL_UNSUPPORTED
Definition opendal.h:47
@ OPENDAL_NOT_FOUND
Definition opendal.h:55
@ OPENDAL_IS_A_DIRECTORY
Definition opendal.h:63
@ OPENDAL_UNEXPECTED
Definition opendal.h:43
@ OPENDAL_PERMISSION_DENIED
Definition opendal.h:59
@ OPENDAL_ALREADY_EXISTS
Definition opendal.h:71
@ OPENDAL_IS_SAME_FILE
Definition opendal.h:79
@ OPENDAL_RANGE_NOT_SATISFIED
Definition opendal.h:87
@ OPENDAL_NOT_A_DIRECTORY
Definition opendal.h:67
@ OPENDAL_RATE_LIMITED
Definition opendal.h:75
@ OPENDAL_CONFIG_INVALID
Definition opendal.h:51
struct opendal_result_writer_write opendal_writer_write(struct opendal_writer *self, const struct opendal_bytes *bytes)
Write data to the writer.
void opendal_list_options_set_deleted(struct opendal_list_options *opts, bool deleted)
Set the deleted option.
struct opendal_error * opendal_writer_close(struct opendal_writer *ptr)
Close the writer and make sure all data have been stored.
void opendal_operator_layers_free(struct opendal_operator_layers *ptr)
Free the allocated memory used by opendal_operator_layers.
struct opendal_write_options * opendal_write_options_new(void)
Construct a heap-allocated opendal_write_options with default values.
void opendal_stat_options_free(struct opendal_stat_options *opts)
Free the heap memory used by opendal_stat_options.
uint8_t opendal_metadata_is_current(const struct opendal_metadata *self)
Return whether this metadata is current.
void opendal_operator_layers_add_retry(struct opendal_operator_layers *self, bool jitter, float factor, uint64_t min_delay_ns, uint64_t max_delay_ns, uint64_t max_times)
Add a retry layer.
struct opendal_result_list opendal_operator_list_with(const struct opendal_operator *op, const char *path, const struct opendal_list_options *opts)
Blocking list the objects in path with options.
void opendal_operator_layers_add_timeout(struct opendal_operator_layers *self, uint64_t timeout_ns, uint64_t io_timeout_ns)
Add a timeout layer.
struct opendal_result_presign opendal_operator_presign_delete(const struct opendal_operator *op, const char *path, uint64_t expire_secs)
Presign a delete operation.
void opendal_lister_free(struct opendal_lister *ptr)
Free the heap-allocated metadata used by opendal_lister.
const struct opendal_metadata_user_metadata_pair * opendal_metadata_user_metadata_pairs(const struct opendal_metadata_user_metadata *metadata)
Return the key-value pairs of the user metadata.
struct opendal_result_presign opendal_operator_presign_read(const struct opendal_operator *op, const char *path, uint64_t expire_secs)
Presign a read operation.
void opendal_read_options_set_gap(struct opendal_read_options *opts, uintptr_t gap)
Set gap size.
char * opendal_entry_name(const struct opendal_entry *self)
Name of entry.
void opendal_reader_free(struct opendal_reader *ptr)
Frees the heap memory used by the opendal_reader.
void opendal_read_options_set_concurrent(struct opendal_read_options *opts, uintptr_t concurrent)
Set concurrent read operations.
void opendal_copy_options_set_source_version(struct opendal_copy_options *opts, const char *source_version)
Set source version.
void opendal_delete_options_set_recursive(struct opendal_delete_options *opts, bool recursive)
Set the recursive option.
void opendal_operator_options_free(struct opendal_operator_options *ptr)
Free the allocated memory used by [opendal_operator_options].
bool opendal_metadata_is_file(const struct opendal_metadata *self)
Return whether the path represents a file.
void opendal_read_options_set_if_modified_since(struct opendal_read_options *opts, int64_t if_modified_since)
Set If-Modified-Since, in Unix milliseconds.
struct opendal_error * opendal_operator_delete_with(const struct opendal_operator *op, const char *path, const struct opendal_delete_options *opts)
Blocking delete the object in path with options.
void opendal_read_options_set_if_unmodified_since(struct opendal_read_options *opts, int64_t if_unmodified_since)
Set If-Unmodified-Since, in Unix milliseconds.
struct opendal_result_stat opendal_operator_stat(const struct opendal_operator *op, const char *path)
Stat the path, return its metadata.
void opendal_metadata_free(struct opendal_metadata *ptr)
Free the heap-allocated metadata used by opendal_metadata.
void opendal_write_options_set_content_type(struct opendal_write_options *opts, const char *content_type)
Set Content-Type.
void opendal_stat_options_set_if_unmodified_since(struct opendal_stat_options *opts, int64_t if_unmodified_since)
Set If-Unmodified-Since in milliseconds since the Unix epoch.
void opendal_copy_options_set_concurrent(struct opendal_copy_options *opts, uintptr_t concurrent)
Set concurrent.
void opendal_write_options_set_if_not_exists(struct opendal_write_options *opts, bool if_not_exists)
Set if_not_exists.
void opendal_write_options_set_content_encoding(struct opendal_write_options *opts, const char *content_encoding)
Set Content-Encoding.
void opendal_stat_options_set_override_content_type(struct opendal_stat_options *opts, const char *override_content_type)
Set the override Content-Type.
struct opendal_copy_options * opendal_copy_options_new(void)
Construct a heap-allocated opendal_copy_options with default values.
struct opendal_error * opendal_operator_rename(const struct opendal_operator *op, const char *src, const char *dest)
Blocking rename the object in path.
void opendal_read_options_set_override_content_disposition(struct opendal_read_options *opts, const char *override_content_disposition)
Set the override Content-Disposition (presign only).
void opendal_presigned_request_free(struct opendal_presigned_request *req)
Free the presigned request.
void opendal_write_options_set_user_metadata(struct opendal_write_options *opts, const struct opendal_write_user_metadata_pair *pairs, uintptr_t len)
Set user metadata.
char * opendal_operator_info_get_root(const struct opendal_operator_info *self)
Return the nul-terminated operator's working root path.
struct opendal_result_read opendal_operator_read(const struct opendal_operator *op, const char *path)
Blocking read the data from path.
void opendal_write_options_set_append(struct opendal_write_options *opts, bool append)
Set append mode.
char * opendal_metadata_content_type(const struct opendal_metadata *self)
Return the content type of the metadata.
void opendal_writer_free(struct opendal_writer *ptr)
Frees the heap memory used by the opendal_writer.
void opendal_list_options_set_versions(struct opendal_list_options *opts, bool versions)
Set the versions option.
struct opendal_error * opendal_operator_check(const struct opendal_operator *op)
const char * opendal_presigned_request_method(const struct opendal_presigned_request *req)
char * opendal_entry_path(const struct opendal_entry *self)
Path of entry.
const char * opendal_presigned_request_uri(const struct opendal_presigned_request *req)
bool opendal_metadata_is_deleted(const struct opendal_metadata *self)
Return whether this metadata is deleted.
void opendal_read_options_set_chunk(struct opendal_read_options *opts, uintptr_t chunk)
Set chunk size.
void opendal_write_options_set_cache_control(struct opendal_write_options *opts, const char *cache_control)
Set Cache-Control.
void opendal_write_options_set_concurrent(struct opendal_write_options *opts, uintptr_t concurrent)
Set concurrent.
struct opendal_result_operator_writer opendal_operator_writer_with(const struct opendal_operator *op, const char *path, const struct opendal_write_options *opts)
Blocking create a writer for the specified path with options.
bool opendal_metadata_is_dir(const struct opendal_metadata *self)
Return whether the path represents a directory.
uint64_t opendal_metadata_content_length(const struct opendal_metadata *self)
Return the content_length of the metadata.
struct opendal_result_operator_reader opendal_operator_reader(const struct opendal_operator *op, const char *path)
Blocking read the data from path.
void opendal_read_options_set_override_content_type(struct opendal_read_options *opts, const char *override_content_type)
Set the override Content-Type (presign only).
struct opendal_result_is_exist opendal_operator_is_exist(const struct opendal_operator *op, const char *path)
Check whether the path exists.
void opendal_copy_options_set_chunk(struct opendal_copy_options *opts, uintptr_t chunk)
Set chunk.
void opendal_copy_options_free(struct opendal_copy_options *opts)
Free the heap memory used by opendal_copy_options.
void opendal_read_options_set_range(struct opendal_read_options *opts, uint64_t offset, uint64_t length)
Set the read range offset and length.
void opendal_read_options_free(struct opendal_read_options *opts)
Free the heap memory used by opendal_read_options.
struct opendal_metadata * opendal_entry_metadata(const struct opendal_entry *self)
Return the metadata associated with this entry.
void opendal_write_options_set_if_none_match(struct opendal_write_options *opts, const char *if_none_match)
Set If-None-Match.
void opendal_stat_options_set_override_cache_control(struct opendal_stat_options *opts, const char *override_cache_control)
Set the override Cache-Control.
const struct opendal_http_header_pair * opendal_presigned_request_headers(const struct opendal_presigned_request *req)
struct opendal_stat_options * opendal_stat_options_new(void)
Construct a heap-allocated opendal_stat_options with default values.
struct opendal_error * opendal_operator_delete(const struct opendal_operator *op, const char *path)
Blocking delete the object in path.
void opendal_bytes_free(struct opendal_bytes *ptr)
Frees the heap memory used by the opendal_bytes.
struct opendal_result_operator_writer opendal_operator_writer(const struct opendal_operator *op, const char *path)
Blocking create a writer for the specified path.
struct opendal_list_options * opendal_list_options_new(void)
Construct a heap-allocated opendal_list_options with default values.
struct opendal_presigned_request_inner opendal_presigned_request_inner
Definition opendal.h:90
struct opendal_result_presign opendal_operator_presign_write_with(const struct opendal_operator *op, const char *path, uint64_t expire_secs, const struct opendal_write_options *opts)
Presign a write operation with options.
void opendal_operator_options_set(struct opendal_operator_options *self, const char *key, const char *value)
Set a Key-Value pair inside opendal_operator_options.
struct opendal_operator_options * opendal_operator_options_new(void)
Construct a heap-allocated opendal_operator_options.
struct opendal_capability opendal_operator_info_get_capability(const struct opendal_operator_info *self)
Return the operator's capability.
void opendal_list_options_set_start_after(struct opendal_list_options *opts, const char *start_after)
Set the start_after option.
void opendal_read_options_set_override_cache_control(struct opendal_read_options *opts, const char *override_cache_control)
Set the override Cache-Control (presign only).
struct opendal_result_list opendal_operator_list(const struct opendal_operator *op, const char *path)
Blocking list the objects in path.
void opendal_entry_free(struct opendal_entry *ptr)
Frees the heap memory used by the opendal_list_entry.
int64_t opendal_metadata_last_modified_ms(const struct opendal_metadata *self)
Return the last_modified of the metadata, in milliseconds.
struct opendal_operator_info * opendal_operator_info_new(const struct opendal_operator *op)
Get information of underlying accessor.
struct opendal_metadata_user_metadata * opendal_metadata_get_user_metadata(const struct opendal_metadata *self)
Return the user metadata of the metadata.
opendal_bytes carries raw-bytes with its length
Definition opendal.h:101
uintptr_t capacity
Definition opendal.h:113
uintptr_t len
Definition opendal.h:109
uint8_t * data
Definition opendal.h:105
Capability is used to describe what operations are supported by current Operator.
Definition opendal.h:803
bool write_can_append
Definition opendal.h:891
bool stat_with_version
Definition opendal.h:839
bool stat_with_if_modified_since
Definition opendal.h:819
bool write_can_multi
Definition opendal.h:883
bool write_with_user_metadata
Definition opendal.h:923
uintptr_t copy_multi_min_size
Definition opendal.h:995
bool write_with_if_none_match
Definition opendal.h:915
bool list_with_start_after
Definition opendal.h:1011
bool delete_
Definition opendal.h:955
bool create_dir
Definition opendal.h:951
bool list_with_versions
Definition opendal.h:1019
uintptr_t write_multi_min_size
Definition opendal.h:939
bool shared
Definition opendal.h:1047
bool stat_with_if_match
Definition opendal.h:811
bool read_with_version
Definition opendal.h:875
bool stat_with_if_unmodified_since
Definition opendal.h:823
bool read_with_override_content_type
Definition opendal.h:863
bool write_with_if_not_exists
Definition opendal.h:919
bool read_with_if_unmodified_since
Definition opendal.h:871
bool write_with_content_encoding
Definition opendal.h:903
bool write_with_if_match
Definition opendal.h:911
bool stat_with_override_content_disposition
Definition opendal.h:831
bool presign_stat
Definition opendal.h:1035
bool read_with_if_match
Definition opendal.h:847
bool delete_with_version
Definition opendal.h:959
bool write
Definition opendal.h:879
bool presign_read
Definition opendal.h:1031
bool presign_delete
Definition opendal.h:1043
bool delete_with_recursive
Definition opendal.h:963
bool write_with_content_type
Definition opendal.h:895
uintptr_t write_total_max_size
Definition opendal.h:947
bool copy_with_source_version
Definition opendal.h:979
bool presign
Definition opendal.h:1027
bool read
Definition opendal.h:843
uintptr_t copy_multi_max_size
Definition opendal.h:989
bool rename
Definition opendal.h:999
bool list
Definition opendal.h:1003
bool write_with_cache_control
Definition opendal.h:907
bool stat_with_if_none_match
Definition opendal.h:815
bool list_with_deleted
Definition opendal.h:1023
uintptr_t write_multi_max_size
Definition opendal.h:931
bool copy_with_if_not_exists
Definition opendal.h:971
bool write_can_empty
Definition opendal.h:887
bool copy
Definition opendal.h:967
bool stat
Definition opendal.h:807
bool read_with_override_content_disposition
Definition opendal.h:859
bool read_with_if_none_match
Definition opendal.h:851
bool stat_with_override_content_type
Definition opendal.h:835
bool read_with_if_modified_since
Definition opendal.h:867
bool copy_can_multi
Definition opendal.h:983
bool list_with_recursive
Definition opendal.h:1015
bool write_with_content_disposition
Definition opendal.h:899
bool stat_with_override_cache_control
Definition opendal.h:827
bool copy_with_if_match
Definition opendal.h:975
bool presign_write
Definition opendal.h:1039
bool list_with_limit
Definition opendal.h:1007
bool read_with_override_cache_control
Definition opendal.h:855
The options for copy operations.
Definition opendal.h:752
uint64_t source_content_length_hint
Definition opendal.h:772
bool if_not_exists
Definition opendal.h:756
bool has_chunk
Definition opendal.h:780
const char * if_match
Definition opendal.h:760
uintptr_t chunk
Definition opendal.h:784
bool has_source_content_length_hint
Definition opendal.h:768
uintptr_t concurrent
Definition opendal.h:776
const char * source_version
Definition opendal.h:764
The options for the delete operation.
Definition opendal.h:567
char * version
Definition opendal.h:571
bool recursive
Definition opendal.h:575
opendal_list_entry is the entry under a path, which is listed from the opendal_lister
Definition opendal.h:148
void * inner
Definition opendal.h:153
The opendal error type for C binding, containing an error code and corresponding error message.
Definition opendal.h:135
struct opendal_bytes message
Definition opendal.h:137
enum opendal_code code
Definition opendal.h:136
The key-value pair for the headers of the presigned request.
Definition opendal.h:1075
const char * key
Definition opendal.h:1079
const char * value
Definition opendal.h:1083
The options for the list operation.
Definition opendal.h:723
bool recursive
Definition opendal.h:727
bool versions
Definition opendal.h:739
char * start_after
Definition opendal.h:735
bool deleted
Definition opendal.h:743
uintptr_t limit
Definition opendal.h:731
BlockingLister is designed to list entries at given path in a blocking manner.
Definition opendal.h:183
void * inner
Definition opendal.h:188
A user metadata key-value pair.
Definition opendal.h:237
const char * key
Definition opendal.h:241
const char * value
Definition opendal.h:245
User metadata associated with a path.
Definition opendal.h:226
void * inner
Definition opendal.h:231
Carries all metadata associated with a path.
Definition opendal.h:215
void * inner
Definition opendal.h:220
Metadata for operator, users can use this metadata to get information of operator.
Definition opendal.h:791
void * inner
Definition opendal.h:796
The layers to apply when initializing an opendal_operator.
Definition opendal.h:196
void * inner
Definition opendal.h:201
The configuration for the initialization of opendal_operator.
Definition opendal.h:302
void * inner
Definition opendal.h:307
Used to access almost all OpenDAL APIs. It represents an operator that provides the unified interface...
Definition opendal.h:261
void * inner
Definition opendal.h:266
The underlying presigned request, which contains the HTTP method, URI, and headers....
Definition opendal.h:1054
struct opendal_presigned_request_inner * inner
Definition opendal.h:1055
The options for read operations.
Definition opendal.h:410
uint64_t length
Definition opendal.h:422
const char * if_match
Definition opendal.h:430
const char * override_content_type
Definition opendal.h:483
uintptr_t gap
Definition opendal.h:470
uintptr_t chunk
Definition opendal.h:462
const char * override_content_disposition
Definition opendal.h:491
int64_t if_modified_since
Definition opendal.h:442
bool has_if_unmodified_since
Definition opendal.h:446
bool has_if_modified_since
Definition opendal.h:438
bool has_content_length_hint
Definition opendal.h:474
const char * version
Definition opendal.h:426
const char * override_cache_control
Definition opendal.h:487
bool has_length
Definition opendal.h:418
int64_t if_unmodified_since
Definition opendal.h:450
bool has_chunk
Definition opendal.h:458
const char * if_none_match
Definition opendal.h:434
bool has_gap
Definition opendal.h:466
uint64_t content_length_hint
Definition opendal.h:479
uint64_t offset
Definition opendal.h:414
uintptr_t concurrent
Definition opendal.h:454
The result type returned by opendal's reader operation.
Definition opendal.h:500
void * inner
Definition opendal.h:505
The result type returned by opendal_operator_exists().
Definition opendal.h:609
bool exists
Definition opendal.h:613
struct opendal_error * error
Definition opendal.h:617
The result type returned by opendal_operator_is_exist().
Definition opendal.h:588
struct opendal_error * error
Definition opendal.h:596
bool is_exist
Definition opendal.h:592
The result type returned by opendal_operator_list().
Definition opendal.h:696
struct opendal_lister * lister
Definition opendal.h:700
struct opendal_error * error
Definition opendal.h:704
The result type returned by opendal_lister_next(). The list entry is the list result of the list oper...
Definition opendal.h:163
struct opendal_entry * entry
Definition opendal.h:167
struct opendal_error * error
Definition opendal.h:171
The result type returned by opendal_operator_new() operation.
Definition opendal.h:281
struct opendal_operator * op
Definition opendal.h:285
struct opendal_error * error
Definition opendal.h:289
The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(),...
Definition opendal.h:514
struct opendal_error * error
Definition opendal.h:522
struct opendal_reader * reader
Definition opendal.h:518
The result type returned by opendal_operator_writer(). The result type for opendal_operator_writer(),...
Definition opendal.h:543
struct opendal_writer * writer
Definition opendal.h:547
struct opendal_error * error
Definition opendal.h:551
The result of a presign operation.
Definition opendal.h:1061
struct opendal_presigned_request * req
Definition opendal.h:1065
struct opendal_error * error
Definition opendal.h:1069
The result type returned by opendal's read operation.
Definition opendal.h:393
struct opendal_bytes data
Definition opendal.h:397
struct opendal_error * error
Definition opendal.h:401
The is the result type returned by opendal_reader_read(). The result type contains a size field,...
Definition opendal.h:1091
struct opendal_error * error
Definition opendal.h:1099
uintptr_t size
Definition opendal.h:1095
The result type returned by opendal_reader_seek(). The result type contains a pos field,...
Definition opendal.h:1107
struct opendal_error * error
Definition opendal.h:1115
uint64_t pos
Definition opendal.h:1111
The result type returned by opendal_operator_stat().
Definition opendal.h:627
struct opendal_metadata * meta
Definition opendal.h:631
struct opendal_error * error
Definition opendal.h:635
The result type returned by opendal_writer_write(). The result type contains a size field,...
Definition opendal.h:1123
uintptr_t size
Definition opendal.h:1127
struct opendal_error * error
Definition opendal.h:1131
The options for stat operations.
Definition opendal.h:646
const char * override_content_type
Definition opendal.h:678
const char * if_match
Definition opendal.h:654
const char * version
Definition opendal.h:650
bool has_if_unmodified_since
Definition opendal.h:670
int64_t if_unmodified_since
Definition opendal.h:674
const char * if_none_match
Definition opendal.h:658
const char * override_cache_control
Definition opendal.h:682
bool has_if_modified_since
Definition opendal.h:662
int64_t if_modified_since
Definition opendal.h:666
const char * override_content_disposition
Definition opendal.h:686
The options for write operations.
Definition opendal.h:330
bool has_chunk
Definition opendal.h:370
const char * if_none_match
Definition opendal.h:358
const char * content_type
Definition opendal.h:342
const char * content_disposition
Definition opendal.h:346
uintptr_t chunk
Definition opendal.h:374
const struct opendal_write_user_metadata_pair * user_metadata
Definition opendal.h:378
const char * cache_control
Definition opendal.h:338
bool if_not_exists
Definition opendal.h:362
bool append
Definition opendal.h:334
uintptr_t user_metadata_len
Definition opendal.h:382
uintptr_t concurrent
Definition opendal.h:366
const char * if_match
Definition opendal.h:354
const char * content_encoding
Definition opendal.h:350
A key-value pair for write user metadata.
Definition opendal.h:313
const char * value
Definition opendal.h:321
const char * key
Definition opendal.h:317
The result type returned by opendal's writer operation.
Definition opendal.h:530
void * inner
Definition opendal.h:535