socket_acquire(3) LPC Library Functions socket_acquire(3)
NNAAMMEE
socket_acquire() - assume ownership of a socket
SSYYNNOOPPSSIISS
#include <socket_err.h>
int socket_acquire( int socket, string read_callback,
string write_callback,
string close_callback );
DDEESSCCRRIIPPTTIIOONN
socket_acquire() is called to complete the handshake begun
by socket_release() for transferring ownership (and con-
trol) 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.
SSEEEE AALLSSOO
socket_release(3)
MudOS 5 Sep 1994 1