aboutsummaryrefslogtreecommitdiffstats
path: root/man/uk/ipcalc_c.3
blob: 3edb2fb2786a78b877bcefd86a3e354a60bcf70e (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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
.TH "ipcalc.c" 3 "30 Apr 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(unsigned long int) * 8)"
.br
.RI "\fIкількість біт в IP-адресі.\fR"
.ti -1c
.RI "#define \fBIPBYTES\fR  (sizeof(unsigned long int))"
.br
.RI "\fIкількість байт в IP-адресі.\fR"
.in -1c
.SS Functions

.in +1c
.ti -1c
.RI "unsigned long int \fBprefix2mask\fR (int prefix)"
.br
.RI "\fIстворює маску мережі з вказаної кількості біт.\fR"
.ti -1c
.RI "int \fBmask2prefix\fR (unsigned long int mask)"
.br
.RI "\fIобчислює номер біт маскованих шаблоном мережевої маски.\fR"
.ti -1c
.RI "unsigned long int \fBdefault_netmask\fR (unsigned long int addr)"
.br
.RI "\fIповертає стандартну (канонічну) маску мережі зв'язано з
вказаною IP-адресою.\fR"
.ti -1c
.RI "unsigned long int \fBcalc_broadcast\fR (unsigned long int addr, int prefix)"
.br
.RI "\fIобчислює адресу трансляції (broadcast address) з
IP-адреси і довжини префікса.\fR"
.ti -1c
.RI "unsigned long int \fBcalc_network\fR (unsigned long int addr, int prefix)"
.br
.RI "\fIобчислює мережеву адресу для вказаної адреси і префікса.\fR"
.ti -1c
.RI "const char* \fBget_hostname\fR (unsigned long int addr)"
.br
.RI "\fIповертає назву хоста відповідного вказаній IP-адресі.\fR"
.ti -1c
.RI "int \fBmain\fR (int argc, const 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 unsigned long int calc_broadcast (unsigned long int addr, int 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 unsigned long int calc_network (unsigned long int addr, int 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 unsigned long int default_netmask (unsigned long int addr)
.PP
повертає стандартну (канонічну) маску мережі зв'язану з вказаною IP-адресою.
.PP
.PP
Під час заснування інтернету різноманітні діапазони IP-адрес були
поділені на три класи: A, B і С. Ця функція повертає маску мережі, яка
асоціюється з вказаною IP-адресою, визначаючи, де вона попадає в
наперед встановлені класи.
.PP
\fBПараметри: \fR
.in +1c
.TP
\fB\fIaddr\fR\fR
IP-адреса з порядком байтів в мережі.
.PP
\fBПовертає: \fR
.in +1c
мережеву маску з порядком байтів в мережі.
.SS const char * get_hostname (unsigned long int addr)
.PP
повертає назву хоста відповідну вказаній IP-адресі.
.PP
.PP
 
.PP
\fBПараметри: \fR
.in +1c
.TP
\fB\fIaddr\fR\fR
IP-адреса, для якої шукається назва хоста з порядком байтів в мережі
.PP
\fBПовертає: \fR
.in +1c
назву хоста чи значення NULL, якщо назва не вдається визначити. Назва
хоста зберігається в статичному буфері, який може зникнути в будь-який
момент, якщо користувачеві потрібно зберегти це значення, його
потрібно скопіювати в місце постійного зберігання.
.SS main (int argc, const char ** argv)
.PP
головна програма-обгортка для функцій ipcalc.
.PP
.PP
Це програма-обгортка для функцій наданих бібліотекою ipcalc.  Вона
може використовуватись в скриптах командної оболонки чи пряму у
командному рядку.
.PP
Додаткову інформацію можна отримати з сторінки посібника ipcalc(1).
.SS int mask2prefix (unsigned long int mask)
.PP
обчислює кількість біт відфільтрованих мережевою маскою.
.PP
.PP
Ця функція обчислює значимі біти в IP-адресі в залежності від
мережевої маски. Див. також \fBprefix2mask\fR.
.PP
\fBПараметри: \fR
.in +1c
.TP
\fB\fImask\fR\fR
мережева маска, яка задається як  unsigned long integer з порядком
байтів в мережі. 
.PP
\fBПовертає: \fR
.in +1c
число значимих бітів.
.SS unsigned long int prefix2mask (int bits)
.PP
створює маску мережі з вказаної кількості бітів.
.PP
.PP
Ця функція конвертує довжину префікса в маску мережі. Після появи CIDR
(classless internet domain routing - позакласова маршрутизація доменів
інтернету, англ., прим. перекл.) більше і більше 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
ПЕРЕКЛАД
.br
Дмитро Ковальов, <kov@tokyo.emai.ne.jp>