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

--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an