]> granicus.if.org Git - strace/commitdiff
2007-01-12 Dmitry V. Levin <ldv@altlinux.org>
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 21 Mar 2007 13:57:50 +0000 (13:57 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 21 Mar 2007 13:57:50 +0000 (13:57 +0000)
* sock.c (sock_ioctl) [LINUX]: Handle SIOCGIFMAP.

ChangeLog
sock.c

index 855f2964d9f23d4db0ec7fe9fa0cdbea821c325a..ce767b3e4e7da51f392f2f1c07eba063f49bdaaf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2007-01-12  Dmitry V. Levin <ldv@altlinux.org>
 
-       * sock.c (sock_ioctl) [LINUX]: Handle SIOCGIFTXQLEN.
+       * sock.c (sock_ioctl) [LINUX]: Handle SIOCGIFTXQLEN and
+       SIOCGIFMAP.
 
 2007-03-16  Roland McGrath  <roland@redhat.com>
 
diff --git a/sock.c b/sock.c
index 5b3cc3bb33e098407a1f74194cabcc756fe8a0df..afcb7d8237589deec1aa9aef19c60e85ff52f07d 100644 (file)
--- 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("}");
                }