On Fri, Dec 01, 2023 at 12:27:40PM +0000, Alice Ryhl wrote: > > You can import it with a use statement. For example: > > use kernel::file::flags::O_RDONLY; > // use as O_RDONLY That's good to hear, but it still means that we have to use the XYZ_* prefix, because otherwise, after something like use kernel::file::flags::RDONLY; use kernel::uapi::rwf::RDONLY; that will blow up. So that has to be use kernel::file::flags::O_RDONLY; use kernel::uapi::rwf::RWF_RDONLY; Which is a bit more verbose, at least things won't blow up spectacularly when you need to use both namespaces in the same codepath. Also note how we do things like this: #define IOCB_APPEND (__force int) RWF_APPEND In other words, the IOCB_* namespace and the RWF_* namespace partially share code points, and so they *have* to be assigned to the same value --- and note that since RWF_APPEND is defined as part of the UAPI, it might not even be the same across different architectures.... Cheers, - Ted