KVIrc 5.2.6
Developer APIs
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))
 
#define kvi_socket_close   kvi_socket_destroy
 
#define kvi_socket_open   kvi_socket_create
 
#define KVI_SOCKET_PF_INET   PF_INET
 MSG_NOSIGNAL.
 
#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))
 

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

◆ KVI_INVALID_SOCKET

◆ kvi_socket_close

◆ kvi_socket_open

#define kvi_socket_open   kvi_socket_create

◆ KVI_SOCKET_PF_INET

#define KVI_SOCKET_PF_INET   PF_INET

◆ KVI_SOCKET_PF_INET6

#define KVI_SOCKET_PF_INET6   PF_INET6

◆ KVI_SOCKET_PF_UNIX

#define KVI_SOCKET_PF_UNIX   PF_UNIX

◆ KVI_SOCKET_PROTO_TCP

◆ kvi_socket_read

#define kvi_socket_read   kvi_socket_recv

◆ KVI_SOCKET_TYPE_DGRAM

#define KVI_SOCKET_TYPE_DGRAM   SOCK_DGRAM

◆ KVI_SOCKET_TYPE_STREAM

#define KVI_SOCKET_TYPE_STREAM   SOCK_STREAM

◆ kvi_socket_write

#define kvi_socket_write   kvi_socket_send

Referenced by KviIdentDaemon::run().

◆ MSG_NOSIGNAL

#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_accept()

kvi_socket_t kvi_socket_accept ( kvi_socket_t sock,
struct sockaddr * sa,
int * salen )
inline

◆ kvi_socket_bind()

bool kvi_socket_bind ( kvi_socket_t sock,
const struct sockaddr * sa,
int salen )
inline

◆ kvi_socket_connect()

bool kvi_socket_connect ( kvi_socket_t sock,
const struct sockaddr * sa,
int salen )
inline

◆ kvi_socket_create()

kvi_socket_t kvi_socket_create ( int pf,
int type,
int proto )
inline

◆ kvi_socket_destroy()

void kvi_socket_destroy ( kvi_socket_t sock)
inline

Referenced by KviIrcSocket::reset().

◆ kvi_socket_error()

◆ kvi_socket_flushTrafficCounters()

void kvi_socket_flushTrafficCounters ( )
inline

◆ kvi_socket_getsockname()

bool kvi_socket_getsockname ( kvi_socket_t sock,
struct sockaddr * addr,
int * addrlen )
inline

◆ kvi_socket_getsockopt()

bool kvi_socket_getsockopt ( kvi_socket_t sock,
int level,
int optname,
void * optval,
int * optlen )
inline

◆ kvi_socket_isValid()

bool kvi_socket_isValid ( kvi_socket_t sock)
inline

References KVI_INVALID_SOCKET.

Referenced by KviIrcSocket::reset().

◆ kvi_socket_listen()

bool kvi_socket_listen ( kvi_socket_t sock,
int backlog )
inline

◆ kvi_socket_recoverableConnectError()

bool kvi_socket_recoverableConnectError ( int err)
inline

◆ kvi_socket_recoverableError()

bool kvi_socket_recoverableError ( int err)
inline

◆ kvi_socket_recv()

◆ kvi_socket_select()

int kvi_socket_select ( int nhpo,
fd_set * r,
fd_set * w,
fd_set * e,
struct timeval * t )
inline

References e, r, t, and w.

Referenced by KviIdentDaemon::run().

◆ kvi_socket_send()

◆ kvi_socket_setNonBlocking()

◆ kvi_socket_setsockopt()

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

Referenced by KviIdentDaemon::run().

Variable Documentation

◆ g_uIncomingTraffic

◆ g_uOutgoingTraffic