
socket_create(3)       C 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.

Sun Release 4.1           Last change:                          1

socket_create(3)       C LIBRARY FUNCTIONS       socket_create(3)

ERRORS
     EEMODENOTSUPP  Socket mode not supported.

     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),     socket_write(3)
     socket_listen(3), socket_write(3)

Sun Release 4.1           Last change:                          2

