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
484
498
515
528
544
565
586
604
622
651
663
846
854
868
876 const char *key;
880 const char *value;
882
898
914
930
931#ifdef __cplusplus
932extern "C" {
933#endif // __cplusplus
934
939
950
955
960
965 bool jitter,
966 float factor,
967 uint64_t min_delay_ns,
968 uint64_t max_delay_ns,
969 uint64_t max_times);
970
975 uint64_t timeout_ns,
976 uint64_t io_timeout_ns);
977
982
987
991uint8_t opendal_metadata_mode(const struct opendal_metadata *self);
992
997
1002
1007
1014
1019
1026
1033
1040
1047
1054
1060char *opendal_metadata_etag(const struct opendal_metadata *self);
1061
1068
1075
1090
1095
1100
1105
1124
1165 const struct opendal_operator_options *options);
1166
1178 const struct opendal_operator_options *options,
1179 const struct opendal_operator_layers *layers);
1180
1228 const char *path,
1229 const struct opendal_bytes *bytes);
1230
1235 const char *path,
1236 const struct opendal_bytes *bytes,
1237 const struct opendal_write_options *opts);
1238
1281 const char *path);
1282
1315 const char *path,
1316 const struct opendal_read_options *opts);
1317
1357 const char *path);
1358
1398 const char *path);
1399
1404 const char *path,
1405 const struct opendal_write_options *opts);
1406
1449struct opendal_error *opendal_operator_delete(const struct opendal_operator *op, const char *path);
1450
1491 const char *path);
1492
1533 const char *path);
1534
1574 const char *path);
1575
1627 const char *path);
1628
1653 const char *path,
1654 const struct opendal_list_options *opts);
1655
1692 const char *path);
1693
1738 const char *src,
1739 const char *dest);
1740
1785 const char *src,
1786 const char *dest);
1787
1789
1809
1814
1821
1828
1836
1841
1846
1851 const char *path,
1852 uint64_t expire_secs);
1853
1858 const char *path,
1859 uint64_t expire_secs);
1860
1865 const char *path,
1866 uint64_t expire_secs);
1867
1872 const char *path,
1873 uint64_t expire_secs);
1874
1879
1884
1889
1894
1899
1905void opendal_string_free(char *ptr);
1906
1911
1920
1928
1936
1946 const char *start_after);
1947
1954
1959
1964
1969
1974 const char *cache_control);
1975
1980 const char *content_type);
1981
1986 const char *content_disposition);
1987
1992 const char *content_encoding);
1993
1998
2003 const char *if_none_match);
2004
2009 bool if_not_exists);
2010
2015
2020
2025 const struct opendal_write_user_metadata_pair *pairs,
2026 uintptr_t len);
2027
2032
2037
2042 uint64_t offset,
2043 uint64_t length);
2044
2049
2054
2059 const char *if_none_match);
2060
2065 int64_t if_modified_since);
2066
2071 int64_t if_unmodified_since);
2072
2077
2082
2087
2092 const char *override_content_type);
2093
2098 const char *override_cache_control);
2099
2104 const char *override_content_disposition);
2105
2115
2136 const char *key,
2137 const char *value);
2138
2143
2151char *opendal_entry_path(const struct opendal_entry *self);
2152
2162char *opendal_entry_name(const struct opendal_entry *self);
2163
2171
2176
2181 uint8_t *buf,
2182 uintptr_t len);
2183
2188 int64_t offset,
2189 int32_t whence);
2190
2195
2200 const struct opendal_bytes *bytes);
2201
2206
2211
2212#ifdef __cplusplus
2213} // extern "C"
2214#endif // __cplusplus
2215
2216#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.
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...
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_read_options_set_if_match(struct opendal_read_options *opts, const char *if_match)
Set If-Match.
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.
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.
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.
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_lister_next opendal_lister_next(struct opendal_lister *self)
Return the next object to be listed.
void opendal_list_options_set_recursive(struct opendal_list_options *opts, bool recursive)
Set the recursive option.
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.
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.
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.
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.
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_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_capability opendal_operator_info_get_native_capability(const struct opendal_operator_info *self)
Return the operator's native capability.
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_write_options_set_if_not_exists(struct opendal_write_options *opts, bool if_not_exists)
Set if_not_exists.
struct opendal_capability opendal_operator_info_get_full_capability(const struct opendal_operator_info *self)
Return the operator's full capability.
void opendal_write_options_set_content_encoding(struct opendal_write_options *opts, const char *content_encoding)
Set Content-Encoding.
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.
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_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.
const struct opendal_http_header_pair * opendal_presigned_request_headers(const struct opendal_presigned_request *req)
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
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.
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:668
bool write_can_append
Definition opendal.h:732
bool write_can_multi
Definition opendal.h:724
bool write_with_user_metadata
Definition opendal.h:764
bool write_with_if_none_match
Definition opendal.h:756
bool list_with_start_after
Definition opendal.h:816
bool delete_
Definition opendal.h:796
bool create_dir
Definition opendal.h:792
uintptr_t write_multi_min_size
Definition opendal.h:780
bool shared
Definition opendal.h:844
bool stat_with_if_match
Definition opendal.h:676
bool read_with_version
Definition opendal.h:716
bool read_with_override_content_type
Definition opendal.h:704
bool write_with_if_not_exists
Definition opendal.h:760
bool read_with_if_unmodified_since
Definition opendal.h:712
bool write_with_content_encoding
Definition opendal.h:744
bool write_with_if_match
Definition opendal.h:752
bool presign_stat
Definition opendal.h:832
bool read_with_if_match
Definition opendal.h:688
bool write
Definition opendal.h:720
bool presign_read
Definition opendal.h:828
bool presign_delete
Definition opendal.h:840
bool write_with_content_type
Definition opendal.h:736
uintptr_t write_total_max_size
Definition opendal.h:788
bool presign
Definition opendal.h:824
bool read
Definition opendal.h:684
bool rename
Definition opendal.h:804
bool list
Definition opendal.h:808
bool write_with_cache_control
Definition opendal.h:748
bool stat_with_if_none_match
Definition opendal.h:680
uintptr_t write_multi_max_size
Definition opendal.h:772
bool write_can_empty
Definition opendal.h:728
bool copy
Definition opendal.h:800
bool stat
Definition opendal.h:672
bool read_with_override_content_disposition
Definition opendal.h:700
bool read_with_if_none_match
Definition opendal.h:692
bool read_with_if_modified_since
Definition opendal.h:708
bool list_with_recursive
Definition opendal.h:820
bool write_with_content_disposition
Definition opendal.h:740
bool presign_write
Definition opendal.h:836
bool list_with_limit
Definition opendal.h:812
bool read_with_override_cache_control
Definition opendal.h:696
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:872
const char * key
Definition opendal.h:876
const char * value
Definition opendal.h:880
The options for the list operation.
Definition opendal.h:637
bool recursive
Definition opendal.h:641
char * start_after
Definition opendal.h:649
uintptr_t limit
Definition opendal.h:645
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:656
void * inner
Definition opendal.h:661
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:851
struct opendal_presigned_request_inner * inner
Definition opendal.h:852
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:474
uintptr_t gap
Definition opendal.h:470
uintptr_t chunk
Definition opendal.h:462
const char * override_content_disposition
Definition opendal.h:482
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
const char * version
Definition opendal.h:426
const char * override_cache_control
Definition opendal.h:478
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 offset
Definition opendal.h:414
uintptr_t concurrent
Definition opendal.h:454
The result type returned by opendal's reader operation.
Definition opendal.h:491
void * inner
Definition opendal.h:496
The result type returned by opendal_operator_exists().
Definition opendal.h:576
bool exists
Definition opendal.h:580
struct opendal_error * error
Definition opendal.h:584
The result type returned by opendal_operator_is_exist().
Definition opendal.h:555
struct opendal_error * error
Definition opendal.h:563
bool is_exist
Definition opendal.h:559
The result type returned by opendal_operator_list().
Definition opendal.h:612
struct opendal_lister * lister
Definition opendal.h:616
struct opendal_error * error
Definition opendal.h:620
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:505
struct opendal_error * error
Definition opendal.h:513
struct opendal_reader * reader
Definition opendal.h:509
The result type returned by opendal_operator_writer(). The result type for opendal_operator_writer(),...
Definition opendal.h:534
struct opendal_writer * writer
Definition opendal.h:538
struct opendal_error * error
Definition opendal.h:542
The result of a presign operation.
Definition opendal.h:858
struct opendal_presigned_request * req
Definition opendal.h:862
struct opendal_error * error
Definition opendal.h:866
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:888
struct opendal_error * error
Definition opendal.h:896
uintptr_t size
Definition opendal.h:892
The result type returned by opendal_reader_seek(). The result type contains a pos field,...
Definition opendal.h:904
struct opendal_error * error
Definition opendal.h:912
uint64_t pos
Definition opendal.h:908
The result type returned by opendal_operator_stat().
Definition opendal.h:594
struct opendal_metadata * meta
Definition opendal.h:598
struct opendal_error * error
Definition opendal.h:602
The result type returned by opendal_writer_write(). The result type contains a size field,...
Definition opendal.h:920
uintptr_t size
Definition opendal.h:924
struct opendal_error * error
Definition opendal.h:928
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:521
void * inner
Definition opendal.h:526