abyss_socket_unix.c File Reference

#include <xmlrpc-c/config.h>
#include <stdlib.h>
#include <assert.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <errno.h>
#include <sys/ioctl.h>
#include "abyss_xmlrpc_int.h"
#include "abyss_mallocvar.h"
#include "abyss_trace.h"
#include "abyss_socket.h"
#include <xmlrpc-c/abyss.h>
#include "abyss_socket_unix.h"

Include dependency graph for abyss_socket_unix.c:

Go to the source code of this file.

Data Structures

struct  socketUnix

Functions

static void socketAccept (TSocket *const listenSocketP, abyss_bool *const connectedP, abyss_bool *const failedP, TSocket **const acceptedSocketPP, TIPAddr *const ipAddrP)
static uint32_t socketAvailableReadBytes (TSocket *const socketP)
abyss_bool socketBind (TSocket *const socketP, TIPAddr *const addrP, uint16_t const portNumber)
abyss_bool socketConnect (TSocket *const socketP, TIPAddr *const addrP, uint16_t const portNumber)
static void socketDestroy (TSocket *const socketP)
static uint32_t socketError (TSocket *const socketP)
static void socketGetPeerName (TSocket *const socketP, TIPAddr *const ipAddrP, uint16_t *const portNumberP, abyss_bool *const successP)
abyss_bool socketListen (TSocket *const socketP, uint32_t const backlog)
static uint32_t socketRead (TSocket *const socketP, char *const buffer, uint32_t const len)
void SocketUnixCreate (TSocket **const socketPP)
void SocketUnixCreateFd (int const fd, TSocket **const socketPP)
void SocketUnixInit (abyss_bool *const succeededP)
void SocketUnixTerm (void)
static uint32_t socketWait (TSocket *const socketP, abyss_bool const rd, abyss_bool const wr, uint32_t const timems)
static void socketWrite (TSocket *const socketP, const unsigned char *const buffer, uint32_t const len, abyss_bool *const failedP)

Variables

static SocketAcceptImpl socketAccept
static SocketAvailableReadBytesImpl socketAvailableReadBytes
static SocketBindImpl socketBind
static SocketConnectImpl socketConnect
static SocketDestroyImpl socketDestroy
static SocketErrorImpl socketError
static SocketGetPeerNameImpl socketGetPeerName
static SocketListenImpl socketListen
static SocketReadImpl socketRead
static SocketWaitImpl socketWait
static SocketWriteImpl socketWrite
static struct TSocketVtbl const vtbl


Function Documentation

static void socketAccept ( TSocket *const   listenSocketP,
abyss_bool *const   connectedP,
abyss_bool *const   failedP,
TSocket **const   acceptedSocketPP,
TIPAddr *const   ipAddrP 
) [static]

static uint32_t socketAvailableReadBytes ( TSocket *const   socketP  )  [static]

Definition at line 458 of file abyss_socket_unix.c.

References socketUnix::fd.

abyss_bool socketBind ( TSocket *const   socketP,
TIPAddr *const   addrP,
uint16_t const   portNumber 
)

Definition at line 295 of file abyss_socket_unix.c.

References socketUnix::fd.

abyss_bool socketConnect ( TSocket *const   socketP,
TIPAddr *const   addrP,
uint16_t const   portNumber 
)

Definition at line 274 of file abyss_socket_unix.c.

References socketUnix::fd.

static void socketDestroy ( TSocket *const   socketP  )  [static]

Definition at line 194 of file abyss_socket_unix.c.

References socketUnix::fd, and socketUnix::userSuppliedFd.

static uint32_t socketError ( TSocket *const   socketP  )  [static]

Definition at line 519 of file abyss_socket_unix.c.

static void socketGetPeerName ( TSocket *const   socketP,
TIPAddr *const   ipAddrP,
uint16_t *const   portNumberP,
abyss_bool *const   successP 
) [static]

Definition at line 473 of file abyss_socket_unix.c.

References FALSE, socketUnix::fd, TraceMsg(), and TRUE.

abyss_bool socketListen ( TSocket *const   socketP,
uint32_t const   backlog 
)

Definition at line 319 of file abyss_socket_unix.c.

References socketUnix::fd.

static uint32_t socketRead ( TSocket *const   socketP,
char *const   buffer,
uint32_t const   len 
) [static]

Definition at line 252 of file abyss_socket_unix.c.

References socketUnix::fd, and SocketTraceIsActive.

void SocketUnixCreate ( TSocket **const   socketPP  ) 

void SocketUnixCreateFd ( int const   fd,
TSocket **const   socketPP 
)

void SocketUnixInit ( abyss_bool *const   succeededP  ) 

Definition at line 91 of file abyss_socket_unix.c.

References TRUE.

Referenced by socketOsInit().

void SocketUnixTerm ( void   ) 

Definition at line 99 of file abyss_socket_unix.c.

Referenced by socketOsTerm().

static uint32_t socketWait ( TSocket *const   socketP,
abyss_bool const   rd,
abyss_bool const   wr,
uint32_t const   timems 
) [static]

Definition at line 407 of file abyss_socket_unix.c.

References socketUnix::fd, NULL, and TIME_INFINITE.

static void socketWrite ( TSocket *const   socketP,
const unsigned char *const   buffer,
uint32_t const   len,
abyss_bool *const   failedP 
) [static]

Definition at line 207 of file abyss_socket_unix.c.

References FALSE, socketUnix::fd, MIN, SocketTraceIsActive, and TRUE.


Variable Documentation

SocketAcceptImpl socketAccept [static]

Definition at line 111 of file abyss_socket_unix.c.

SocketAvailableReadBytesImpl socketAvailableReadBytes [static]

Definition at line 114 of file abyss_socket_unix.c.

SocketBindImpl socketBind [static]

Definition at line 109 of file abyss_socket_unix.c.

SocketConnectImpl socketConnect [static]

Definition at line 108 of file abyss_socket_unix.c.

SocketDestroyImpl socketDestroy [static]

Definition at line 105 of file abyss_socket_unix.c.

SocketErrorImpl socketError [static]

Definition at line 112 of file abyss_socket_unix.c.

SocketGetPeerNameImpl socketGetPeerName [static]

Definition at line 115 of file abyss_socket_unix.c.

SocketListenImpl socketListen [static]

Definition at line 110 of file abyss_socket_unix.c.

SocketReadImpl socketRead [static]

Definition at line 107 of file abyss_socket_unix.c.

SocketWaitImpl socketWait [static]

Definition at line 113 of file abyss_socket_unix.c.

SocketWriteImpl socketWrite [static]

Definition at line 106 of file abyss_socket_unix.c.

struct TSocketVtbl const vtbl [static]

Definition at line 118 of file abyss_socket_unix.c.


Generated on Thu May 17 10:00:33 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6