
socket_create(3)     LPC LIBRARY FUNCTIONS       socket_create(3)

NAME
     socket_create() - create an efun socket

SYNOPSIS
     #include <socket.h>
     #include <socket_errors.h>

     int socket_create(int mode, string read_callback,
     string|void close_callback)

DESCRIPTION
     socket_create() creates  an  efun  socket.  mode  determines
     which  type of socket is created. Currently supported socket
     modes are:

     MUD - for sending LPC data types using TCP protocol.

     STREAM - for sending raw data using TCP protocol.

     DATAGRAM - for using UDP protocol.

     The argument read_callback is the name of a function for the
     driver  to call when the socket gets data from its peer. The
     read callback should follow this format:

     void read_callback(int fd, mixed message)

     Where fd is the socket which received the data, and  message
     is the data which was received.

     The argument close_callback is the name of  a  function  for
     the  driver  to call if the socket closes unexpectedly, i.e.
     not as the result of a socket_close(3) call. The close call-
     back should follow this format:

     void close_callback(int fd)

     Where  fd  is  the   socket   which   has   closed.    NOTE:
     close_callback is not used with DATAGRAM mode sockets.

RETURN VALUES
     socket_create() returns:

     a non-negative descriptor on success.

     a negative value indicated below on error.

ERRORS
     EEMODENOTSUPP  Socket mode not supported.


MudOS Release 0.9         Last change:                   11-15-92

socket_create(3)     LPC LIBRARY FUNCTIONS       socket_create(3)

     EESOCKET       Problem creating socket.

     EESETSOCKOPT   Problem with setsockopt.

     EENONBLOCK     Problem setting non-blocking mode.

     EENOSOCKS      No more available efun sockets.

     EESECURITY     Security violation attempted.

SEE ALSO
     socket_accept(3),      socket_bind(3),      socket_close(3),
     socket_connect(3), socket_listen(3),

Sun Release 4.1           Last change:                          2

