BYTEORDER(9) FreeBSD カーネル開発者マニュアル BYTEORDER(9)
名称
bswap16, bswap32, bswap64, be16toh, be32toh, be64toh, htobe16, htobe32, htobe64, htole16, htole32, htole64, le16toh, le32toh, le64toh, be16enc, be16dec, be32enc, be32dec, be64enc, be64dec, le16enc, le16dec, le32enc, le32dec, le64enc, le64dec − バイトオーダの操作 |
書式
#include <sys/endian.h> uint16_t |
bswap16(uint16_t int16); uint32_t |
bswap32(uint32_t int32); uint64_t |
bswap64(uint64_t int64); uint16_t |
be16toh(uint16_t big16); uint32_t |
be32toh(uint32_t big32); uint64_t |
be64toh(uint64_t big64); uint16_t |
htobe16(uint16_t host16); uint32_t |
htobe32(uint32_t host32); uint64_t |
htobe64(uint64_t host64); uint16_t |
htole16(uint16_t host16); uint32_t |
htole32(uint32_t host32); uint64_t |
htole64(uint64_t host64); uint16_t |
le16toh(uint16_t little16); uint32_t |
le32toh(uint32_t little32); uint64_t |
le64toh(uint64_t little64); uint16_t |
be16dec(const void *); uint32_t |
be32dec(const void *); uint64_t |
be64dec(const void *); uint16_t |
le16dec(const void *); uint32_t |
le32dec(const void *); uint64_t |
le64dec(const void *); void |
be16enc(void *, uint16_t); void |
be32enc(void *, uint32_t); void |
be64enc(void *, uint64_t); void |
le16enc(void *, uint16_t); void |
le32enc(void *, uint32_t); void |
le64enc(void *, uint64_t); |
解説 |
bswap16(), bswap32() および bswap64() 関数はバイトオーダが交換された整数 を返します。ビッグエンディアンのシステム上では、その数値はリトルエンディ アンのバイトオーダに変換されます。リトルエンディアンのシステム上では、そ の数値はビッグエンディアンのバイトオーダに変換されます。 be16toh(), be32toh() および be64toh() 関数はビッグエンディアンのバイト オーダの整数をシステムのネイティブなバイトオーダに変換して返します。ビッ グエンディアンのシステム上では、戻り値は引数と同じになります。 le16toh(), le32toh() および le64toh() 関数はリトルエンディアンのバイト オーダの整数をシステムのネイティブなバイトオーダに変換して返します。リト ルエンディアンのシステム上では、戻り値は引数と同じになります。 htobe16(), htobe32() および htobe64() 関数はシステムのネイティブなバイト オーダの整数をビッグエンディアンのバイトオーダに変換して返します。ビッグ エンディアンのシステム上では、戻り値は引数と同じになります。 htole16(), htole32() および htole64() 関数はシステムのネイティブなバイト オーダの整数をリトルエンディアンのバイトオーダに変換して返します。リトル エンディアンのシステム上では、戻り値は引数と同じになります。 be16enc(), be16dec(), be32enc(), be32dec(), be64enc(), be64dec(), le16enc(), le16dec(), le32enc(), le32dec(), le64enc(), および le64dec() 関数はビッグ/リトルエンディアンのあらゆるアライメントの、整数からバイトス トリングへエンコードおよびバイトコードから整数へデコードを行います。 |
関連項目
歴史
hto*() および *toh() 関数は FreeBSD 5.0 ではじめて登場し、元々は NetBSD プロジェクトによって開発されていました。 エンコード/デコード関数は FreeBSD 5.1 ではじめて登場しました。 FreeBSD 10.0 April 29, 2002 FreeBSD 10.0 |