Check if stdout is a terminal, if so, print a verbose message.
[tinc] / src / conf.h
1 /*
2     conf.h -- header for conf.c
3     Copyright (C) 1998,99 Ivo Timmermans <zarq@iname.com>
4
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20 #ifndef __TINC_CONF_H__
21 #define __TINC_CONF_H__
22
23 typedef struct ip_mask_t {
24   unsigned long ip;
25   unsigned long mask;
26 } ip_mask_t;
27
28 typedef union data_t {
29   unsigned long val;
30   void *ptr;
31   ip_mask_t *ip;
32 } data_t;
33
34 typedef enum which_t {
35   passphrasesdir = 1,
36   upstreamip,
37   upstreamport,
38   listenport,
39   myvpnip,
40   tapdevice,
41   allowconnect,
42   pingtimeout,
43   keyexpire,
44 } which_t;
45
46 typedef struct config_t {
47   struct config_t *next;
48   which_t which;
49   data_t data;
50 } config_t;
51
52 enum {
53   stupid_false = 1,
54   stupid_true
55 };
56
57 enum {
58   TYPE_NAME = 1,
59   TYPE_INT,
60   TYPE_IP,
61   TYPE_BOOL
62 };
63
64 extern config_t *config;
65 extern int debug_lvl;
66 extern int timeout;
67
68 extern config_t *add_config_val(config_t **, int, char *);
69 extern int read_config_file(const char *);
70 extern const config_t *get_config_val(which_t type);
71
72 #endif /* __TINC_CONF_H__ */