ssssoooocccckkkkeeeetttt____aaaaccccqqqquuuuiiiirrrreeee((((3333)))) MMMMuuuuddddOOOOSSSS ((((5555 SSSSeeeepppp 1111999999994444)))) ssssoooocccckkkkeeeetttt____aaaaccccqqqquuuuiiiirrrreeee((((3333))))
NNNNAAAAMMMMEEEE
socket_acquire() - assume ownership of a socket
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
#include <socket_err.h>
int socket_acquire( int socket, string read_callback,
string write_callback,
string close_callback );
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
socket_acquire() is called to complete the handshake begun
by socket_release() for transferring ownership (and control)
of a socket to a new object. socket_release() calls the
release callback function within the new owner object to
notify the object that it wishes to pass control of the
socket on. It is the responsibility of the new owner socket
to decide whether it wishes to accept the socket. It it
does, then socket_acquire() is called to complete the
transfer. If not, then the callback simply returns without
completing the handshake.
In the former case the handshake is completed and the new
object becomes the socket owner. The read, write and close
callback function parameters refer to functions within the
new object. These are specified so that the MudOS driver
will know which functions to call within the new object.
Decling to acquire the socket will cause socket_release() to
return EESOCKNOTRLSD so the owner can perform appropriate
clean-up.
socket_acquire() may only be called within the context of
thr release callback function and only with the socket
specified.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
socket_release(3)
Page 1 (Writen 5/23/97)