.TH "ipcalc.c" 3 "30 апреля 2001" "initscripts" \" -*- nroff -*- .ad l .nh .SH НАЗВАНИЕ ipcalc.c \- предоставляет утилиты для обработки IP-адресов. .SH СИНТАКСИС .br .PP \fC#include \fR .br \fC#include \fR .br \fC#include \fR .br \fC#include \fR .br \fC#include \fR .br \fC#include \fR .br \fC#include \fR .br \fC#include \fR .br \fC#include \fR .br .SS Определения .in +1c .ti -1c .RI "#define \fBIPBITS\fR (sizeof(длинное_целое_число_без_знака) * 8)" .br .RI "\fIчисло битов в IP-адресе.\fR" .ti -1c .RI "#define \fBIPBYTES\fR (sizeof(длинное_целое_число_без_знака))" .br .RI "\fIчисло байтов в IP-адресе.\fR" .in -1c .SS Функции .in +1c .ti -1c .RI "длинное_целое_число_без_знака \fBprefix2mask\fR (prefix_в_виде_целого_числа)" .br .RI "\fIсоздает сетевую маску из указанного числа битов.\fR" .ti -1c .RI "целое_число \fBmask2prefix\fR (mask_в_виде_длинного_целого_числа_без_знака)" .br .RI "\fIвычисляет число битов, размаскированных сетевой маской.\fR" .ti -1c .RI "длинное_целое_число_без_знака \fBdefault_netmask\fR ("addr_в_виде_длинного_целого_числа_без_знака)" .br .RI "\fIвозвращает сетевую маску по умолчанию (каноническую), ассоциированную с указанным IP-адресом.\fR" .ti -1c .RI "длинное_целое_число_без_знака \fBcalc_broadcast\fR (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа)" .br .RI "\fIвычисляет широковещательный адрес и длину префикса заданного IP-адреса.\fR" .ti -1c .RI "длинное_целое_число_без_знака \fBcalc_network\fR (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа)" .br .RI "\fIвычисляет сетевой адрес и префикс для заданного адреса.\fR" .ti -1c .RI "постоянная char* \fBget_hostname\fR (addr_в_виде_длинного_целого_числа_без_знака)" .br .RI "\fIвозвращает имя хоста, ассоциированное с указанным IP-адресом.\fR" .ti -1c .RI "целое_число \fBmain\fR (argc_в_виде_целого_числа, постоянная char **argv)" .br .RI "\fIпрограмма-упаковщик для функций ipcalc.\fR" .in -1c .SH ПОДРОБНОЕ ОПИСАНИЕ .PP предоставляет утилиты для обработки IP-адресов. .PP .PP ipcalc предоставляет утилиты и консольный графический интерфейс для обработки IP-адресов и вычисления различных аспектов ip: адрес/маска сети/сетевой адрес/префикс/и т.п. .PP Доступ к функциональным возможностям может быть получен из других языков через описанный здесь интерфейс библиотеки. Для использования ipcalc из командного процессора, прочтите оперативную страницу руководства ipcalc(1). .PP При передаче параметров в различные функции, обратите внимание на то, принимают ли они порядок хост-байта или порядок сетевого байта. Большинство принимают порядок хост-байта и возвращают порядок хост-байта, но существует ряд исключений. .PP .SH ДОКУМЕНТИРОВАНИЕ ФУНКЦИЙ .PP .SS длинное_целое_число_без_знака calc_broadcast (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа) .PP вычисляет широковещательный адрес заданного IP-адреса и длину префикса. .PP .PP .PP \fBПараметры: \fR .in +1c .TP \fB\fIaddr\fR\fR IP-адрес в порядке сетевого байта. .TP \fB\fIprefix\fR\fR длина префикса. .PP \fBВозвраты: \fR .in +1c вычисленный широковещательный адрес для сети, в порядке сетевого байта. .SS длинное_целое_число_без_знака calc_network (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа) .PP вычисляет адрес сети и префикс для указанного адреса. .PP .PP .PP \fBПараметры: \fR .in +1c .TP \fB\fIaddr\fR\fR IP-адрес, в порядке сетевого байта .TP \fB\fIprefix\fR\fR сетевой префикс .PP \fBВозвраты: \fR .in +1c базовый адрес сети, с которым ассоциирован addr, в порядке сетевого байта. .SS длинное_целое_число_без_знака default_netmask (addr_в_виде_длинного_целого_числа_без_знака) .PP возвращает сетевую маску по умолчанию (каноническую), ассоциированную с указанным IP-адресом. .PP .PP При первоначальной настройке Интернета все разнообразие диапазонов IP-адресов было разбито на три класса сетей: A, B и C. Эта функция возвращает сетевую маску, ассоциированную с указанным IP-адресом, определяя, где она входит в предопределенные классы. .PP \fBПараметры: \fR .in +1c .TP \fB\fIaddr\fR\fR IP-адрес в порядке сетевого байта. .PP \fBВозвраты: \fR .in +1c сетевая маска в порядке сетевого байта. .SS постоянная char * get_hostname (addr_в_виде_длинного_целого_числа_без_знака) .PP возвращает имя хоста, ассоциированное с указанным IP_адресом. .PP .PP .PP \fBПараметры: \fR .in +1c .TP \fB\fIaddr\fR\fR IP-адрес, который необходимо найти для имени хоста, в порядке сетевого байта .PP \fBВозвраты: \fR .in +1c имя хоста, или пустое значение, если оно не может быть определено. Имя хоста хранится в статическом буфере, который может исчезнуть в любой момент, вызывающий оператор должен скопировать данные, если они нуждаются в долговременном хранении. .SS main (argc_в_виде_целого_числа, постоянная char ** argv) .PP программа-упаковщик для функций ipcalc. .PP .PP Это программа-упаковшик для функций, предоставляемых библиотекой ipcalc. Она может быть использована из скриптов командного процессора ли непосредственно из командной строки. .PP Более подробную информацию смотрите, пожалуйста, в странице оперативного руководства ipcalc(1). .SS целое_число mask2prefix (mask_в_виде_длинного_целого_числа_без_знака) .PP вычисляет число битов, размаскированных сетевой маской. .PP .PP Эта функция вычисляет значащие биты в IP-адресе, заданном сетевой маской. См. также \fBprefix2mask\fR. .PP \fBПараметры: \fR .in +1c .TP \fB\fImask\fR\fR сетевая маска, заданная, в виде длинного целого число без знака в порядке сетевого байта. .PP \fBВозвраты: \fR .in +1c число значащих битов. .SS длинное_целое_число_без_знака prefix2mask (целое_число_битов) .PP создает сетевую маску из заданного числа битов. .PP .PP Эта функция преобразовывает длину префикса в сетевую маску. Так как CIDR (бесклассовая маршрутизация доменов интернет) была отменена, все больше и больше IP-адресов задается в формате адрес/префикс (например, 192.168.2.3/24 с соответствующей сетевой маской 255.255.255.0). Если вам необходимо узнать, какая сетевая маска соответствует префиксной части адреса, то эта функция вам поможет. См. также \fBmask2prefix\fR. .PP \fBПараметры: \fR .in +1c .TP \fB\fIprefix\fR\fR число битов для создания маски. .PP \fBВозвраты: \fR .in +1c сетевая маска, в порядке сетевого байта. .SH АВТОР .PP Автоматически сгенерировано Doxygen'ом для initscripts из исходного кода. .SH ПЕРЕВОД .PP Павел Марьянов acid_jack@ukr.net