UNIX Network Programming Volume 1, Third Edition [Electronic resources] : The Sockets Networking API نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

UNIX Network Programming Volume 1, Third Edition [Electronic resources] : The Sockets Networking API - نسخه متنی

Addison Wesley

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










17.7 Interface Operations


As we showed in the previous section, the SIOCGIFCONF request returns the name and a socket address structure for each interface that is configured. There are a multitude of other requests that we can then issue to set or get all the other characteristics of the interface. The

get version of these requests (SIOCGxxx) is often issued by the netstat program, and the

set version (SIOCSxxx) is often issued by the ifconfig program. Any user can get the interface information, while it takes superuser privileges to set the information.

These requests take or return an ifreq structure whose address is specified as the third argument to ioctl. The interface is always identified by its name: le0, lo0, ppp0, etc. in the ifr_name member.

Many of these requests use a socket address structure to specify or return an IP address or address mask with the application. For IPv4, the address or mask is contained in the sin_addr member of an Internet socket address structure; for IPv6, it is in the sin6_addr member of an IPv6 socket address structure.

SIOCGIFADDR

Return the unicast address in the ifr_addr member.

SIOCSIFADDR

Set the interface address from the ifr_addr member. The initialization function for the interface is also called.

SIOCGIFFLAGS

Return the interface flags in the ifr_flags member. The names of the various flags are IFF_

xxx and are defined by including the <net/if.h> header. The flags indicate, for example, if the interface is up (IFF_UP), if the interface is a point-to-point interface (IFF_POINTOPOINT), if the interface supports broadcasting (IFF_BROADCAST), and so on.

SIOCSIFFLAGS

Set the interface flags from the ifr_flags member.

SIOCGIFDSTADDR

Return the point-to-point address in the ifr_dstaddr member.

SIOCSIFDSTADDR

Set the point-to-point address from the ifr_dstaddr member.

SIOCGIFBRDADDR

Return the broadcast address in the ifr_broadaddr member. The application must first fetch the interface flags and then issue the correct request: SIOCGIFBRDADDR for a broadcast interface or SIOCGIFDSTADDR for a point-to-point interface.

SIOCSIFBRDADDR

Set the broadcast address from the ifr_broadaddr member.

SIOCGIFNETMASK

Return the subnet mask in the ifr_addr member.

SIOCSIFNETMASK

Set the subnet mask from the ifr_addr member.

SIOCGIFMETRIC

Return the interface metric in the ifr_metric member. The interface metric is maintained by the kernel for each interface but is used by the routing daemon routed. The interface metric is added to the hop count (to make an interface less favorable).

SIOCSIFMETRIC

Set the interface routing metric from the ifr_metric member.

In this section, we described the generic interface requests. Many implementations have additional requests as well.


/ 450