X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=ipif%2Fforwarder.h;h=a9b88b643c3d4102e98715e53cd3d75c490e9e65;hb=7729298ad653ba4e0b10bacc9f27d210b4eaf4e7;hp=fbaf2e2433dfb102972c102ec589a8370589182e;hpb=1fb3cba0b41ae774f83c11d2a9c23b12b2c87d1a;p=userv-utils.git diff --git a/ipif/forwarder.h b/ipif/forwarder.h index fbaf2e2..a9b88b6 100644 --- a/ipif/forwarder.h +++ b/ipif/forwarder.h @@ -1,4 +1,22 @@ /* + * Encrypting tunnel for userv-ipif tunnels, header file + */ +/* + * Copyright (C) 2000 Ian Jackson + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with userv-utils; if not, write to the Free Software + * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef MECHS_H @@ -6,6 +24,7 @@ #include #include +#include #include "automech.h" @@ -38,12 +57,14 @@ extern const struct mechanism *const mechanismlists[]; * * setup_in function may increase maxprefix and maxsuffix * code functions modify buffer in place - * decode function returns message to print + * decode function returns 0 meaning packet decoded ok, + * "" meaning discard it quietly, or message to print for verbose discard */ const char *getarg_string(void); unsigned long getarg_ulong(void); +#define PROGRAM "udptunnel-forwarder" extern char programid[]; void *buf_append(struct buffer *buf, size_t amount); @@ -56,10 +77,14 @@ void fail(const char *msg); void sysdiag(const char *msg); void diag(const char *msg); +extern const char *const *argv; + time_t now(void); void *xmalloc(size_t sz); void get_random(void *ptr, size_t sz); void random_key(void *ptr, size_t sz); +void write_must(int fd, const void *p_in, int sz, const char *what); +void read_must(int fd, void *p_in, int sz, const char *what); void arg_assert_fail(const char *msg); #define arg_assert(v) (v ? (void)0 : arg_assert_fail(#v))