KVIrc  4.9.2
DeveloperAPIs
Macros | Functions | Variables
kvi_socket.h File Reference
#include "kvi_settings.h"
#include "kvi_sockettype.h"
#include <errno.h>
#include "kvi_inttypes.h"
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/tcp.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <unistd.h>

Go to the source code of this file.

Macros

#define KVI_INVALID_SOCKET   (-1)
 (defined(COMPILE_ON_WINDOWS) || (defined(COMPILE_ON_MINGW) && !defined(OS2)) More...
 
#define kvi_socket_close   kvi_socket_destroy
 
#define kvi_socket_open   kvi_socket_create
 
#define KVI_SOCKET_PF_INET   PF_INET
 MSG_NOSIGNAL. More...
 
#define KVI_SOCKET_PF_INET6   PF_INET6
 
#define KVI_SOCKET_PF_UNIX   PF_UNIX
 
#define KVI_SOCKET_PROTO_TCP   0
 
#define kvi_socket_read   kvi_socket_recv
 
#define KVI_SOCKET_TYPE_DGRAM   SOCK_DGRAM
 
#define KVI_SOCKET_TYPE_STREAM   SOCK_STREAM
 
#define kvi_socket_write   kvi_socket_send
 
#define MSG_NOSIGNAL   0
 (defined(COMPILE_ON_WINDOWS) || (defined(COMPILE_ON_MINGW) && !defined(OS2)) More...
 

Functions

kvi_socket_t kvi_socket_accept (kvi_socket_t sock, struct sockaddr *sa, int *salen)
 
bool kvi_socket_bind (kvi_socket_t sock, const struct sockaddr *sa, int salen)
 
bool kvi_socket_connect (kvi_socket_t sock, const struct sockaddr *sa, int salen)
 
kvi_socket_t kvi_socket_create (int pf, int type, int proto)
 
void kvi_socket_destroy (kvi_socket_t sock)
 
int kvi_socket_error ()
 
void kvi_socket_flushTrafficCounters ()
 
bool kvi_socket_getsockname (kvi_socket_t sock, struct sockaddr *addr, int *addrlen)
 
bool kvi_socket_getsockopt (kvi_socket_t sock, int level, int optname, void *optval, int *optlen)
 
bool kvi_socket_isValid (kvi_socket_t sock)
 
bool kvi_socket_listen (kvi_socket_t sock, int backlog)
 
bool kvi_socket_recoverableConnectError (int err)
 
bool kvi_socket_recoverableError (int err)
 
int kvi_socket_recv (kvi_socket_t sock, void *buf, int maxlen)
 
int kvi_socket_select (int nhpo, fd_set *r, fd_set *w, fd_set *e, struct timeval *t)
 
int kvi_socket_send (kvi_socket_t sock, const void *buf, int size)
 
bool kvi_socket_setNonBlocking (kvi_socket_t sock)
 
bool kvi_socket_setsockopt (kvi_socket_t sock, int level, int optname, const void *optval, int optlen)
 

Variables

KVILIB_API kvi_u64_t g_uIncomingTraffic
 
KVILIB_API kvi_u64_t g_uOutgoingTraffic
 

Macro Definition Documentation

#define KVI_INVALID_SOCKET   (-1)
#define kvi_socket_close   kvi_socket_destroy
#define kvi_socket_open   kvi_socket_create
#define KVI_SOCKET_PF_INET   PF_INET
#define KVI_SOCKET_PF_INET6   PF_INET6
#define KVI_SOCKET_PF_UNIX   PF_UNIX
#define KVI_SOCKET_PROTO_TCP   0
#define kvi_socket_read   kvi_socket_recv
#define KVI_SOCKET_TYPE_DGRAM   SOCK_DGRAM
#define KVI_SOCKET_TYPE_STREAM   SOCK_STREAM
#define kvi_socket_write   kvi_socket_send

Referenced by KviIdentDaemon::run().

#define MSG_NOSIGNAL   0

(defined(COMPILE_ON_WINDOWS) || (defined(COMPILE_ON_MINGW) && !defined(OS2))

Referenced by kvi_socket_recv(), and kvi_socket_send().

Function Documentation

kvi_socket_t kvi_socket_accept ( kvi_socket_t  sock,
struct sockaddr *  sa,
int *  salen 
)
inline
bool kvi_socket_bind ( kvi_socket_t  sock,
const struct sockaddr *  sa,
int  salen 
)
inline
bool kvi_socket_connect ( kvi_socket_t  sock,
const struct sockaddr *  sa,
int  salen 
)
inline
kvi_socket_t kvi_socket_create ( int  pf,
int  type,
int  proto 
)
inline
void kvi_socket_destroy ( kvi_socket_t  sock)
inline

Referenced by KviIrcSocket::reset().

int kvi_socket_error ( )
inline
void kvi_socket_flushTrafficCounters ( )
inline
bool kvi_socket_getsockname ( kvi_socket_t  sock,
struct sockaddr *  addr,
int *  addrlen 
)
inline
bool kvi_socket_getsockopt ( kvi_socket_t  sock,
int  level,
int  optname,
void *  optval,
int *  optlen 
)
inline
bool kvi_socket_isValid ( kvi_socket_t  sock)
inline

References KVI_INVALID_SOCKET.

Referenced by KviIrcSocket::reset().

bool kvi_socket_listen ( kvi_socket_t  sock,
int  backlog 
)
inline
bool kvi_socket_recoverableConnectError ( int  err)
inline
bool kvi_socket_recoverableError ( int  err)
inline
int kvi_socket_recv ( kvi_socket_t  sock,
void *  buf,
int  maxlen 
)
inline
int kvi_socket_select ( int  nhpo,
fd_set *  r,
fd_set *  w,
fd_set *  e,
struct timeval *  t 
)
inline

Referenced by KviIdentDaemon::run().

int kvi_socket_send ( kvi_socket_t  sock,
const void *  buf,
int  size 
)
inline
bool kvi_socket_setNonBlocking ( kvi_socket_t  sock)
inline
bool kvi_socket_setsockopt ( kvi_socket_t  sock,
int  level,
int  optname,
const void *  optval,
int  optlen 
)
inline

Referenced by KviIdentDaemon::run().

Variable Documentation

KVILIB_API kvi_u64_t g_uIncomingTraffic
KVILIB_API kvi_u64_t g_uOutgoingTraffic