использование в ядре специфических для endiannes типов __be32 / __ be16 / __ le32 / __ le16 - PullRequest
0 голосов
/ 07 июня 2018

Ядро Linux имеет типы __be32, __be16 и т. Д., Определенные в ядре 'include/uapi/linux/types.h.

Однако это просто typedefs для __u32,' __u16 'и тому подобное.Кроме того, если sparse используется для анализа кода на C, они добавляют gcc определенный флаг __bitwise.

Насколько я понимаю, типы __be * или __le * могут использоваться для зависимых переменных с прямым порядком байтов.Но они служат скорее как средство аннотации, просто чтобы показать, что мы работаем с объектом с прямым или прямым порядком байтов.Это правильное предположение?

...