Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getsockname(3N) — Motorola System V 88k Release 4 Version 4.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bind(3N)

getpeername(3N)

socket(3N)

getsockname(3N)  —  NETWORK FUNCTIONS

NAME

getsockname − get socket name

SYNOPSIS

int getsockname(int s, caddr_t name, int ∗namelen);

DESCRIPTION

getsockname returns the current name for socket s.  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). 

RETURN VALUE

0 is returned if the call succeeds; -1 if it fails. 

ERRORS

The call succeeds unless:

EBADF The argument s is not a valid descriptor. 

ENOTSOCK The argument s is a file, not a socket. 

ENOMEM There was insufficient user memory for the operation to complete. 

ENOSR There were insufficient STREAMS resources available for the operation to complete. 

SEE ALSO

bind(3N), getpeername(3N), socket(3N)

NOTES

The type of address structure passed to accept depends on the address family.  UNIX domain sockets (address family AF_UNIX) require a socketaddr_un structure as defined in sys/un.h; Internet domain sockets (address family AF_INET) require a sockaddr_in structure as defined in netinet/in.h.  Other address families may require other structures.  Use the structure appropriate to the address family; cast the structure address to a generic caddr_t in the call to getsockname and pass the size of the structure in the namelen argument. 

The functionality of getsockname is provided by t_getname in TLI.  t_getname will be replaced in the next release of System V. 

The syntax for t_getname is as follows:

t_getname(int fd, struct netbuf ∗name, register int type);

If type is equal to LOCALNAME, then the address of the local side of the connection is returned; otherwise, the address of the remote side is returned. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026