X-Git-Url: https://git.distorted.org.uk/~mdw/fwd/blobdiff_plain/0ac54f22a766f068db98e1caecbc913cb0cfd191..5d9fd22aa85423521ff7c4c004f6e6299d99aad0:/addr.h diff --git a/addr.h b/addr.h index adc4cd1..7da1fef 100644 --- a/addr.h +++ b/addr.h @@ -1,13 +1,11 @@ /* -*-c-*- * - * $Id: addr.h,v 1.3 2003/11/25 14:08:23 mdw Exp $ - * * Generic interface to network address handlers * * (c) 1999 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of the `fw' port forwarder. * @@ -15,31 +13,17 @@ * 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. - * + * * `fw' 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 `fw'; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: addr.h,v $ - * Revision 1.3 2003/11/25 14:08:23 mdw - * Debianization. Socket target options. Internet binding. - * - * Revision 1.2 1999/07/27 18:30:53 mdw - * Various minor portability fixes. - * - * Revision 1.1 1999/07/26 23:34:26 mdw - * Socket address type management. - * - */ - #ifndef ADDR_H #define ADDR_H @@ -68,7 +52,7 @@ #endif /*----- Data structures ---------------------------------------------------*/ - + /* --- A generic socket address --- * * * Not all systems understand @sa_len@ fields. (In particular, Linux @@ -174,6 +158,20 @@ typedef struct addr_ops { int (*option)(scanner */*sc*/, addr_opts */*ao*/, unsigned /*type*/); + /* --- @confirm@ --- * + * + * Arguments: @addr *a@ = pointer to an address structure + * @unsigned type@ = kind of address this is + * @addr_opts *ao@ = address options + * + * Returns: --- + * + * Use: Called during initialization when an address is fully + * configured. + */ + + void (*confirm)(addr */*a*/, unsigned /*type*/, addr_opts */*ao*/); + /* --- @freesrcopts@ --- * * * Arguments: @addr_opts *ao@ = data block to remove @@ -272,7 +270,7 @@ typedef struct addr_ops { int (*connect)(addr */*a*/, addr_opts */*ao*/, conn */*c*/, endpt */*e*/); } addr_ops; - + /*----- That's all, folks -------------------------------------------------*/ #ifdef __cplusplus