Inet_network () funktsiyasi IPv4 nuqtali chiziqli cp -ni Internet tarmog'i manzili sifatida
foydalanish uchun mos bo'lgan raqamga (xost bayt tartibiga) o'zgartiradi. Muvaffaqiyatli bo'lsa,
tarjima qilingan manzil qaytariladi. Agar noto'g'ri satr ko'rsatilsa, -1 qaytariladi.
Inet_ntoa () funktsiyasi imonga tarmoq bayt Internet xost manzili bir uchun IPv4 satrni
nuqta. String statik
ajratilgan buferga qaytariladi, u keyingi qo'ng'iroqlar ustiga yoziladi.
Inet_lnaof () funktsiyasi internet manzili mezbon sonini qaytaradi ham . Qaytish qiymati
asosiy bayt tartibida.
Inet_netof () funktsiyasi internet manzili tarmoq sonini qaytaradi ham . Qaytish qiymati
asosiy bayt tartibida.
Inet_makeaddr () funktsiyasi inet_netof () va inet_lnaof ()
ga qarama -qarshi . Bu
bitiştirmek tomonidan yaratilgan tarmoq bayt maqsadida
Internet xost manzili, qaytib sof bilan
qator mezbon soni (har ikki mezbon bayt maqsadida).
Inet_ntoa (), inet_makeaddr (), inet_lnaof ()
va inet_netof ()
da ishlatiladigan in_addr tuzilishi
da aniqlanadi :
_addr_t ichida typedef uint32_t ;
struct yilda _addr {
yilda _addr_t s_addr;
};
ATRIBUTLAR
Ushbu bo'limdagi atamalarning tavsifi uchun
atributlarga
qarang (7).
Interfeys
Xususiyat
Ma'nosi
inet_aton (), inet_addr (),
inet_network (), inet_ntoa ()
iplardagi zararsizlik
zararsiz (MT-Xavfsiz mahalliy til)
inet_makeaddr (), inet_lnaof (),
inet_netof ()
iplardagi zararsizlik
zararsiz (MT-Safe)
MUVOFIQ
inet_addr (), inet_ntoa (): POSIX.1-2001, POSIX.1-2008, 4.3BSD.
Inet_aton () funktsiyasi POSIX.1 da aniqlanmagan, lekin ko'pchilik tizimlarda mavjud.
QAYDLAR
X86 arxitekturasida mezbon bayt tartibi shunday bo'ladiki, birinchi navbatda eng kichik bayt
(kichik endian = eng kam ahamiyatli) va Internetda ishlatiladigan tarmoq bayt tartibida birinchi
navbatda (katta endian = eng muhim) ).
inet_lnaof (), inet_netof () va inet_makeaddr () eskirgan funktsiyalar bo'lib, ular sinf tarmoq
manzili ishlatilishini nazarda tutadi . Sinflarga asoslangan manzil IPv4 tarmoq manzilini bayt
chegaralari bo'yicha xost va tarmoq komponentlariga ajratadi:
A sinf
Manzilning bu turi manzilning eng muhim biti (tarmoq baytining tartibi) joyida 0 bilan
belgilanadi. Tarmoq
manzili eng muhim baytda, xost manzillari qolgan uch baytni egallaydi.
B sinf
Manzilning bu turi manzilning eng muhim ikkita biti (tarmoq baytining tartibi) o'rniga
ikkilik 10 qiymati bilan ko'rsatiladi. Tarmoq manzili eng muhim ikki baytda, xost manzillari esa
qolgan ikki baytda.
C sinf
Bu turdagi manzil, manzilning eng muhim uch biti (tarmoq baytining tartibi) o'rniga ikkilik
qiymati bilan ko'rsatiladi. Tarmoq manzili birinchi uchta eng muhim baytda joylashgan va mezbon
manzillari qolgan baytni egallaydi.
Sinf manzili endi eskirgan va uning o'rnini sinfsiz adreslash (CIDR) egalladi, bunda manzil
va tarmoq komponentlari o'zboshimchalik bilan bitlarni egallashi mumkin (bayt emas).
MISOL
Quyida inet_aton () va inet_ntoa () dan foydalanish uchun misol kodi keltirilgan . Misol
natijasini ko'rib chiqing:
$ ./a. amalga 226.000 .000 .037 sakkiz qirrali SS # Oxirgi bayt
226.0 .0 .31
$ ./a. amalga 0x7f .1 hex SS # Birinchi bayt
127,0 .0 .1
Do'stlaringiz bilan baham: