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 persomething
escludendo 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_something
per fare il lavoro effettivo. - Il
_t
suffisso è una convenzione di libreria standard per i typedef. Per esempio.size_t
,ptrdiff_t
,foff_t
e simili. Il codice del kernel segue questa convenzione anche per i suoi tipi interni.