ENDIAN_SWAP16()

Инвертировать порядок байтов непосредственно в 16-битной переменной

Прототип:

#include <gulliver.h>
void ENDIAN_SWAP16( uint16_t *num );

Аргументы:

num
Указатель на число, байты которого инвертируются.

Библиотека:

libc

Описание:

Макрос ENDIAN_SWAP16() инвертирует порядок байтов непосредственно в переменной num.

Примеры:

Инвертировать порядок байтов значения:

#include <stdio.h>
#include <stdlib.h>
#include <gulliver.h>
#include <inttypes.h>
int main( void )
{
uint16_t val = 0x1234;
ENDIAN_SWAP16( &val );
printf( "val = 0x%04x\n", val );
return (EXIT_SUCCESS);
}

Код генерирует следующий вывод:

$ ./a.out val = 0x3412

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Предостережения:

ENDIAN_SWAP16() является макросом.

Тематические ссылки:

ENDIAN_BE16(), ENDIAN_BE32(), ENDIAN_BE64(), ENDIAN_LE16(), ENDIAN_LE32(), ENDIAN_LE64(), ENDIAN_RET16(), ENDIAN_RET32(), ENDIAN_RET64(), ENDIAN_SWAP32(), ENDIAN_SWAP64(), htonl(), htons(), ntohl(), ntohs(), UNALIGNED_RET16(), UNALIGNED_RET32(), UNALIGNED_RET64(), UNALIGNED_PUT16(), UNALIGNED_PUT32(), UNALIGNED_PUT64()




Предыдущий раздел: Описание API системной библиотеки