iorequest.h File Reference

#include <gwenhywfar/list2.h>
#include <gwenhywfar/iolayer.h>
Include dependency graph for iorequest.h:

Go to the source code of this file.

Defines

#define GWEN_IO_REQUEST_FLAGS_FLUSH   0x80000000
#define GWEN_IO_REQUEST_FLAGS_FORCE   0x01000000
#define GWEN_IO_REQUEST_FLAGS_PACKETBEGIN   0x10000000
#define GWEN_IO_REQUEST_FLAGS_PACKETEND   0x20000000
#define GWEN_IO_REQUEST_FLAGS_READALL   0x40000000
#define GWEN_IO_REQUEST_FLAGS_TAKEOVER   0x02000000
#define GWEN_IO_REQUEST_FLAGS_WRITEALL   0x40000000

Typedefs

typedef struct GWEN_IO_REQUEST GWEN_IO_REQUEST
typedef void(* GWEN_IO_REQUEST_FINISH_FN )(GWEN_IO_REQUEST *r, void *user_data)

Enumerations

enum  GWEN_IO_REQUEST_STATUS { GWEN_Io_Request_StatusFree = 0, GWEN_Io_Request_StatusEnqueued, GWEN_Io_Request_StatusFinished }
enum  GWEN_IO_REQUEST_TYPE {
  GWEN_Io_Request_TypeUnknown = -1, GWEN_Io_Request_TypeConnect, GWEN_Io_Request_TypeDisconnect, GWEN_Io_Request_TypeRead,
  GWEN_Io_Request_TypeWrite
}

Functions

