X-Git-Url: https://git.distorted.org.uk/~mdw/userv-utils/blobdiff_plain/1fb3cba0b41ae774f83c11d2a9c23b12b2c87d1a..5f477c55c7500f6e4d748e4ddcd3ba90dc1bac79:/ipif/forwarder.h diff --git a/ipif/forwarder.h b/ipif/forwarder.h index fbaf2e2..599eb41 100644 --- a/ipif/forwarder.h +++ b/ipif/forwarder.h @@ -1,4 +1,23 @@ /* + * Encrypting tunnel for userv-ipif tunnels, header file + */ +/* + * Copyright (C) 2000,2003 Ian Jackson + * This file is part of ipif, part of userv-utils + * + * 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,8 +25,8 @@ #include #include - -#include "automech.h" +#include +#include struct buffer { unsigned char *base; @@ -31,6 +50,8 @@ struct mechanism { mdec_functype *decode; }; +#include "automech.h" + extern const struct mechanism *const mechanismlists[]; /* setup function may call getarg_xxx functions and then @@ -38,12 +59,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 +79,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))