summaryrefslogtreecommitdiff
path: root/sock.c
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2007-03-21 13:57:50 +0000
committerDmitry V. Levin <ldv@altlinux.org>2007-03-21 13:57:50 +0000
commitecdd0bbb5276b5b5ec3d1daf87be0b23082e17a6 (patch)
treef7acbad9bbbd37213fd918cf9efecbfaafadbb6a /sock.c
parent402842487c21f3cb97caefa2ca3724048da9e5de (diff)
downloadstrace-ecdd0bbb5276b5b5ec3d1daf87be0b23082e17a6.tar.gz
strace-ecdd0bbb5276b5b5ec3d1daf87be0b23082e17a6.tar.bz2
strace-ecdd0bbb5276b5b5ec3d1daf87be0b23082e17a6.tar.xz
2007-01-12 Dmitry V. Levin <ldv@altlinux.org>
* sock.c (sock_ioctl) [LINUX]: Handle SIOCGIFMAP.
Diffstat (limited to 'sock.c')
-rw-r--r--sock.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sock.c b/sock.c
index 5b3cc3b..afcb7d8 100644
--- a/sock.c
+++ b/sock.c
@@ -145,6 +145,7 @@ sock_ioctl(struct tcb *tcp, long code, long arg)
case SIOCGIFSLAVE:
case SIOCGIFHWADDR:
case SIOCGIFTXQLEN:
+ case SIOCGIFMAP:
umove(tcp, tcp->u_arg[2], &ifr);
if (syserror(tcp)) {
if (code == SIOCGIFNAME)
@@ -206,6 +207,17 @@ sock_ioctl(struct tcb *tcp, long code, long arg)
case SIOCGIFTXQLEN:
tprintf("ifr_qlen=%d", ifr.ifr_qlen);
break;
+ case SIOCGIFMAP:
+ tprintf("ifr_map={mem_start=%#lx, "
+ "mem_end=%#lx, base_addr=%#x, "
+ "irq=%u, dma=%u, port=%u}",
+ ifr.ifr_map.mem_start,
+ ifr.ifr_map.mem_end,
+ (unsigned) ifr.ifr_map.base_addr,
+ (unsigned) ifr.ifr_map.irq,
+ (unsigned) ifr.ifr_map.dma,
+ (unsigned) ifr.ifr_map.port);
+ break;
}
tprintf("}");
}