__le32

読み:アンダースコア・アンダースコア・エルイー・さんじゅうに
外語:__le32 英語
品詞:名詞

Linuxで使われている変数型の一つ。ユーザー空間カーネル空間ともに提供されている。

目次

#include <linux/types.h>

ユーザー空間用もカーネル空間用も同じ定義である。

/usr/include/linux/types.h

/usr/src/linux-headers-*.*.*-*/include/linux/types.h

#ifdef __CHECKER__
#define __bitwise__ __attribute__((bitwise))
#else
#define __bitwise__
#endif
#ifdef __CHECK_ENDIAN__
#define __bitwise __bitwise__
#else
#define __bitwise
#endif

typedef __u32 __bitwise __le32;
typedef __u32 __bitwise __be32;

__le32とともに__be32も定義されているが、いずれも__u32のtypedefであり定義自体は同じである。

つまり、この変数型はエンディアンの自動変換機能や、エンディアンの異なる同士での誤代入の防止機能等があるわけではない。

__CHECKER__ と __CHECK_ENDIAN__ が定義されている場合に __attribute__((bitwise)) が追加されることで、エンディアンネスに関わるコーディングミスを静的解析ツール Sparse から検出しやすくするために定義されている。

用語の所属
Linux
typedef

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club