aboutsummaryrefslogtreecommitdiffstats
path: root/man/ru/ipcalc_c.3
blob: d8e526a60839a2db3977481b870f44730b359785 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
.TH "ipcalc.c" 3 "30 апреля 2001" "initscripts" \" -*- nroff -*-
.ad l
.nh
.SH НАЗВАНИЕ
ipcalc.c \- предоставляет утилиты для обработки IP-адресов. 
.SH СИНТАКСИС
.br
.PP
\fC#include <ctype.h>\fR
.br
\fC#include <popt.h>\fR
.br
\fC#include <stdio.h>\fR
.br
\fC#include <stdlib.h>\fR
.br
\fC#include <string.h>\fR
.br
\fC#include <sys/socket.h>\fR
.br
\fC#include <netinet/in.h>\fR
.br
\fC#include <arpa/inet.h>\fR
.br
\fC#include <netdb.h>\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