Это означает, что это зарезервированное системой имя. Стандарт C гласит, что все имена, начинающиеся с двух подчеркиваний или подчеркивания и заглавной буквы, зарезервированы для использования системой или компилятором и не должны определяться в прикладном коде.
Это тип, определенный здесь (а также в нескольких других местах).
По соглашению, обычно двойное подчеркивание перед именем типа, переменной или функции подразумевает имя, которое всегда зарезервировано, как определено в разделе 7.1.3 текущего стандарта (C99).
Остальные ответы верны, поскольку они зарезервированы для реализации. Конечно, здесь Linux должен выйти из 20-го века и использовать стандартный тип uint32_t
вместо множества нестандартных имен ( __ u32
, u_int32_t
, ...), которые преследовали устаревшие Unix ..