Date: Tue, 31 Jul 2001 16:20:43 -0700 From: Jag Johal <Jag@midstream.com> To: "'hackers@freebsd.org'" <hackers@freebsd.org>, Michael VanLoon <MichaelV@EDIFECS.COM> Cc: "'hackers@freebsd.org'" <hackers@freebsd.org> Subject: RE: Finding MAC address of interface - programming question Message-ID: <E68F4182B5EFBE42A503F10FCB75FEDE022FDB@EX1.midstream.com>
next in thread | raw e-mail | index | archive | help
Use sysctl(3), basically, its something like this. mib[0] = CTL_NET; mib[1] = AF_ROUTE; mib[2] = 0; mib[3] = AF_INET; mib[4] = NET_RT_IFLIST; mib[5] = 0; sysctl(mib, 6, buf, &len, NULL, 0); buf will contain for each interface, an if_msghdr followed by a sockaddr_dl, the sockaddr_dl will contain the interface name and mac addr. Following that will be a ifa_msghdr for each ip address on the interface. You may want to check out UNPv1. Jag -----Original Message----- From: Chris Faulhaber [mailto:jedgar@fxp.org] Sent: Tuesday, July 31, 2001 3:56 PM To: Michael VanLoon Cc: 'hackers@freebsd.org' Subject: Re: Finding MAC address of interface - programming question On Tue, Jul 31, 2001 at 03:56:40PM -0700, Michael VanLoon wrote: > Please point me to a more appropriate forum if there is one. I'm kinda out > of my depth on this question. Pseudo code is fine. :-) > > What I'm looking for is how to enumerate the network interfaces and get the > Ethernet MAC address of one programmatically. Can anyone point me in the > right direction? > /usr/src/sbin/ifconfig -- Chris D. Faulhaber - jedgar@fxp.org - jedgar@FreeBSD.org -------------------------------------------------------- FreeBSD: The Power To Serve - http://www.FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E68F4182B5EFBE42A503F10FCB75FEDE022FDB>