Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenDAL C API #1201

Closed
Xuanwo opened this issue Jan 19, 2023 · 2 comments · Fixed by #1861
Closed

OpenDAL C API #1201

Xuanwo opened this issue Jan 19, 2023 · 2 comments · Fixed by #1861
Labels

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Jan 19, 2023

By providing C API, other language could call opendal via FFI.

@Xuanwo Xuanwo changed the title OpenDAL's C API OpenDAL C API Jan 19, 2023
@Xuanwo Xuanwo mentioned this issue Mar 4, 2023
1 task
@kassane
Copy link
Contributor

kassane commented Mar 16, 2023

Ref: #1506

@xyjixyjixyji
Copy link
Contributor

I want to have a look at this 😄

xyjixyjixyji added a commit to xyjixyjixyji/incubator-opendal that referenced this issue Apr 5, 2023
* Add the init logics for operator
* Add the basic io operations (r/w)
* Add the test for basicio

Fixes: apache#1201
Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>
xyjixyjixyji added a commit to xyjixyjixyji/incubator-opendal that referenced this issue Apr 6, 2023
* Add the init logics for operator
* Add the basic io operations (r/w)
* Add the test for basicio

Fixes: apache#1201
Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>
xyjixyjixyji added a commit to xyjixyjixyji/incubator-opendal that referenced this issue Apr 6, 2023
* Add the init logics for operator
* Add the basic io operations (r/w)
* Add the test for basicio

Fixes: apache#1201
Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>
xyjixyjixyji added a commit to xyjixyjixyji/incubator-opendal that referenced this issue Apr 6, 2023
* Add the init logics for operator
* Add the basic io operations (r/w)
* Add the test for basicio

Fixes: apache#1201
Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>
Xuanwo pushed a commit that referenced this issue Apr 7, 2023
* feat(bindings/c): framework of add basic io and init logics

* Add the init logics for operator
* Add the basic io operations (r/w)
* Add the test for basicio

Fixes: #1201
Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>

* feat(bindings/c): remove place holder code for c binding

* The hello_opendal() works as a place holder for c binding,
  remove it since it will not be used anymore

Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>

* feat(bindings/c): use transparent layout for more native ptr operation

* Previously the type opendal_operator_ptr uses a C layout, i.e.,
  it STORES a pointer inside it. This commit changes it to transparent
  layout, which guarantees it has the SAME layout of the inner pointer.
  This allows the opendal_operator_ptr uses native boolean operation to
  check validity. e.g. (!ptr) means invalid.

Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>

* feat(bindings/c): add error and result types for error handling

* Add error code opendal_error for error handling, which decouples
  the od::ErrorKind

Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>

---------

Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants