soundmodem: SIOCGIFNETCONFIG a ifconfig
Veros Kaplan
xkaplan na fi.muni.cz
Středa Prosinec 1 16:46:10 CET 1999
Krasneho dne preji,
narazil jsem na zajimavou vec se soundmodemem. Nahodil jsem zarizeni
sm0 (soundmodem). Ve vypisu zarizeni, ktery provedu prikazem ifconfig
zarizeni sm0 je (dokonce je tam s poznamkou UP RUNNING), ve vypisu,
ktery ziskam z /proc/net/dev je take, ale programem, ktery provadi ioctl
dotaz na vsechna sitova zarizeni se nevypise. (Program prikladam
dole...)
Nevite nekdo, cim to muze byt zpusobeno?
Jadro Linuxu je 2.2.12-2 z RH 6.1, mozna je chyba v tom.
Povedlo se nekomu na tomto jadre rozchodit soundmodem? (spis soukrome)
Nevite nekdo, kde rostou zdrojaky ifconfigu, zkusil bych prozkoumat
ten...
Veros
--
Veros Kaplan <xkaplan na informatics.muni.cz> http://www.fi.muni.cz/~xkaplan
ISO-8859-2 compatible ministerstvo medvedich sluzeb
"Vymenim zub za zub. Zn: moudrosti."
--8<-----------------------------------------
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <linux/netdevice.h>
#include <linux/if.h>
int main ()
{
char buffer[1024];
struct ifconf ifc;
struct ifreq *ifrp;
int n, fd;
ifc.ifc_len = sizeof(buffer);
ifc.ifc_buf = buffer;
if ((fd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) {
fprintf(stderr, "Can't open socket: %s\n", strerror(errno));
return 2;
}
if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) {
fprintf(stderr, "SIOCGIFCONF: %s\n", strerror(errno));
return 1;
}
n = ifc.ifc_len / sizeof(struct ifreq);
printf ("Got %i interfaces\n", n);
for (ifrp = ifc.ifc_req; n--; ifrp++) {
puts (ifrp->ifr_name);
}
return 0;
}
"Precist si jeden slovnik znamena mit je prectene vsechny."
Další informace o konferenci Linux