diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-01-04 20:04:45 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-01-04 20:04:45 +0000 |
commit | 02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch) | |
tree | f4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/lib/if_nametoindex.c | |
parent | 9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff) | |
download | drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2 drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip |
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/lib/if_nametoindex.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/if_nametoindex.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/if_nametoindex.c b/mdk-stage1/dietlibc/lib/if_nametoindex.c new file mode 100644 index 000000000..5923963b1 --- /dev/null +++ b/mdk-stage1/dietlibc/lib/if_nametoindex.c @@ -0,0 +1,27 @@ +#include <linux/if.h> +#include <linux/net.h> +#include <sys/ioctl.h> +#include <unistd.h> +#include <sys/socket.h> + +#ifndef SOCK_DGRAM +#define SOCK_DGRAM 2 +#endif + +int if_nametoindex(char* blub) { + struct ifreq ifr; + int fd; + char *tmp; + int len=sizeof(ifr.ifr_name); + fd=socket(AF_INET6,SOCK_DGRAM,0); + if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0); + for (tmp=ifr.ifr_name; len>0; --len) { + if ((*tmp++=*blub++)==0) break; + } + if (ioctl(fd,SIOCGIFINDEX,&ifr)==0) { + close(fd); + return ifr.ifr_ifindex; + } + close(fd); + return 0; +} |