On Mon, 30 Aug 2010 14:36:09 +0200
lano <mail4l...@web.de> wrote:

> Moin,
> könnt mir nochmal jemand erklärend helfen, ich dreh hier auf kurz oder
> lang durch.
> Da denkste da haste was verstanden, nix ist, und try`n error nervt
> langsam.
> 
> *-------net.c------*
> #include <stdio.h>
> #include <string.h>
> #include <net/if.h>
> #include <netinet/in.h>
> #include <sys/ioctl.h>
> 
> #define BUFSIZE 60
> 
> unsigned char *get_mac(void) {
> int sd;
> struct ifreq ifr;
> char *buffer=malloc(BUFSIZE+1);
> buffer[0]=0;
> 
> 
>     sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
>     if (sd < 0) {
>         perror("socket");
>         exit(1);
>     }
> 
>     strncpy(&ifr.ifr_name, "eth0", IFNAMSIZ);
> 
>     if (ioctl(sd, SIOCGIFHWADDR, &ifr) < 0) {
>         perror("ioctl SIOCGIFHWADDR");
>         exit(1);
>     }
> 
> buffer = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
> 
> //printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
> buffer[0],buffer[1],buffer[2],buffer[3],buffer[4],buffer[5]);
> *------- Wenn ich printf auskommentiere wird die mac auch
> angezeigt------* return buffer;
> }
> 
> *------net.h------*
> #ifndef __NET_H__
> #define __NET_H__
> 
> unsigned char *get_mac(void);
> 
> #endif
> 
> *-------main.c------*
> #include "net.h"
> char *buffer;
> int main(int argc, char **argv) {
> printf("Mac: %s\n", get_mac());
> free(buffer);
> return 0;
> }
> 
> 
> 
> Was mach ich da wieder fürn blödsinn?
> Buch lesen ist ja ganz nett, aber nen buch kann ich keine fragen
> stellen. Das deprimiert dermaßen, hab langsam echt kein bock mehr.
> 
> trotzdem vielen dank für eure hilfe und die bemühungen.
> 
> -Sven- <--- der sich jetzt erstmal abreagieren muss
Ich hab ehrlich gesagt Sowas noch nie gemacht, aber ... was genau ist
denn da dein Problem?

Gruß, Nathanael
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Reply via email to