#include <gwenhywfar/misc.h>
#include <gwenhywfar/list2.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/inetaddr.h>
#include <gwenhywfar/inetsocket.h>
#include <gwenhywfar/buffer.h>
#include <gwenhywfar/bufferedio.h>
#include <time.h>
Go to the source code of this file.
#define GWEN_NETLAYER_DEF_BACKLOG 10 |
Definition at line 71 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_BROKENPIPE 0x40000000 |
Definition at line 61 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_EOFMET 0x80000000 |
Definition at line 60 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_INPKG 0x02000000 |
Definition at line 66 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_OUTPKG 0x01000000 |
Definition at line 67 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_PASSIVE 0x08000000 |
Definition at line 64 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_PKG_BASED 0x04000000 |
Definition at line 65 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_SPECMASK 0x000000FF |
mask for netlayer specific flags
Definition at line 58 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_WANTREAD 0x20000000 |
Definition at line 62 of file netlayer.h.
#define GWEN_NETLAYER_FLAGS_WANTWRITE 0x10000000 |
Definition at line 63 of file netlayer.h.
typedef struct GWEN_NETLAYER GWEN_NETLAYER |
Definition at line 44 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_ADDSOCKETS_FN(GWEN_NETLAYER *nl, GWEN_SOCKETSET *readSet, GWEN_SOCKETSET *writeSet, GWEN_SOCKETSET *exSet) |
Definition at line 139 of file netlayer.h.
typedef void(*) GWEN_NETLAYER_BASESTATUS_CHG_FN(GWEN_NETLAYER *nl, GWEN_NETLAYER_STATUS newst) |
Definition at line 144 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_BEGIN_IN_PACKET_FN(GWEN_NETLAYER *nl) |
Definition at line 155 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_BEGIN_OUT_PACKET_FN(GWEN_NETLAYER *nl, int totalSize) |
Definition at line 150 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_CHECK_IN_PACKET_FN(GWEN_NETLAYER *nl) |
Definition at line 156 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_CONNECT_FN(GWEN_NETLAYER *nl) |
Definition at line 133 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_DISCONNECT_FN(GWEN_NETLAYER *nl) |
Definition at line 135 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_END_OUT_PACKET_FN(GWEN_NETLAYER *nl) |
Definition at line 153 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_GETPASSWD_FN(GWEN_NETLAYER *nl, char *buffer, int num, int rwflag) |
This is the prototype for the callback function which asks the user for a password.
nl | GWEN_NetLayer involved | |
buffer | destination buffer for the password | |
num | size of the password buffer | |
rwflag | if 1 then the password is to be created (in this case the function should let the user verify the password before writing it into the buffer). |
Definition at line 117 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_LISTEN_FN(GWEN_NETLAYER *nl) |
Definition at line 137 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_READ_FN(GWEN_NETLAYER *nl, char *buffer, int *bsize) |
Definition at line 125 of file netlayer.h.
typedef void(*) GWEN_NETLAYER_STATUS_CHG_FN(GWEN_NETLAYER *nl, GWEN_NETLAYER_STATUS newst) |
Definition at line 147 of file netlayer.h.
typedef GWEN_NETLAYER_RESULT(*) GWEN_NETLAYER_WORK_FN(GWEN_NETLAYER *nl) |
Definition at line 122 of file netlayer.h.
typedef int(*) GWEN_NETLAYER_WRITE_FN(GWEN_NETLAYER *nl, const char *buffer, int *bsize) |
Definition at line 129 of file netlayer.h.
enum GWEN_NETLAYER_RESULT |
GWEN_NetLayerResult_Idle | |
GWEN_NetLayerResult_Changed | |
GWEN_NetLayerResult_WouldBlock | |
GWEN_NetLayerResult_Error | |
GWEN_NetLayerResult_Unknown |
Definition at line 92 of file netlayer.h.
enum GWEN_NETLAYER_STATUS |
Definition at line 74 of file netlayer.h.
GWENHYWFAR_API void GWEN_NetLayer_AddFlags | ( | GWEN_NETLAYER * | nl, | |
GWEN_TYPE_UINT32 | fl | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_AddIncomingLayer | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER * | newnl | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_AddSockets | ( | GWEN_NETLAYER * | nl, | |
GWEN_SOCKETSET * | readSet, | |||
GWEN_SOCKETSET * | writeSet, | |||
GWEN_SOCKETSET * | exSet | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_Attach | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API void GWEN_NetLayer_BaseStatusChange | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_STATUS | newst | |||
) |
This function is called just before the status of the base layer changes.
GWENHYWFAR_API int GWEN_NetLayer_BeginInPacket | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_BeginOutPacket | ( | GWEN_NETLAYER * | nl, | |
int | totalSize | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_CheckInPacket | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_Connect | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_Connect_Wait | ( | GWEN_NETLAYER * | nl, | |
int | timeout | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_DelIncomingLayers | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_Disconnect | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_Disconnect_Wait | ( | GWEN_NETLAYER * | nl, | |
int | timeout | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_EndOutPacket | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_EndOutPacket_Wait | ( | GWEN_NETLAYER * | nl, | |
int | timeout | |||
) |
GWENHYWFAR_API GWEN_NETLAYER* GWEN_NetLayer_FindBaseLayer | ( | const GWEN_NETLAYER * | nl, | |
const char * | tname | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_free | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_GetBackLog | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API GWEN_NETLAYER* GWEN_NetLayer_GetBaseLayer | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API GWEN_TYPE_UINT32 GWEN_NetLayer_GetFlags | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_GetInBodySize | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API GWEN_NETLAYER* GWEN_NetLayer_GetIncomingLayer | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API GWEN_NETLAYER* GWEN_NetLayer_GetIncomingLayer_Wait | ( | GWEN_NETLAYER * | nl, | |
int | timeout | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_GetIncomingLayerCount | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API time_t GWEN_NetLayer_GetLastStatusChangeTime | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API const GWEN_INETADDRESS* GWEN_NetLayer_GetLocalAddr | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_GetOutBodySize | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API GWEN_NETLAYER* GWEN_NetLayer_GetParentLayer | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_GetPassword | ( | GWEN_NETLAYER * | nl, | |
char * | buffer, | |||
int | num, | |||
int | rwflag | |||
) |
GWENHYWFAR_API const GWEN_INETADDRESS* GWEN_NetLayer_GetPeerAddr | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API GWEN_NETLAYER_STATUS GWEN_NetLayer_GetStatus | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API const char* GWEN_NetLayer_GetTypeName | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_Listen | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API GWEN_NETLAYER* GWEN_NetLayer_new | ( | const char * | typeName | ) |
GWENHYWFAR_API GWEN_NETLAYER* GWEN_NetLayer_PeekIncomingLayer | ( | const GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_Read | ( | GWEN_NETLAYER * | nl, | |
char * | buffer, | |||
int * | bsize | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_Read_Wait | ( | GWEN_NETLAYER * | nl, | |
char * | buffer, | |||
int * | bsize, | |||
int | timeout | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_RecvPacket | ( | GWEN_NETLAYER * | nl, | |
GWEN_BUFFER * | mbuf, | |||
int | timeout | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_RecvPacketBio | ( | GWEN_NETLAYER * | nl, | |
GWEN_BUFFEREDIO * | bio, | |||
int | timeout | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_SendPacket | ( | GWEN_NETLAYER * | nl, | |
const char * | dPtr, | |||
int | dLen, | |||
int | timeout | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_SendPacketBio | ( | GWEN_NETLAYER * | nl, | |
GWEN_BUFFEREDIO * | bio, | |||
int | timeout | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetAddSocketsFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_ADDSOCKETS_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetBackLog | ( | GWEN_NETLAYER * | nl, | |
int | i | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetBaseLayer | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER * | baseLayer | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetBaseStatusChangeFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_BASESTATUS_CHG_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetBeginInPacketFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_BEGIN_IN_PACKET_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetBeginOutPacketFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_BEGIN_OUT_PACKET_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetCheckInPacketFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_CHECK_IN_PACKET_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetConnectFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_CONNECT_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetDisconnectFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_DISCONNECT_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetEndOutPacketFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_END_OUT_PACKET_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetFlags | ( | GWEN_NETLAYER * | nl, | |
GWEN_TYPE_UINT32 | fl | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetGetPasswordFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_GETPASSWD_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetInBodySize | ( | GWEN_NETLAYER * | nl, | |
int | i | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetListenFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_LISTEN_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetLocalAddr | ( | GWEN_NETLAYER * | nl, | |
const GWEN_INETADDRESS * | addr | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetOutBodySize | ( | GWEN_NETLAYER * | nl, | |
int | i | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetParentLayer | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER * | pLayer | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetPeerAddr | ( | GWEN_NETLAYER * | nl, | |
const GWEN_INETADDRESS * | addr | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetReadFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_READ_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetStatus | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_STATUS | st | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetStatusChangeFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_STATUS_CHG_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetWorkFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_WORK_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SetWriteFn | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_WRITE_FN | f | |||
) |
GWENHYWFAR_API void GWEN_NetLayer_SubFlags | ( | GWEN_NETLAYER * | nl, | |
GWEN_TYPE_UINT32 | fl | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_WaitForStatus | ( | GWEN_NETLAYER * | nl, | |
GWEN_NETLAYER_STATUS | nlst, | |||
int | timeout | |||
) |
GWENHYWFAR_API GWEN_NETLAYER_RESULT GWEN_NetLayer_Work | ( | GWEN_NETLAYER * | nl | ) |
GWENHYWFAR_API int GWEN_NetLayer_Write | ( | GWEN_NETLAYER * | nl, | |
const char * | buffer, | |||
int * | bsize | |||
) |
GWENHYWFAR_API int GWEN_NetLayer_Write_Wait | ( | GWEN_NETLAYER * | nl, | |
const char * | buffer, | |||
int * | bsize, | |||
int | timeout | |||
) |
GWENHYWFAR_API GWEN_NETLAYER_RESULT GWEN_NetLayerResult_fromString | ( | const char * | s | ) |
GWENHYWFAR_API const char* GWEN_NetLayerResult_toString | ( | GWEN_NETLAYER_RESULT | res | ) |
GWENHYWFAR_API GWEN_NETLAYER_STATUS GWEN_NetLayerStatus_fromString | ( | const char * | s | ) |
GWENHYWFAR_API const char* GWEN_NetLayerStatus_toString | ( | GWEN_NETLAYER_STATUS | st | ) |