top | item 46956304

(no title)

yxhuvud | 20 days ago

What makes you think functions defined as `static inline` is not in the .h? These are very much not private functions.

Example: https://github.com/axboe/liburing/blob/master/src/include/li...

discuss

order

LtWorf|20 days ago

They are basically using it instead of macros inside the header file.

Do you have a relevant example?

yxhuvud|20 days ago

Essentially all the most important functions to interact with rings during runtime is static inline. The prep_* methods for sqes are so simple they are not problematic to reimplement, but all the other interactions necessary - submit, advance, peek, wait etc are all static inline, nested several layers. Those are not trivial and details have changed over time.

Thankfully that particular library do nowadays also provide a _ffi version of the .so as it is such an horror otherwise. But there are other libraries out there that don't do that, where it is almost as big of a hurdle to bind with.