ipcalc_c

Autres langues

Langue: ru

Version: 124841 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

НАЗВАНИЕ

ipcalc.c - предоставляет утилиты для обработки IP-адресов.

СИНТАКСИС


#include <ctype.h>
#include <popt.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>

Определения


#define IPBITS (sizeof(длинное_целое_число_без_знака) * 8)
число битов в IP-адресе.
#define IPBYTES (sizeof(длинное_целое_число_без_знака))
число байтов в IP-адресе.

Функции


длинное_целое_число_без_знака prefix2mask (prefix_в_виде_целого_числа)
создает сетевую маску из указанного числа битов.
целое_число mask2prefix (mask_в_виде_длинного_целого_числа_без_знака)
вычисляет число битов, размаскированных сетевой маской.
длинное_целое_число_без_знака default_netmask (addr_в_виде_длинного_целого_числа_без_знака)
возвращает сетевую маску по умолчанию (каноническую), ассоциированную с указанным IP-адресом.
длинное_целое_число_без_знака calc_broadcast (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа)
вычисляет широковещательный адрес и длину префикса заданного IP-адреса.
длинное_целое_число_без_знака calc_network (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа)
вычисляет сетевой адрес и префикс для заданного адреса.
постоянная char* get_hostname (addr_в_виде_длинного_целого_числа_без_знака)
возвращает имя хоста, ассоциированное с указанным IP-адресом.
целое_число main (argc_в_виде_целого_числа, постоянная char **argv)
программа-упаковщик для функций ipcalc.

ПОДРОБНОЕ ОПИСАНИЕ

предоставляет утилиты для обработки IP-адресов.


 ipcalc предоставляет утилиты и консольный графический интерфейс для обработки IP-адресов и вычисления различных аспектов ip: адрес/маска сети/сетевой адрес/префикс/и т.п.

Доступ к функциональным возможностям может быть получен из других языков через описанный здесь интерфейс библиотеки. Для использования ipcalc из командного процессора, прочтите оперативную страницу руководства ipcalc(1).

При передаче параметров в различные функции, обратите внимание на то, принимают ли они порядок хост-байта или порядок сетевого байта. Большинство принимают порядок хост-байта и возвращают порядок хост-байта, но существует ряд исключений.

ДОКУМЕНТИРОВАНИЕ ФУНКЦИЙ

длинное_целое_число_без_знака calc_broadcast (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа)

вычисляет широковещательный адрес заданного IP-адреса и длину префикса.


 

Параметры:

addr
IP-адрес в порядке сетевого байта.
prefix
длина префикса.

Возвраты: вычисленный широковещательный адрес для сети, в порядке сетевого байта.

длинное_целое_число_без_знака calc_network (addr_в_виде_длинного_целого_числа_без_знака, prefix_в_виде_целого_числа)

вычисляет адрес сети и префикс для указанного адреса.


 

Параметры:

addr
IP-адрес, в порядке сетевого байта
prefix
сетевой префикс

Возвраты: базовый адрес сети, с которым ассоциирован addr, в порядке сетевого байта.

длинное_целое_число_без_знака default_netmask (addr_в_виде_длинного_целого_числа_без_знака)

возвращает сетевую маску по умолчанию (каноническую), ассоциированную с указанным IP-адресом.


 При первоначальной настройке Интернета все разнообразие диапазонов IP-адресов было разбито на три класса сетей: A, B и C. Эта функция возвращает сетевую маску, ассоциированную с указанным IP-адресом, определяя, где она входит в предопределенные классы. 

Параметры:

addr
IP-адрес в порядке сетевого байта.

Возвраты: сетевая маска в порядке сетевого байта.

постоянная char * get_hostname (addr_в_виде_длинного_целого_числа_без_знака)

возвращает имя хоста, ассоциированное с указанным IP_адресом.


 

Параметры:

addr
IP-адрес, который необходимо найти для имени хоста, в порядке сетевого байта

Возвраты: имя хоста, или пустое значение, если оно не может быть определено. Имя хоста хранится в статическом буфере, который может исчезнуть в любой момент, вызывающий оператор должен скопировать данные, если они нуждаются в долговременном хранении.

main (argc_в_виде_целого_числа, постоянная char ** argv)

программа-упаковщик для функций ipcalc.


 Это программа-упаковшик для функций, предоставляемых библиотекой ipcalc. Она может быть использована из скриптов командного процессора ли непосредственно из командной строки.

Более подробную информацию смотрите, пожалуйста, в странице оперативного руководства ipcalc(1).

целое_число mask2prefix (mask_в_виде_длинного_целого_числа_без_знака)

вычисляет число битов, размаскированных сетевой маской.


 Эта функция вычисляет значащие биты в IP-адресе, заданном сетевой маской. См. также prefix2mask.

Параметры:

mask
сетевая маска, заданная, в виде длинного целого число без знака в порядке сетевого байта.

Возвраты: число значащих битов.

длинное_целое_число_без_знака prefix2mask (целое_число_битов)

создает сетевую маску из заданного числа битов.


 Эта функция преобразовывает длину префикса в сетевую маску. Так как CIDR (бесклассовая маршрутизация доменов интернет) была отменена, все больше и больше IP-адресов задается в формате адрес/префикс (например, 192.168.2.3/24 с соответствующей сетевой маской 255.255.255.0). Если вам необходимо узнать, какая сетевая маска соответствует префиксной части адреса, то эта функция вам поможет. См. также mask2prefix.

Параметры:

prefix
число битов для создания маски.

Возвраты: сетевая маска, в порядке сетевого байта.

АВТОР

Автоматически сгенерировано Doxygen'ом для initscripts из исходного кода.

ПЕРЕВОД

Павел Марьянов acid_jack@ukr.net