aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-rpc-client-core/cbindgen.toml
Commit message (Collapse)AuthorAgeFilesLines
* tweak cbindgen documentation.Nick Mathewson2025-01-291-1/+1
|
* rpclib: Update cbindgen documentation.Nick Mathewson2025-01-291-9/+51
|
* Remove needless cbindgen item.Nick Mathewson2024-12-091-1/+0
|
* artilib: Revise C and Python APIs for builders.Nick Mathewson2024-12-091-1/+2
| | | | | | | | | | | | | | | Expose ArtiRpcConnBuilder and appropriate C wrapper functions in our FFI code, and wrap those functions in our python wrapper. This breaks the old C API, but that's allowed since the API is still experimental. Some design decisions: * I've wrapped the builder in a Mutex, so that we can continue our FFI rule that we do not require non-Rust code to wrap `&mut`. * I've removed the non-builder connect() function from the C API as extraneous. * I've made a single function to prepend elements to the search path.
* rpclib: Note a key property of RPC error returns.Nick Mathewson2024-09-261-8/+4
|
* rpclib: FFI for opening data streams.Nick Mathewson2024-09-091-1/+22
| | | | | There's a blocking TODO here about exposing socks error codes that I still need to solve.
* Fix typosDimitris Apostolou2024-09-031-1/+1
|
* rpclib: Remove in_mut_ptr_opt, and document why.Nick Mathewson2024-08-271-7/+6
|
* cbindgen: Correctly hide "Utf8CString".Nick Mathewson2024-08-141-2/+8
|
* ffi: Add support for request handlesNick Mathewson2024-08-121-1/+2
| | | | | This API allows the caller to launch a request and then watch for updates on it.
* ffi: Clean up long lines and confusing expressions.Nick Mathewson2024-07-311-1/+2
|
* ffi: Clarify rules for *out pointers.Nick Mathewson2024-07-311-3/+5
| | | | Except for *error_out, they are always set to NULL on error.
* ffi: Document on-error behavior of consuming and setting.Nick Mathewson2024-07-311-0/+5
|
* Apply safety-related suggestions from DizietNick Mathewson2024-07-311-3/+7
|
* RPC FFI: Write a bit more text for the C no-UB requirements.Nick Mathewson2024-07-311-11/+24
| | | | | | | I got this by reading over all the relevant Rust stdlib safety documentation (now linked to in the macro definitions), and making sure that the C no-UB text is sufficient to guarantee that those requirements are met.
* Copy suggestions from .h file to cbindgen.tomlNick Mathewson2024-07-311-7/+9
|
* rpclib ffi: Grand identifier renamingNick Mathewson2024-07-311-5/+5
| | | | In brief: Everything now starts with ARTI_RPC, arti_rpc, or ArtiRpc.
* rpclib: Revise/condense "safety" docs for C functionsNick Mathewson2024-07-311-11/+22
| | | | | | | | | | | | | | | These documents are no longer called "safety". They are now mostly collected as a big list of "correctness requirements" at the start of the cbindgen header. Because of these requirements, most functions no longer need their own "safety" sections. I am explicitly using `#[allow(clippy::missing_safety_doc)]` on each function, rather than adding a blanket exception: - There are other unsafe functions in this code, to which we wouldn't want an exception to apply. - Documenting the safety^W correctness requirements of a function is important enough to make sure that we aren't skipping out on it unintentionally.
* rpclib: Grand error refactoring: outparam, not thread-localNick Mathewson2024-07-311-8/+26
| | | | | | | | Per discussion, we'd rather have an optional output parameter for error objects rather than mess with thread-local variables. This is possibly less convenient for direct usage from C, but likely more convenient for wrapper functions in other languages.
* rpclib: _Sketch_ of string API.Nick Mathewson2024-07-311-1/+2
| | | | | | | | | | | | | In this API, borrowed strings are `const char *`, and owned strings are `ArtiRpcStr *`. You can get the former from the latter with `arti_rpc_str_get()`, which returns a `const char *` in hopes that you will neither modify nor free() that `const char *` (Note that there are no places where string ownership needs to be passed into this library; and at present, there is only one case where it is passed out. I do not anticipate that we will need to do intake of owned strings. We will probably need to return these in a few more cases as we add more API surface.)
* rpclib: Tweaks from review to header documentation.Nick Mathewson2024-07-311-3/+6
|
* rpc: Initial core of an FFI interface.Nick Mathewson2024-07-311-0/+118
This only covers the absolute minimal API in order to launch a connection and run simple requests, and it doesn't document anything nearly well enough. Nonetheless I think it's good enough for an initial review, to make sure that we've got the basics right (as well as a general consensus on the error handling API, naming, and so forth).