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 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
|
'\" t
.\" Don't change the first line, it tells man that tbl is needed.
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\" Permission is granted to distribute possibly modified copies
.\" of this page provided the header is included verbatim,
.\" and in case of nontrivial modification author and date
.\" of the modification is added to the header.
.\" $Id: netdevice.7,v 1.10 2001/08/15 18:01:06 hanataka Exp $
.\"
.\" Modified, 2004-11-25, mtk, formatting and a few wording fixes
.\"
.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
.\" Translated Mon 6 Dec 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\" Updated Wed 14 Feb 2001 by Kentaro Shirakata <argrath@ub32.org>
.\"
.\"WORD load balancing bundle ʬ롼
.\"WORD file descriptor եǥץ
.\"WORD capability
.\"
.TH NETDEVICE 7 1999-05-02 "Linux" "Linux Programmer's Manual"
.SH ̾
netdevice \- Linux ͥåȥǥХؤ٥륢
.SH
.B "#include <sys/ioctl.h>"
.br
.B "#include <net/if.h>"
.SH
man ڡǤϡͥåȥǥХꤹ뤿
Ѥ륽åȥեˤĤƲ⤹롣
Linux ϥͥåȥǥХꤹ뤿ɸŪ ioctl
ĤƤ롣ϤɤʥåȤΥեǥץˤ
Ѥ뤳ȤǤ롣եߥ䥿פϲǤ褤
ioctl
.I ifreq
¤ΤϤ
.in +4n
.nf
struct ifreq {
char ifr_name[IFNAMSIZ]; /* Interface name */
union {
struct sockaddr ifr_addr;
struct sockaddr ifr_dstaddr;
struct sockaddr ifr_broadaddr;
struct sockaddr ifr_netmask;
struct sockaddr ifr_hwaddr;
short ifr_flags;
int ifr_ifindex;
int ifr_metric;
int ifr_mtu;
struct ifmap ifr_map;
char ifr_slave[IFNAMSIZ];
char ifr_newname[IFNAMSIZ];
char *ifr_data;
};
};
struct ifconf {
int ifc_len; /* size of buffer */
union {
char *ifc_buf; /* buffer address */
struct ifreq *ifc_req; /* array of structures */
};
};
.fi
.in
̾桼ˤоݥǥХλϡ
.I ifr_name
˥ե̾åȤ뤳ȤˤäƹԤ
¾ι¤ΤƤΥФϡͭ롣
.SS ioctl
øɬספȵҤƤ ioctl ¹Ԥˤϡ
¸桼 ID 0
.B CAP_NET_ADMIN
¤ɬפǤ롣줬Ƥʤ
.B EPERM
֤롣
.TP
.B SIOCGIFNAME
.I ifr_ifindex
ꡢե̾
.I ifr_name
֤Ϸ̤
.I ifr_name
Ȥ֤ͣ ioctl Ǥ롣
.TP
.B SIOCGIFINDEX
ե interface index
.I ifr_ifindex
֤
.TP
.BR SIOCGIFFLAGS ", " SIOCSIFFLAGS
ǥХ active ե饰ɤޤꤹ롣
.I ifr_flags
ˤϰʲͤΥӥåȥޥ롣
.TS
tab(:);
c s
l l.
ǥХե饰
IFF_UP:եư档
IFF_BROADCAST:T{
ͭʥ֥ɥ㥹ȥɥ쥹åȤƤ롣
T}
IFF_DEBUG:ΥǥХåե饰
IFF_LOOPBACK:եϥ롼ץХåǤ롣
IFF_POINTOPOINT:T{
ե point-to-point Ǥ롣
T}
IFF_RUNNING:ƺѤߡ
IFF_NOARP:arp ץȥ뤬ʤ
IFF_PROMISC:ե promiscuous ⡼ɤǤ롣
IFF_NOTRAILERS:trailer Ѥ롣
IFF_ALLMULTI:ƤΥޥ㥹ȥѥåȤ롣
IFF_MASTER:ʬ롼פΥޥǤ롣
IFF_SLAVE:ʬ롼פΥ졼֤Ǥ롣
IFF_MULTICAST:ޥ㥹ȤݡȤƤ롣
IFF_PORTSEL:ifmap ˤäƥǥפǤ롣
IFF_AUTOMEDIA:ưǥͭˤʤäƤ롣
IFF_DYNAMIC:T{
ΥեĤȡɥ쥹ϼ롣
T}
.TE
acitive ե饰ɤøɬפǤ롣
ɤ߽ФϤɤʥץǽǤ롣
.TP
.BR SIOCGIFMETRIC ", " SIOCSIFMETRIC
ǥХΥȥå
.I ifr_metric
ѤƼꤹ롣
ϤޤƤʤɤ߽ФȤ
.I ifr_metric
0 åȤ֤ꡢꤷ褦Ȥ
.B EOPNOTSUPP
֤롣
.TP
.BR SIOCGIFMTU ", " SIOCSIFMTU
ǥХ MTU (Maximum Transfer Unit)
.I ifr_mtu
ѤƼꤹ롣 MTU øɬפǤ롣
MTU ͤȥͥ뤬å夹뤫⤷ʤ
.TP
.BR SIOCGIFHWADDR ", " SIOCSIFHWADDR
ǥХΥϡɥɥ쥹
.I ifr_hwaddr
ѤƼꤹ롣
ϡɥɥ쥹
.I sockaddr
¤Τꤵ롣
.I sa_family
ˤ ARPHRD_* ǥХפꡢ
.I sa_data
ϥХ 0 Ϥޤ L2 ϡɥɥ쥹롣
ϡɥɥ쥹øɬפǤ롣
.TP
.B SIOCSIFHWBROADCAST
ǥХΥϡɥ֥ɥ㥹ȥɥ쥹
.I ifr_hwaddr
ͤꤹ롣ˤøɬפǤ롣
.TP
.BR SIOCGIFMAP ", " SIOCSIFMAP
եΥϡɥΥѥ
.I ifr_map
ѤƼꤹ롣
ѥøɬפǤ롣
.in +4n
.nf
struct ifmap {
unsigned long mem_start;
unsigned long mem_end;
unsigned short base_addr;
unsigned char irq;
unsigned char dma;
unsigned char port;
};
.fi
.in
ifmap ¤ΤβϥǥХɥ饤Фȥƥ˰¸롣
.TP
.BR SIOCADDMULTI ", " SIOCDELMULTI
ǥХΥؤΥޥ㥹ȥե륿顢
.I ifr_hwaddr
Υɥ쥹ɲá롣ˤøɬפǤ롣
ˡ
.BR packet (7)
Dz⤵Ƥ롣
.TP
.BR SIOCGIFTXQLEN ", " SIOCSIFTXQLEN
ǥХ塼Ĺ
.I ifr_qlen
˼ꤹ롣塼ĹˤøɬפǤ롣
.TP
.B SIOCSIFNAME
.I ifr_name
ǻꤷե̾
.I ifr_newname
ѹ롣ˤøɬפǤ롣ե up Ƥʤ
ˤΤѤǤ롣
.TP
.B SIOCGIFCONF
ե(ȥݡ)ɥ쥹ΥꥹȤ֤
ߤΤȤߴΤ
.B AF_INET
(IPv4) եߥΥɥ쥹ΤߤǤ롣
桼
.I ifconf
¤Τ ioctl ΰȤϤ
ˤ
.I ifreq
¤ΤؤΥݥǤ
.I ifc_req
ȡĹХñ̤ǻꤹ
.I ifc_len
ޤࡣ
ͥ ifreqs ưƤƤ L3 եɥ쥹롣
.I ifr_name
ˤϥե̾ (eth0:1 ʤ) ꡢ
.I ifr_addr
ˤϥɥ쥹롣
ͥϼºݤĹ
.I ifc_len
֤
.I ifc_len ΥХåեĹƱä硢
СեƤǽΤǡ
ƤΥɥ쥹뤿ˤ礭ʥХåեǺƻԤ٤Ǥ롣
顼ʤä ioctl 0 ֤
顼ä \-1 ֤
Сեϥ顼Ȥϸʤʤ
.\" Slaving isn't supported in 2.2
.\" .
.\" .TP
.\" .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE
.\" Get or set the slave device using
.\" .IR ifr_slave .
.\" Setting the slave device is a privileged operation.
.\" .PP
.\" FIXME add amateur radio stuff.
.PP
ۤȤɤΥץȥˤϡѤΥեץ
ꤹ뤿ȼ ioctl ¸ߤ롣
ϳƥץȥ man ڡ衣
.PP
ˡǥХˤäƤϥץ饤١Ȥ ioctl 롣
ϤǤʤ
.SH
̩ˤȡ
.B SIOCGIFCONF
IP ͭǤꡢ
.BR ip (7)
°롣
.LP
ɥ쥹ʤäꡢ
.B IFF_RUNNING
ե饰åȤƤʤե̾
.I /proc/net/dev
ǸĤ뤳Ȥ롣
.LP
IPV6 IP ɥ쥹
.I /proc/net
.BR rtnetlink (7)
ǸĤ뤳Ȥ롣
.SH Х
glibc 2.1 Ǥ
.I <net/if.h>
.I ifr_newname
ޥʤ
ȤꤢбȤơʲΥɤɲäƤȡ
.sp
.in +4n
.nf
#ifndef ifr_newname
#define ifr_newname ifr_ifru.ifru_slave
#endif
.fi
.in
.RE
.SH Ϣ
.BR proc (5),
.BR capabilities (7),
.BR ip (7),
.BR rtnetlink (7)
|