Студопедия — Функції перетворення порядку байт
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Функції перетворення порядку байт






Прототипи функцій

#include <netinet/in.h>unsigned long int htonl(unsigned long int hostlong);unsigned short int htons(unsigned short int hostshort);unsigned long int ntohl(unsigned long int netlong);unsigned short int ntohs(unsigned short int netshort);

Опис функцій

Функція htonl здійснює переклад цілого довгого числа з порядку байт, прийнятого на комп'ютері, в мережний порядок байт.

Функція Функція htons здійснює переклад цілого короткого числа з порядку байт, прийнятого на комп'ютері, в мережний порядок байт.

Функція Функція ntohl здійснює переклад цілого довгого числа з мережного порядку байт в порядок байт, прийнятий на комп'ютері.

Функція Функція ntohs здійснює переклад цілого короткого числа з мережного порядку байт в порядок байт, прийнятий на комп'ютері.

В архітектурі комп'ютерів i80x86 прийнятий порядок байт, при якому молодші байти цілого числа мають молодші адреси. При мережному порядку байт, прийнятому в Internet, молодші адреси мають старші байти числа.

Параметр у них – значення, яке ми збираємося конвертувати. Значення, що повертається, – те, що виходить в результаті конвертації. Напрям конвертації визначається порядком букв h (host) і n (network) в назві функції, розмір числа – останньою буквою назви, тобто htons – це host to network short, ntohl network to host long.

Для чисел з плаваючою крапкою все йде набагато гірше. На різних машинах можуть розрізнятися не тільки порядок байт, але і форма представлення такого числа. Простих функцій для їх коректної передачі по мережі не існує. Якщо вимагається обмінюватися дійсними даними, то або це потрібно робити на гомогенній мережі, що складається з однакових комп'ютерів, або використовувати символьні і цілі дані для передачі дійсних значень.

Функції перетворення IP-адрес inet_ntoa(), inet_aton()

Нам також знадобляться функції, що здійснюють переклад IP-адрес з символьного уявлення (у вигляді четвірки чисел, розділених крапками) в числове уявлення і назад. Функція inet_aton() переводить символьну IP-адресу в числове уявлення в мережному порядку байт.

Функція повертає 1, якщо в символьному вигляді записана правильна IP-адреса, і 0 інакше – для більшості системних викликів і функцій це нетипова ситуація. Зверніть увагу на використовування покажчика на структуру struct in_addr як один з параметрів даної функції. Ця структура використовується для зберігання IP-адрес в мережному порядку байт. Те, що використовується структура, що складається з однієї змінної, а не сама 32-бітова змінна, склалося історично, і автори в цьому не винуваті.

Для зворотного перетворення застосовується функція inet_ntoa().

Функції перетворення IP-адрес

Прототипи функцій

#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>int inet_aton(const char *strptr struct in_addr *addrptr);char *inet_ntoa(struct in_addr *addrptr);

Опис функцій

Функція inet_aton переводить символьну IP-адресу, розташовану по покажчику strptr, в числове уявлення в мережному порядку байт і заносить його в структуру, розташовану за адресою addrptr. Функція повертає значення 1, якщо в рядку записана правильна IP-адреса, і значення 0 інакше. Структура типу struct in_addr використовується для зберігання IP-адрес в мережному порядку байт і виглядає так:

struct in_addr { in_addr_t s_addr; };

Те, що використовується адреса такої структури, а не просто адреса змінної типу in_addr_t, склалося історично.

Функція inet_ntoa застосовується для зворотного перетворення. Числове представлення адреси в мережному порядку байт повинне бути занесено в структуру типу struct in_addr, адреса якої addrptr передається функції як аргумент. Функція повертає покажчик на рядок, що містить символьне представлення адреси. Цей рядок розташовується в статичному буфері, при подальших викликах її новий вміст замінює старий вміст.

Функція bzero()

Функція 2 настільки проста, що про неї нічого розказувати. Все видно з опису.

Функція bzero







Дата добавления: 2015-09-19; просмотров: 362. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия