2009-08-16 15:30:26 +03:00
|
|
|
/*
|
2014-06-01 09:46:42 +03:00
|
|
|
* Copyright (c) 2006-2014 Erik Ekman <yarrick@kryo.se>,
|
|
|
|
* 2006-2009 Bjorn Andersson <flex@kryo.se>
|
2009-08-16 15:30:26 +03:00
|
|
|
*
|
2014-08-07 22:14:10 +03:00
|
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
2009-08-16 15:30:26 +03:00
|
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
|
|
* copyright notice and this permission notice appear in all copies.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __CLIENT_H__
|
|
|
|
#define __CLIENT_H__
|
|
|
|
|
2017-03-11 12:36:54 +02:00
|
|
|
void client_init(void);
|
|
|
|
void client_stop(void);
|
2009-08-16 15:30:26 +03:00
|
|
|
|
2017-03-11 12:36:54 +02:00
|
|
|
enum connection client_get_conn(void);
|
|
|
|
const char *client_get_raw_addr(void);
|
2009-08-16 15:30:26 +03:00
|
|
|
|
2014-02-05 23:36:53 +02:00
|
|
|
void client_set_nameserver(struct sockaddr_storage *, int);
|
2009-08-16 15:30:26 +03:00
|
|
|
void client_set_topdomain(const char *cp);
|
|
|
|
void client_set_password(const char *cp);
|
2014-06-09 19:55:27 +03:00
|
|
|
int client_set_qtype(char *qtype);
|
2017-03-11 12:36:54 +02:00
|
|
|
char *client_get_qtype(void);
|
2014-06-09 19:11:16 +03:00
|
|
|
void client_set_downenc(char *encoding);
|
2009-09-21 00:10:44 +03:00
|
|
|
void client_set_selecttimeout(int select_timeout);
|
|
|
|
void client_set_lazymode(int lazy_mode);
|
2009-12-29 22:00:57 +02:00
|
|
|
void client_set_hostname_maxlen(int i);
|
2009-08-16 15:30:26 +03:00
|
|
|
|
2017-03-12 07:37:59 +02:00
|
|
|
int client_handshake(int dns_fd, int raw_mode, int autodetect_frag_size,
|
|
|
|
int fragsize);
|
2009-08-16 15:30:26 +03:00
|
|
|
int client_tunnel(int tun_fd, int dns_fd);
|
|
|
|
|
|
|
|
#endif
|