Использование в ядре специфических типов endiannes __be32/__be16/__le32/__le16

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

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

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

0 ответов

Другие вопросы по тегам