Es gibt mehrere Fälle:
- In öffentlich zugänglichen Headern, d. h. alles, was libc übernimmt und unter
/usr/include/linuxstellt , legen die Standards fest, welche Symbole definiert werden müssen, und alle anderen systemspezifischen Symbole müssen mit Unterstrich und Großbuchstaben oder zwei Unterstrichen beginnen. Das ist der Grund für__KERNEL__insbesondere, weil es in Headern verwendet wird, die sowohl im Kernel als auch in der libc enthalten sind, und einige Deklarationen unterschiedlich sind. - Im internen Code ist die Konvention normalerweise das Symbol
__somethingist Arbeitspferd fürsomethingohne einige Verwaltung, oft Sperren. Das ist ein Grund für Dinge wie__d_lookup. Eine ähnliche Konvention für Systemaufrufe istsys_somethingist der Einstiegspunkt für Systemaufrufe, der den Kontextwechsel zum und vom Kernel handhabt unddo_somethingaufruft um die eigentliche Arbeit zu erledigen. - Der
_tSuffix ist eine Standardbibliothekskonvention für Typedefs. Z.B.size_t,ptrdiff_t,foff_tund derartige. Kernel-Code folgt dieser Konvention auch für seine internen Typen.