X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ftincctl.h;h=ee5f056d24857aa03c3e6942a2dfccffaf05be9b;hb=c6a15e27d934e90a1f3a26438dddb395bdc9de19;hp=114b931e5c088639a025b8ed7ac22f7240cd2c2d;hpb=6dfdb323612184529b4b83c1be914dda8262de47;p=tinc diff --git a/src/tincctl.h b/src/tincctl.h index 114b931e..ee5f056d 100644 --- a/src/tincctl.h +++ b/src/tincctl.h @@ -1,6 +1,9 @@ +#ifndef TINC_TINCCTL_H +#define TINC_TINCCTL_H + /* tincctl.h -- header for tincctl.c. - Copyright (C) 2011 Guus Sliepen + Copyright (C) 2011-2022 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,11 +20,46 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef __TINC_TINCCTL_H__ -#define __TINC_TINCCTL_H__ +#include "system.h" +#include "ecdsa.h" + +extern bool tty; +extern bool force; +extern char line[4096]; +extern int fd; +extern char buffer[4096]; +extern size_t blen; +extern bool confbasegiven; +extern char *tinc_conf; +extern char *hosts_dir; + +#define VAR_SERVER 1 /* Should be in tinc.conf */ +#define VAR_HOST 2 /* Can be in host config file */ +#define VAR_MULTIPLE 4 /* Multiple statements allowed */ +#define VAR_OBSOLETE 8 /* Should not be used anymore */ +#define VAR_SAFE 16 /* Variable is safe when accepting invitations */ + +typedef struct { + const char *name; + int type; +} var_t; -extern bool sendline(int fd, char *format, ...); +typedef enum { + DIR_CACHE = 1 << 0, + DIR_CONFBASE = 1 << 1, + DIR_CONFDIR = 1 << 2, + DIR_HOSTS = 1 << 3, + DIR_INVITATIONS = 1 << 4, +} tincd_dir_t; + +extern const var_t variables[]; + +extern size_t rstrip(char *value); +extern char *get_my_name(bool verbose) ATTR_MALLOC; +extern bool connect_tincd(bool verbose); +extern bool sendline(int fd, const char *format, ...) ATTR_FORMAT(printf, 2, 3); extern bool recvline(int fd, char *line, size_t len); +extern int check_port(const char *name); +extern bool makedirs(tincd_dir_t dirs); #endif -