Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (45 – Общая рассылка , часть 17)

предыдущая часть ««»» следующая часть

require "net/if.ph"; require "sys/ioctl.ph";

require "sys/sockio.ph" unless defined &SIOCGIFCONF;

В следующем фрагменте кода используется малоизвестное средство системы .ph интерпре­татора Perl. Многие вызовы функции ioctl () содержат встроенные коды, определяющие

размеры структур данных, которыми они оперируют. Когда транслятор С обрабатывает файлы include, он имеет возможность определить размеры этих структур во время трансляции и сгенерировать правильные константы, но интерпретатор Perl ничего не знает о структурах данных С и нуждается в определенной помощи со стороны программиста, который должен со­общить ему размеры этих структур.

Именно для этой цели предназначен хеш %sizeof. Каждый раз, когда для обработки файла .ph нужен размер структуры данных, интерпретатор обращается по ключу в этот хеш. Напри­мер, он вызывает переменную  $sizeof {'int'}, когда ему нужен    размер   целого   числа

$sizeof{’struct ifreq'} для выборки размера структуры ifreq. Для получения правиль­ных размеров функционального кода sioGgifconf и подобных кодов необходимо установить значение хеша %sizeof перед вызовом любого из функциональных кодов ioctl (). Эта опе­рация выполняется в следующих строках кода.

%sizeof = ('struct ifconf   => 2 * $Config{ptrsize},

'struct ifreq'     => 2 * IFNAMSIZ);

Как оказалось, для работы нужны только две структуры данных С — ifreq, которая содержит информацию о конкретном интерфейсе, и ifconf, которая применяется для выборки списка всех активных интерфейсов. Структура ifconf является самой простой. Она состоит из цело­го числа и указателя. Указатель обозначает область памяти, в которой должен быть получен список имен интерфейсов, а целое число — размер этой области.



2015-06-24 00:27:47

это интересно
Как известно для размещения сайта в сети необходим так называемый хостинг, где и будет помещен контент и программная часть проекта. Предложений в сети много, но некоторые пользуются особенным спросом. На сайте shneider-host.ru можно найти бюджетные предложения хостинга под любые требования, где под лозунгом – Качество доступно всем предлагается линейка дешевых тарифных планов с объемом дискового пространства до 12 Гб.

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония