X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=ipif%2Fforwarder.h;h=fa048b321fabcc1de4ed4e29721e28cc639f2195;hb=5f3e811b5415dcff74f82bdd2f26d3af1f73c555;hp=fbaf2e2433dfb102972c102ec589a8370589182e;hpb=1fb3cba0b41ae774f83c11d2a9c23b12b2c87d1a;p=userv-utils.git diff --git a/ipif/forwarder.h b/ipif/forwarder.h index fbaf2e2..fa048b3 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,6 +25,8 @@ #include #include +#include +#include #include "automech.h" @@ -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))