1c39934eaSBrian Somers /*- 2057fee78SBrian Somers * Copyright (c) 2001 Charles Mott <cmott@scientech.com> 3057fee78SBrian Somers * Brian Somers <brian@Awfulhak.org> 4057fee78SBrian Somers * All rights reserved. 5057fee78SBrian Somers * 6057fee78SBrian Somers * Redistribution and use in source and binary forms, with or without 7057fee78SBrian Somers * modification, are permitted provided that the following conditions 8057fee78SBrian Somers * are met: 9057fee78SBrian Somers * 1. Redistributions of source code must retain the above copyright 10057fee78SBrian Somers * notice, this list of conditions and the following disclaimer. 11057fee78SBrian Somers * 2. Redistributions in binary form must reproduce the above copyright 12057fee78SBrian Somers * notice, this list of conditions and the following disclaimer in the 13057fee78SBrian Somers * documentation and/or other materials provided with the distribution. 14057fee78SBrian Somers * 15057fee78SBrian Somers * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16057fee78SBrian Somers * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17057fee78SBrian Somers * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18057fee78SBrian Somers * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19057fee78SBrian Somers * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20057fee78SBrian Somers * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21057fee78SBrian Somers * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22057fee78SBrian Somers * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23057fee78SBrian Somers * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24057fee78SBrian Somers * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25057fee78SBrian Somers * SUCH DAMAGE. 26c39934eaSBrian Somers * 2797d92980SPeter Wemm * $FreeBSD$ 2875240ed1SBrian Somers */ 29f82fd828SBrian Somers 30d91d2861SBrian Somers struct cmdargs; 31d91d2861SBrian Somers 3267b072f7SBrian Somers extern int nat_RedirectPort(struct cmdargs const *); 3367b072f7SBrian Somers extern int nat_RedirectAddr(struct cmdargs const *); 3488298994SBrian Somers extern int nat_RedirectProto(struct cmdargs const *); 3567b072f7SBrian Somers extern int nat_ProxyRule(struct cmdargs const *); 36b7d8533cSBrian Somers extern int nat_SetTarget(struct cmdargs const *); 37686e8c8bSBrian Somers #ifndef NO_FW_PUNCH 38686e8c8bSBrian Somers extern int nat_PunchFW(struct cmdargs const *); 39686e8c8bSBrian Somers #endif 405d9e6103SBrian Somers 4167b072f7SBrian Somers extern struct layer natlayer; 42