|Command||basic.%accept C Function/BASIC Program
Applicable release versions: AP/Unix
|Category||BASIC Program (486)|
|Description||extracts the first connection on the queue of pending connections, creates a new socket and allocates a new file descriptor.
To compile successfully, the statement 'cfunction socket.builtin' must be included in the source code.
'socket' Is the file descriptor of the local socket returned by a previous call to the Pick/BASIC C function '%socket'.
Upon successful completion, a value of 0 is returned in 'code', and the following Pick/BASIC variables are updated:
'address' Originating address of the incoming call.
'port' Originating port number or the incoming call.
In the case of an error, a value of -1 is returned and the (Pick/BASIC) function 'system(0)' is set to the value of 'errno'.
|Syntax||code =%accept( socket, &address, &port )|
cfunction socket.builtin include dm,bp,unix.h socket.h * Create a socket fd=%socket( AF$INET, SOCKET$STREAM, 0 ) * Bind the socket to a local Ethernet port. * Use default address. if %bind( fd, AF$INET, INADDR$ANY, 1024 )<0 then crt 'bind failed'; stop end * Wait for incoming connection %listen( fd, 1 ) * Accept a connection addr=0; port=0 fd=%accept( socket, &addr, &port ) crt 'Called by address ':addr:', port #':port * Read data from the data link %read( fd, buffer, 1024 )