#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <signal.h>#include "wind2unix.h"#include "xsb_time.h"#include <sys/socket.h>#include <sys/uio.h>#include <netdb.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#include <fcntl.h>#include "xsb_config.h"#include "xsb_debug.h"#include "socket_xsb.h"#include "flags_xsb.h"#include "thread_xsb.h"#include "thread_defs_xsb.h"#include "timer_xsb.h"#include "auxlry.h"#include "cell_xsb.h"#include "error_xsb.h"#include "cinterf.h"#include "basictypes.h"#include "io_builtins_xsb.h"#include "psc_xsb.h"#include "register.h"#include "memory_xsb.h"Data Structures | |
| struct | connection_t |
Functions | |
| static xsbBool | set_error_code (CTXTdeclc int ErrCode, int ErrCodeArgNumber, char *Where) |
| FILE * | fdopen (int fildes, const char *type) |
| static void | init_connections (CTXTdecl) |
| static void | set_sockfd (int count) |
| static xsbBool | list_sockfd (prolog_term list, fd_set *fdset, int *max_fd, int **fds, int *size) |
| static void | test_ready (CTXTdeclc prolog_term *avail_sockfds, fd_set *fdset, int *fds, int size) |
| static void | select_destroy (char *connection_name) |
| static int | getsize (prolog_term list) |
| static int | checkslot (void) |
| static char * | get_host_IP (char *host_name_or_IP) |
| static int | translate_domain (int xsb_domain, int *socket_domain) |
| int | read_select (SOCKET sock_handle, int timeout) |
| int | write_select (SOCKET sock_handle, int timeout) |
| static int | readmsg (SOCKET sock_handle, char **msg_buff, unsigned long *msg_len) |
| static int | socket_accept (CTXTdeclc SOCKET *sock_handle, int timeout) |
| static int | socket_connect (CTXTdeclc int *rc, int timeout) |
| static int | socket_recv (CTXTdeclc int *rc, char **buffer, unsigned long *buffer_len, int timeout) |
| static int | socket_send (CTXTdeclc int *rc, int timeout) |
| static int | socket_get0 (CTXTdeclc int *rc, char *message_read, int timeout) |
| static int | socket_put (CTXTdeclc int *rc, int timeout) |
| xsbBool | xsb_socket_request (CTXTdecl) |
Variables | |
| static u_long | block_true = 1 |
| static u_long | block_false = 0 |
| static struct connection_t | connections [MAXCONNECT] |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
||||||||||||
|
Calls select() on the socked specified by sock_handle, waiting for at most timeout seconds. Returns non-zero if a call to read() will return immediately, zero otherwise. |
|
||||||||||||||||
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
||||||||||||
|
this may not set domain to a valid value; in this case the connect() will fail |
|
||||||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||
|
Translates from the XSB-defined value for a socket domains specified by xsb_domain to system-specific value for that socket domains and stores this system-specific value in socket_domain. Returns TRUE if the conversion was successful, FALSE otherwise. |
|
||||||||||||
|
Calls select() on the socked specified by sock_handle, waiting for at most timeout seconds. Returns non-zero if a call to write() will return immediately, zero otherwise. |
|
|
|
|
|
|
|
|
|
|
|
|
1.4.5