rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
98.02k stars 12.68k forks source link

Support for converting OpenOptions to c_int on UNIX #74943

Open withoutboats opened 4 years ago

withoutboats commented 4 years ago

AFAICT, there's no public API for converting OpenOptions to c_int on UNIX platforms, meaning you cannot use an OpenOptions to open a file yourself using a lower level API from C. For example, this means that I cannot just re-use the OpenOptions type from std in ringbahn, which opens a file using io-uring instead of using the open syscall.

Some way under std::os::unix to convert OpenOptions to c_int would be helpful to avoid duplication. Ideally it would be a method on OpenOptionsExt, but I'm not sure how that could be non-breaking since there is no obvious default implementation. It may just have to be a free function.

Dylan-DPC-zz commented 4 years ago

Reopening this because it is being reverted in #77090