getsockname() returns the current
name for the specified socket. The
namelen parameter should be initialized to indicate
the amount of space pointed to by
name. On return it contains the actual size of the name
returned (in bytes).
The third argument of
getsockname() is in reality an int * (and this is what 4.x BSD and libc4 and libc5 have).
Some POSIX confusion resulted in the present socklen_t, also used by glibc.
See also
accept(2).