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

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

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






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

#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; просмотров: 355. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Устройство рабочих органов мясорубки Независимо от марки мясорубки и её технических характеристик, все они имеют принципиально одинаковые устройства...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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