Re: description of struct sockaddr

From: Bernd Petrovitsch
Date: Tue Dec 28 2004 - 16:13:10 EST


On Sun, 2004-12-26 at 16:40 +0000, Karel Kulhavy wrote:
> On Tue, Nov 23, 2004 at 11:11:31PM +0100, Jan Engelhardt wrote:
> > >Hello
> > >
> > >man netdevice talks about struct sockaddr, but neither describes it,
> > >nor provides a link to descriptio, nor the "SEE ALSO" items
> > >(ip(7), proc(7), rnetlink(7)) provide the necessary information.
> > >
> > >"The hardware address is specified in a struct sockaddr".
> >
> > I don't think so. The hardware address is, well, specific to the hardware (like
> > Ethernet, for example). IP/TCP/UDP however is not limited to Ethernet. And
> > 'sockaddr' clearly is something that does not deal with hardware.
>
> It is a sentence from man netdevice. Should I send a bugreport to the manpage
> maintainer?

No. struct sockaddr basically holds only the common field "sa_family"
and an array of char which contains the hardware specific data
(see /usr/include/linux/socket.h). It is used by the socket API.
For different hardware types you have other structs, e.g. you have
struct sockaddr_in for IP sockets and struct sockaddr_un for Unix domain
sockets.
sockaddr_in has additionally to the common fields a field for the IP
address "sin_address" and "sin_port" for the port. sockaddr_un has
simply the field "sun_path" for the name in the filesystem.

Just grep for them under /usr/include...

Bernd
--
Firmix Software GmbH http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
Embedded Linux Development and Services



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/