Ci sono diversi casi:
- Nelle intestazioni rivolte al pubblico, ovvero tutto ciò che la libc prenderà il sopravvento e inserirà in
/usr/include/linux, le norme specificano quali simboli devono essere definiti e qualsiasi altro simbolo specifico del sistema deve iniziare con trattino basso e lettera maiuscola o due trattini bassi. Questa è la ragione per__KERNEL__in particolare, perché è usato nelle intestazioni che sono incluse sia nel kernel che nella libc e alcune dichiarazioni sono diverse. - Nel codice interno, la convenzione di solito è il simbolo
__somethingè il cavallo di battaglia persomethingescludendo qualche gestione, spesso bloccando. Questa è una ragione per cose come__d_lookup. Una convenzione simile per le chiamate di sistema è quellasys_somethingè il punto di ingresso della chiamata di sistema che gestisce il cambio di contesto da e verso il kernel e chiamado_somethingper fare il lavoro effettivo. - Il
_tsuffisso è una convenzione di libreria standard per i typedef. Per esempio.size_t,ptrdiff_t,foff_te simili. Il codice del kernel segue questa convenzione anche per i suoi tipi interni.