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?

Edit
Report