On Thu, Nov 30, 2023 at 03:46:55PM +0000, Benno Lossin wrote: > On 11/30/23 15:59, Greg Kroah-Hartman wrote: > > On Thu, Nov 30, 2023 at 02:53:35PM +0000, Benno Lossin wrote: > >> On 11/29/23 13:51, Alice Ryhl wrote: > >>> +/// Flags associated with a [`File`]. > >>> +pub mod flags { > >>> + /// File is opened in append mode. > >>> + pub const O_APPEND: u32 = bindings::O_APPEND; > >> > >> Why do all of these constants begin with `O_`? > > > > Because that is how they are defined in the kernel in the C code. Why > > would they not be the same here? > > Then why does the C side name them that way? Is it because `O_*` is > supposed to mean something, or is it done due to namespacing? Because this is a unix-like system, we all "know" what they mean. :) See 'man 2 open' for details. > In Rust we have namespacing, so we generally drop common prefixes. Fine, but we know what this namespace is, please don't override it to be something else. thanks, greg k-h