#include <gwenhywfar/list2.h>
#include <gwenhywfar/iorequest.h>
#include <gwenhywfar/buffer.h>
Go to the source code of this file.
Defines | |
Flags For IO Layers | |
#define | GWEN_IO_LAYER_FLAGS_DONTCLOSE 0x40000000 |
#define | GWEN_IO_LAYER_FLAGS_PASSIVE 0x10000000 |
#define | GWEN_IO_LAYER_FLAGS_PKG_BASED 0x20000000 |
#define | GWEN_IO_LAYER_FLAGS_REGISTERED 0x80000000 |
#define | GWEN_IO_LAYER_FLAGS_TAKEOVER 0x01000000 |
Typedefs | |
typedef struct GWEN_IO_LAYER | GWEN_IO_LAYER |
Enumerations | |
enum | GWEN_IO_LAYER_STATUS { GWEN_Io_Layer_StatusUnknown = -1, GWEN_Io_Layer_StatusUnconnected = 0, GWEN_Io_Layer_StatusConnecting, GWEN_Io_Layer_StatusConnected, GWEN_Io_Layer_StatusDisconnecting, GWEN_Io_Layer_StatusDisconnected, GWEN_Io_Layer_StatusListening, GWEN_Io_Layer_StatusDisabled } |
enum | GWEN_IO_LAYER_WORKRESULT { GWEN_Io_Layer_WorkResultError = -1, GWEN_Io_Layer_WorkResultOk = 0, GWEN_Io_Layer_WorkResultBlocking } |
Functions | |
Informational Functions | |
GWENHYWFAR_API void | GWEN_Io_Layer_AddFlags (GWEN_IO_LAYER *io, uint32_t f) |
GWENHYWFAR_API void | GWEN_Io_Layer_ClearIncomingLayers (GWEN_IO_LAYER *io) |
GWENHYWFAR_API GWEN_IO_LAYER * | GWEN_Io_Layer_FindBaseLayerByType (GWEN_IO_LAYER *io, const char *tname) |
GWENHYWFAR_API GWEN_IO_LAYER * | GWEN_Io_Layer_GetBaseLayer (GWEN_IO_LAYER *io) |
GWENHYWFAR_API uint32_t | GWEN_Io_Layer_GetFlags (const GWEN_IO_LAYER *io) |
GWENHYWFAR_API GWEN_IO_LAYER * | GWEN_Io_Layer_GetNextIncomingLayer (GWEN_IO_LAYER *io) |
GWENHYWFAR_API GWEN_IO_LAYER_STATUS | GWEN_Io_Layer_GetStatus (const GWEN_IO_LAYER *io) |
GWENHYWFAR_API void | GWEN_Io_Layer_SetFlags (GWEN_IO_LAYER *io, uint32_t f) |
GWENHYWFAR_API void | GWEN_Io_Layer_SubFlags (GWEN_IO_LAYER *io, uint32_t f) |
Request Handling | |
GWENHYWFAR_API int | GWEN_Io_Layer_AddRequest (GWEN_IO_LAYER *io, GWEN_IO_REQUEST *r) |
GWENHYWFAR_API int | GWEN_Io_Layer_DelRequest (GWEN_IO_LAYER *io, GWEN_IO_REQUEST *r) |
GWENHYWFAR_API int | GWEN_Io_Layer_HasWaitingRequests (GWEN_IO_LAYER *io) |
Object Management | |
GWENHYWFAR_API void | GWEN_Io_Layer_Attach (GWEN_IO_LAYER *io) |
GWENHYWFAR_API void | GWEN_Io_Layer_free (GWEN_IO_LAYER *io) |
Convenience Functions | |
Internally all IO layers work with IO requests. However, some users don't want to handle requests by themselves. Those users can use the functions of this group which internally again setup and dispatch IO requests. | |
GWENHYWFAR_API int | GWEN_Io_Layer_Connect (GWEN_IO_LAYER *io, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_ConnectRecursively (GWEN_IO_LAYER *io, GWEN_IO_LAYER *stopAtLayer, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_Disconnect (GWEN_IO_LAYER *io, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_DisconnectRecursively (GWEN_IO_LAYER *io, GWEN_IO_LAYER *stopAtLayer, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_FlushRecursively (GWEN_IO_LAYER *io, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_Listen (GWEN_IO_LAYER *io) |
GWENHYWFAR_API int | GWEN_Io_Layer_ListenRecursively (GWEN_IO_LAYER *io, GWEN_IO_LAYER *stopAtLayer) |
GWENHYWFAR_API int | GWEN_Io_Layer_ReadBytes (GWEN_IO_LAYER *io, uint8_t *buffer, uint32_t size, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_ReadPacket (GWEN_IO_LAYER *io, uint8_t *buffer, uint32_t size, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_ReadPacketToBuffer (GWEN_IO_LAYER *io, GWEN_BUFFER *buf, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_ReadToBufferUntilEof (GWEN_IO_LAYER *io, GWEN_BUFFER *buf, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_WriteBytes (GWEN_IO_LAYER *io, const uint8_t *buffer, uint32_t size, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_WriteChar (GWEN_IO_LAYER *io, char c, uint32_t flags, uint32_t guiid, int msecs) |
GWENHYWFAR_API int | GWEN_Io_Layer_WriteString (GWEN_IO_LAYER *io, const char *buffer, uint32_t flags, uint32_t guiid, int msecs) |