I keep running across little conventions like __KERNEL__
.
Are the __
in this case a naming convention used by kernel developers or is it a syntax specific reason for naming a macro this way?
There are many examples of this throughout the code.
For example some functions and variables begin with an _
or even __
.
Is there a specific reason for this?
It seems pretty widely used and I just need some clarification as to whether these things have a syntactical purpose or is it simply a naming convention.
Furthermore I see lots of user declared types such as uid_t. Again I assume this is a naming convention telling the reader that it is a user-defined type?
There are several cases:
/usr/include/linux
, the standards specify which symbols should be defined and any other symbols specific to the system shall start with underscore and capital letter or two underscores. That's the reason for __KERNEL__
in particular, because it is used in headers that are included both in kernel and in libc and some declarations are different.__something
is workhorse for something
excluding some management, often locking. That is a reason for things like __d_lookup
. Similar convention for system calls is that sys_something
is the system call entry point that handles context switch to and from kernel and calls do_something
to do the actual work._t
suffix is standard library convention for typedefs. E.g. size_t
, ptrdiff_t
, foff_t
and such. Kernel code follows this convention for it's internal types too.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With