io_socket.c File Reference

#include "io_socket_p.h"
#include <gwenhywfar/iolayer_be.h>
#include <gwenhywfar/iorequest_be.h>
#include "i18n_l.h"
#include <gwenhywfar/misc.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/gui.h>
#include <gwenhywfar/url.h>
#include <gwenhywfar/text.h>
#include <gwenhywfar/base64.h>
#include <assert.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
Include dependency graph for io_socket.c:

Go to the source code of this file.

Defines

#define GWEN_PROXY_ENVVAR   "GWEN_PROXY"

Functions

void GWEN_Io_LayerSocket_AbortRequests (GWEN_IO_LAYER *io, int errorCode)
int GWEN_Io_LayerSocket_AddRequest (GWEN_IO_LAYER *io, GWEN_IO_REQUEST *r)
int GWEN_Io_LayerSocket_AddWaitingSockets (GWEN_IO_LAYER *io, GWEN_SOCKET_LIST2 *readSockets, GWEN_SOCKET_LIST2 *writeSockets)
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerSocket_CheckForIncoming (GWEN_IO_LAYER *io)
int GWEN_Io_LayerSocket_DelRequest (GWEN_IO_LAYER *io, GWEN_IO_REQUEST *r)
GWENHYWFAR_CB void GWEN_Io_LayerSocket_freeData (void *bp, void *p)
GWEN_INETADDRESSGWEN_Io_LayerSocket_GetLocalAddr (const GWEN_IO_LAYER *io)
GWEN_INETADDRESSGWEN_Io_LayerSocket_GetPeerAddr (const GWEN_IO_LAYER *io)
GWEN_SOCKETGWEN_Io_LayerSocket_GetSocket (const GWEN_IO_LAYER *io)
int GWEN_Io_LayerSocket_HasWaitingRequests (GWEN_IO_LAYER *io)
int GWEN_Io_LayerSocket_Listen (GWEN_IO_LAYER *io)
GWEN_IO_LAYERGWEN_Io_LayerSocket_new (GWEN_SOCKET *sk)
void GWEN_Io_LayerSocket_SetLocalAddr (GWEN_IO_LAYER *io, const GWEN_INETADDRESS *addr)
void GWEN_Io_LayerSocket_SetPeerAddr (GWEN_IO_LAYER *io, const GWEN_INETADDRESS *addr)
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerSocket_WorkOnRequests (GWEN_IO_LAYER *io)
int GWEN_Proxy_Connect (GWEN_SOCKET *sp, const GWEN_INETADDRESS *addr, uint32_t guiid)

Define Documentation

#define GWEN_PROXY_ENVVAR   "GWEN_PROXY"

Definition at line 38 of file io_socket.c.

Referenced by GWEN_Proxy_Connect().


Function Documentation

void GWEN_Io_LayerSocket_AbortRequests ( GWEN_IO_LAYER io,
int  errorCode 
)

Definition at line 575 of file io_socket.c.

References GWEN_INHERIT_GETDATA, GWEN_Io_Request_Finished(), GWEN_Io_Request_free(), GWEN_Io_Request_StatusFinished, and NULL.

Referenced by GWEN_Io_LayerSocket_AddRequest(), GWEN_Io_LayerSocket_DelRequest(), GWEN_Io_LayerSocket_freeData(), and GWEN_Io_LayerSocket_WorkOnRequests().

Here is the call graph for this function:

Here is the caller graph for this function:

int GWEN_Io_LayerSocket_AddRequest ( GWEN_IO_LAYER io,
GWEN_IO_REQUEST r 
)
int GWEN_Io_LayerSocket_AddWaitingSockets ( GWEN_IO_LAYER io,
GWEN_SOCKET_LIST2 readSockets,
GWEN_SOCKET_LIST2 writeSockets 
)

Definition at line 1058 of file io_socket.c.

References GWEN_INHERIT_GETDATA, GWEN_Io_Layer_GetStatus(), GWEN_Io_Layer_StatusListening, and GWEN_Socket_List2_PushBack().

Referenced by GWEN_Io_LayerSocket_new().

Here is the call graph for this function:

Here is the caller graph for this function:

GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerSocket_CheckForIncoming ( GWEN_IO_LAYER io  ) 
int GWEN_Io_LayerSocket_DelRequest ( GWEN_IO_LAYER io,
GWEN_IO_REQUEST r 
)
GWENHYWFAR_CB void GWEN_Io_LayerSocket_freeData ( void *  bp,
void *  p 
)

Definition at line 482 of file io_socket.c.

References GWEN_ERROR_ABORTED, GWEN_FREE_OBJECT, GWEN_IO_LAYER_FLAGS_DONTCLOSE, GWEN_IO_LAYER_FLAGS_TAKEOVER, GWEN_Io_Layer_GetFlags(), GWEN_Io_LayerSocket_AbortRequests(), GWEN_Socket_Close(), and GWEN_Socket_free().

Referenced by GWEN_Io_LayerSocket_new().

Here is the call graph for this function:

Here is the caller graph for this function:

int GWEN_Io_LayerSocket_HasWaitingRequests ( GWEN_IO_LAYER io  ) 

Definition at line 1043 of file io_socket.c.

References GWEN_INHERIT_GETDATA.

Referenced by GWEN_Io_LayerSocket_new().

Here is the caller graph for this function:

int GWEN_Io_LayerSocket_Listen ( GWEN_IO_LAYER io  ) 
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerSocket_WorkOnRequests ( GWEN_IO_LAYER io  ) 
int GWEN_Proxy_Connect ( GWEN_SOCKET sp,
const GWEN_INETADDRESS addr,
uint32_t  guiid 
)
Generated on Mon Jul 5 22:53:46 2010 for gwenhywfar by  doxygen 1.6.3