OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [net/] [bsd_tcpip/] [v2_0/] [include/] [netinet/] [ip_encap.h] - Blame information for rev 27

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
//==========================================================================
2
//
3
//      include/netinet/ip_encap.h
4
//
5
//==========================================================================
6
//####BSDCOPYRIGHTBEGIN####
7
//
8
// -------------------------------------------
9
//
10
// Portions of this software may have been derived from OpenBSD, 
11
// FreeBSD or other sources, and are covered by the appropriate
12
// copyright disclaimers included herein.
13
//
14
// Portions created by Red Hat are
15
// Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.
16
//
17
// -------------------------------------------
18
//
19
//####BSDCOPYRIGHTEND####
20
//==========================================================================
21
 
22
/*      $KAME: ip_encap.h,v 1.12 2001/09/04 08:43:18 itojun Exp $       */
23
 
24
/*
25
 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
26
 * All rights reserved.
27
 *
28
 * Redistribution and use in source and binary forms, with or without
29
 * modification, are permitted provided that the following conditions
30
 * are met:
31
 * 1. Redistributions of source code must retain the above copyright
32
 *    notice, this list of conditions and the following disclaimer.
33
 * 2. Redistributions in binary form must reproduce the above copyright
34
 *    notice, this list of conditions and the following disclaimer in the
35
 *    documentation and/or other materials provided with the distribution.
36
 * 3. Neither the name of the project nor the names of its contributors
37
 *    may be used to endorse or promote products derived from this software
38
 *    without specific prior written permission.
39
 *
40
 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
41
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
44
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
45
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
46
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
48
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
49
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50
 * SUCH DAMAGE.
51
 */
52
 
53
#ifndef _NETINET_IP_ENCAP_H_
54
#define _NETINET_IP_ENCAP_H_
55
 
56
#ifdef _KERNEL
57
 
58
#ifndef RNF_NORMAL
59
#include <net/radix.h>
60
#endif
61
 
62
struct encaptab {
63
        struct radix_node nodes[2];
64
        LIST_ENTRY(encaptab) chain;
65
        int af;
66
        int proto;                      /* -1: don't care, I'll check myself */
67
        struct sockaddr *addrpack;      /* malloc'ed, for radix lookup */
68
        struct sockaddr *maskpack;      /* ditto */
69
        struct sockaddr *src;           /* my addr */
70
        struct sockaddr *srcmask;
71
        struct sockaddr *dst;           /* remote addr */
72
        struct sockaddr *dstmask;
73
        int (*func) __P((const struct mbuf *, int, int, void *));
74
        const struct protosw *psw;      /* only pr_input will be used */
75
        void *arg;                      /* passed via m->m_pkthdr.aux */
76
};
77
 
78
void    encap_init __P((void));
79
#if (defined(__FreeBSD__) && __FreeBSD__ >= 4)
80
void    encap4_input __P((struct mbuf *, int));
81
#else
82
void    encap4_input __P((struct mbuf *, ...));
83
#endif /* (defined(__FreeBSD__) && __FreeBSD__ >= 4) */
84
int     encap6_input __P((struct mbuf **, int *, int));
85
const struct encaptab *encap_attach __P((int, int, const struct sockaddr *,
86
        const struct sockaddr *, const struct sockaddr *,
87
        const struct sockaddr *, const struct protosw *, void *));
88
const struct encaptab *encap_attach_func __P((int, int,
89
        int (*) __P((const struct mbuf *, int, int, void *)),
90
        const struct protosw *, void *));
91
void    encap6_ctlinput __P((int, struct sockaddr *, void *));
92
int     encap_detach __P((const struct encaptab *));
93
void    *encap_getarg __P((struct mbuf *));
94
#endif
95
 
96
#endif /*_NETINET_IP_ENCAP_H_*/

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.