GWENHYWFAR_API void GWEN_Io_Request_AddFlags (GWEN_IO_REQUEST *r, uint32_t f)
GWENHYWFAR_API void GWEN_Io_Request_Attach (GWEN_IO_REQUEST *r)
GWENHYWFAR_API void GWEN_Io_Request_free (GWEN_IO_REQUEST *r)
GWENHYWFAR_API uint32_t GWEN_Io_Request_GetBufferPos (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API uint8_t * GWEN_Io_Request_GetBufferPtr (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API uint32_t GWEN_Io_Request_GetBufferSize (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API uint32_t GWEN_Io_Request_GetFlags (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API uint32_t GWEN_Io_Request_GetGuiId (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API GWEN_IO_LAYERGWEN_Io_Request_GetIncomingLayer (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API GWEN_IO_LAYERGWEN_Io_Request_GetIoLayer (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API int GWEN_Io_Request_GetResultCode (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API
GWEN_IO_REQUEST_STATUS 
GWEN_Io_Request_GetStatus (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API GWEN_IO_REQUEST_TYPE GWEN_Io_Request_GetType (const GWEN_IO_REQUEST *r)
GWENHYWFAR_API GWEN_IO_REQUESTGWEN_Io_Request_new (GWEN_IO_REQUEST_TYPE t, uint8_t *pBuffer, uint32_t lBuffer, GWEN_IO_REQUEST_FINISH_FN finishFn, void *user_data, uint32_t guiid)
GWENHYWFAR_API void GWEN_Io_Request_SetFlags (GWEN_IO_REQUEST *r, uint32_t f)
GWENHYWFAR_API void GWEN_Io_Request_SetGuiId (GWEN_IO_REQUEST *r, uint32_t i)
GWENHYWFAR_API void GWEN_Io_Request_SubFlags (GWEN_IO_REQUEST *r, uint32_t f)
GWENHYWFAR_API GWEN_IO_LAYERGWEN_Io_Request_TakeIncomingLayer (GWEN_IO_REQUEST *r)
GWENHYWFAR_API const char * GWEN_Io_RequestStatus_toString (GWEN_IO_REQUEST_STATUS st)
GWENHYWFAR_API const char * GWEN_Io_RequestType_toString (GWEN_IO_REQUEST_TYPE t)

Define Documentation

#define GWEN_IO_REQUEST_FLAGS_FLUSH   0x80000000
#define GWEN_IO_REQUEST_FLAGS_FORCE   0x01000000

This flag is used with disconnect requests. If set then the connection is closed in any case and all enqueued requests for that connection are aborted. If this flag is not set then a disconnect request will fail while there are read/write/accept requests.

Definition at line 45 of file iorequest.h.

Referenced by GWEN_DB_ReadFileAs(), GWEN_DB_ReadFromFd(), GWEN_DB_ReadFromString(), GWEN_DB_WriteToBuffer(), GWEN_DB_WriteToFd(), GWEN_DBIO_ExportToBuffer(), GWEN_DBIO_ExportToFile(), GWEN_DBIO_ImportFromFile(), GWEN_HttpSession_ConnectionTest(), GWEN_HttpSession_RecvPacket(), GWEN_HttpSession_SendPacket(), GWEN_Io_Layer_DisconnectRecursively(), GWEN_Io_LayerSocket_AddRequest(), GWEN_IpcManager__Work(), GWEN_IpcManager_RemoveClient(), GWEN_XML_ReadFile(), GWEN_XMLNode_fromString(), GWEN_XMLNode_toBuffer(), and GWEN_XMLNode_WriteFile().

#define GWEN_IO_REQUEST_FLAGS_PACKETBEGIN   0x10000000
#define GWEN_IO_REQUEST_FLAGS_PACKETEND   0x20000000
#define GWEN_IO_REQUEST_FLAGS_READALL   0x40000000
#define GWEN_IO_REQUEST_FLAGS_TAKEOVER   0x02000000
#define GWEN_IO_REQUEST_FLAGS_WRITEALL   0x40000000

Typedef Documentation

Definition at line 17 of file iorequest.h.

typedef void(* GWEN_IO_REQUEST_FINISH_FN)(GWEN_IO_REQUEST *r, void *user_data)

Definition at line 70 of file iorequest.h.


Enumeration Type Documentation

Enumerator:
GWEN_Io_Request_StatusFree 
GWEN_Io_Request_StatusEnqueued 
GWEN_Io_Request_StatusFinished 

Definition at line 61 of file iorequest.h.

Enumerator:
GWEN_Io_Request_TypeUnknown 
GWEN_Io_Request_TypeConnect 
GWEN_Io_Request_TypeDisconnect 
GWEN_Io_Request_TypeRead 
GWEN_Io_Request_TypeWrite 

Definition at line 51 of file iorequest.h.


Function Documentation

GWENHYWFAR_API void GWEN_Io_Request_AddFlags ( GWEN_IO_REQUEST r,
uint32_t  f 
)
GWENHYWFAR_API void GWEN_Io_Request_Attach ( GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API void GWEN_Io_Request_free ( GWEN_IO_REQUEST r  ) 

Definition at line 96 of file iorequest.c.

References GWEN_FREE_OBJECT, GWEN_Io_Layer_free(), GWEN_IO_REQUEST_FLAGS_TAKEOVER, and GWEN_LIST_FINI.

Referenced by GWEN_Io_Layer__WaitForRequest(), GWEN_Io_Layer_ReadPacket(), GWEN_Io_Layer_ReadPacketToBuffer(), GWEN_Io_LayerBuffered_AbortInRequests(), GWEN_Io_LayerBuffered_AbortOutRequests(), GWEN_Io_LayerBuffered_DelRequest(), GWEN_Io_LayerBuffered_ReadLineToBuffer(), GWEN_Io_LayerBuffered_TryFlush(), GWEN_Io_LayerBuffered_WorkOnReadRequest(), GWEN_Io_LayerBuffered_WorkOnWriteRequest(), GWEN_Io_LayerCodec_AbortInRequests(), GWEN_Io_LayerCodec_AbortOutRequests(), GWEN_Io_LayerCodec_AbortRequests(), GWEN_Io_LayerCodec_DelRequest(), GWEN_Io_LayerCodec_EnsureReadOk(), GWEN_Io_LayerCodec_WorkOnOutRequests(), GWEN_Io_LayerCodec_WorkOnReadRequest(), GWEN_Io_LayerCodec_WorkOnWriteRequest(), GWEN_Io_LayerFile_DelRequest(), GWEN_Io_LayerFile_freeData(), GWEN_Io_LayerFile_WorkOnRequests(), GWEN_Io_LayerHttp_AbortInRequests(), GWEN_Io_LayerHttp_AbortOutRequests(), GWEN_Io_LayerHttp_DelRequest(), GWEN_Io_LayerHttp_WorkOnReadRequest1(), GWEN_Io_LayerHttp_WorkOnReadRequest2(), GWEN_Io_LayerHttp_WorkOnWriteRequest1(), GWEN_Io_LayerHttp_WorkOnWriteRequest2(), GWEN_Io_LayerPackets_Abort(), GWEN_Io_LayerPackets_WorkOnReadRequests(), GWEN_Io_LayerPackets_WorkOnWriteRequests(), GWEN_Io_LayerSocket_AbortRequests(), GWEN_Io_LayerSocket_DelRequest(), GWEN_Io_LayerSocket_WorkOnRequests(), GWEN_Io_LayerTls_DelRequest(), GWEN_Io_LayerTls_WorkOnRequests(), GWEN_IpcManager__Work(), and GWEN_IpcMsg_free().

Here is the call graph for this function:

Here is the caller graph for this function:

GWENHYWFAR_API uint32_t GWEN_Io_Request_GetBufferPos ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API uint8_t* GWEN_Io_Request_GetBufferPtr ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API uint32_t GWEN_Io_Request_GetBufferSize ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API uint32_t GWEN_Io_Request_GetFlags ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API uint32_t GWEN_Io_Request_GetGuiId ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API GWEN_IO_LAYER* GWEN_Io_Request_GetIncomingLayer ( const GWEN_IO_REQUEST r  ) 

Definition at line 259 of file iorequest.c.

GWENHYWFAR_API GWEN_IO_LAYER* GWEN_Io_Request_GetIoLayer ( const GWEN_IO_REQUEST r  ) 

Definition at line 214 of file iorequest.c.

GWENHYWFAR_API int GWEN_Io_Request_GetResultCode ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API GWEN_IO_REQUEST_STATUS GWEN_Io_Request_GetStatus ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API GWEN_IO_REQUEST_TYPE GWEN_Io_Request_GetType ( const GWEN_IO_REQUEST r  ) 
GWENHYWFAR_API GWEN_IO_REQUEST* GWEN_Io_Request_new ( GWEN_IO_REQUEST_TYPE  t,
uint8_t *  pBuffer,
uint32_t  lBuffer,
GWEN_IO_REQUEST_FINISH_FN  finishFn,
void *  user_data,
uint32_t  guiid 
)
GWENHYWFAR_API void GWEN_Io_Request_SetFlags ( GWEN_IO_REQUEST r,
uint32_t  f 
)
GWENHYWFAR_API void GWEN_Io_Request_SetGuiId ( GWEN_IO_REQUEST r,
uint32_t  i 
)

Definition at line 205 of file iorequest.c.

Referenced by GWEN_Io_LayerPackets_GetReadRequest().

Here is the caller graph for this function:

GWENHYWFAR_API void GWEN_Io_Request_SubFlags ( GWEN_IO_REQUEST r,
uint32_t  f 
)

Definition at line 151 of file iorequest.c.

Referenced by GWEN_Io_LayerBuffered_WorkOnWriteRequest().

Here is the caller graph for this function:

GWENHYWFAR_API GWEN_IO_LAYER* GWEN_Io_Request_TakeIncomingLayer ( GWEN_IO_REQUEST r  ) 

Definition at line 268 of file iorequest.c.

References NULL.

GWENHYWFAR_API const char* GWEN_Io_RequestStatus_toString ( GWEN_IO_REQUEST_STATUS  st  ) 
GWENHYWFAR_API const char* GWEN_Io_RequestType_toString ( GWEN_IO_REQUEST_TYPE  t  ) 
Generated on Mon Jul 5 22:54:11 2010 for gwenhywfar by  doxygen 1.6.3