view mcabber/connwrap/connwrap.h @ 880:ea983a945eba

/buffer scroll_unlock: Don't always jump to the end of the buffer If there is no pending message, do not jump to the bottom of the buffer. For special buffers (e.g. for the status buffer) pending flag is currently disabled so we jump unconditionally.
author Mikael Berthe <mikael@lilotux.net>
date Sat, 27 May 2006 15:59:05 +0200
parents ec86d759ed54
children 40175f3dcef7
line wrap: on
line source

#ifndef __CONNWRAP_H__
#define __CONNWRAP_H__

#if HAVE_CONFIG_H
# include <config.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

#include <sys/types.h>
#include <sys/socket.h>

int cw_connect(int sockfd, const struct sockaddr *serv_addr, int addrlen, int ssl);

#define CW_CONNECT_STARTED 0x1
#define CW_CONNECT_SSL 0x2
#define CW_CONNECT_WANT_READ 0x4
#define CW_CONNECT_WANT_WRITE 0x8
#define CW_CONNECT_WANT_SOMETHING 0xC
#define CW_CONNECT_BLOCKING 0x10

/* non-blocking socket
   state should be initialized with 0, subsequent calls should keep the
   modified state (state is a bitwise OR between CW_CONNECT_XXX)
   returns 0 for OK, or if it wants subsequent calls
	   -1 for a fatal error
 */
int cw_nb_connect(int sockfd, const struct sockaddr *serv_addr, int addrlen, int ssl, int *state);
int cw_accept(int s, struct sockaddr *addr, int *addrlen, int ssl);

int cw_write(int fd, const void *buf, int count, int ssl);
int cw_read(int fd, void *buf, int count, int ssl);

void cw_close(int fd);

void cw_setproxy(const char *aproxyhost, int aproxyport, const char *aproxyuser, const char *aproxypass);
void cw_setbind(const char *abindaddr);

char *cw_base64_encode(const char *in);

#ifdef __cplusplus
}
#endif

#endif