X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fref%2Fnet-common-tcpip-manpages-accept.html;fp=doc%2Fhtml%2Fref%2Fnet-common-tcpip-manpages-accept.html;h=a17427b0cf6399e80ffdb85aae1b3221c5d9a6d2;hb=2b5bec7716c03d42cfb16d8c98c9cea573bf6722;hp=0000000000000000000000000000000000000000;hpb=47412fc4bd1aefc0d5498bcb3860a9d727196f16;p=karo-tx-redboot.git diff --git a/doc/html/ref/net-common-tcpip-manpages-accept.html b/doc/html/ref/net-common-tcpip-manpages-accept.html new file mode 100644 index 00000000..a17427b0 --- /dev/null +++ b/doc/html/ref/net-common-tcpip-manpages-accept.html @@ -0,0 +1,248 @@ + + + + + + + + +
ACCEPT(2) System Calls Manual ACCEPT(2) + +NAME + accept - accept a connection on a socket + +SYNOPSIS + #include <sys/types.h> + #include <sys/socket.h> + + int + accept(int s, struct sockaddr *addr, socklen_t *addrlen); + +DESCRIPTION + The argument s is a socket that has been created with socket(2), bound to + an address with bind(2), and is listening for connections after a + listen(2). The accept() argument extracts the first connection request + on the queue of pending connections, creates a new socket with the same + properties of s, and allocates a new file descriptor for the socket. If + no pending connections are present on the queue, and the socket is not + marked as non-blocking, accept() blocks the caller until a connection is + present. If the socket is marked non-blocking and no pending connections + are present on the queue, accept() returns an error as described below. + The accepted socket may not be used to accept more connections. The + original socket s remains open. + + The argument addr is a result parameter that is filled in with the + address of the connecting entity as known to the communications layer. + The exact format of the addr parameter is determined by the domain in + which the communication is occurring. The addrlen is a value-result + parameter; it should initially contain the amount of space pointed to by + addr; on return it will contain the actual length (in bytes) of the + address returned. This call is used with connection-based socket types, + currently with SOCK_STREAM. + + It is possible to select(2) or poll(2) a socket for the purposes of doing + an accept() by selecting it for read. + + For certain protocols which require an explicit confirmation, such as ISO + or DATAKIT, accept() can be thought of as merely dequeuing the next con- + nection request and not implying confirmation. Confirmation can be + implied by a normal read or write on the new file descriptor, and rejec- + tion can be implied by closing the new socket. + + One can obtain user connection request data without confirming the con- + nection by issuing a recvmsg(2) call with an msg_iovlen of 0 and a non- + zero msg_controllen, or by issuing a getsockopt(2) request. Similarly, + one can provide user connection rejection information by issuing a + sendmsg(2) call with providing only the control information, or by call- + ing setsockopt(2). + +RETURN VALUES + The call returns -1 on error. If it succeeds, it returns a non-negative + integer that is a descriptor for the accepted socket. + +ERRORS + The accept() will fail if: + + [EBADF] The descriptor is invalid. + + [ENOTSOCK] The descriptor references a file, not a socket. + + [EOPNOTSUPP] The referenced socket is not of type SOCK_STREAM. + + [EINVAL] The referenced socket is not listening for connections + (that is, listen(2) has not yet been called). + + [EFAULT] The addr parameter is not in a writable part of the + user address space. + + [EWOULDBLOCK] The socket is marked non-blocking and no connections + are present to be accepted. + + [EMFILE] The per-process descriptor table is full. + + [ENFILE] The system file table is full. + + [ECONNABORTED] A connection has been aborted. + +SEE ALSO + bind(2), connect(2), listen(2), poll(2), select(2), poll(2), socket(2) + +HISTORY + The accept() function appeared in 4.2BSD. + +BSD February 15, 1999 BSD + |