NAME
     socket_create() - create an efun socket

SYNOPSIS
     #include 
     #include 

     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.

     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),

Help topics available:
socket_accept socket_acquire socket_bind socket_error socket_listen
socket_close socket_release socket_write socket_address socket_connect
socket_create

[START|BACK ]




[ NannyMuds main page | FAQ | Contact us ]

You are guest number 156 since November 2019.
This file was last modified: June 2000.