OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [atmbr2684.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
#ifndef _LINUX_ATMBR2684_H
2
#define _LINUX_ATMBR2684_H
3
 
4
#include <linux/types.h>
5
#include <linux/atm.h>
6
#include <linux/if.h>           /* For IFNAMSIZ */
7
 
8
/*
9
 * Type of media we're bridging (ethernet, token ring, etc)  Currently only
10
 * ethernet is supported
11
 */
12
#define BR2684_MEDIA_ETHERNET   (0)     /* 802.3 */
13
#define BR2684_MEDIA_802_4      (1)     /* 802.4 */
14
#define BR2684_MEDIA_TR         (2)     /* 802.5 - token ring */
15
#define BR2684_MEDIA_FDDI       (3)
16
#define BR2684_MEDIA_802_6      (4)     /* 802.6 */
17
 
18
                                        /* used only at device creation:  */
19
#define BR2684_FLAG_ROUTED      (1<<16) /* payload is routed, not bridged */
20
 
21
/*
22
 * Is there FCS inbound on this VC?  This currently isn't supported.
23
 */
24
#define BR2684_FCSIN_NO         (0)
25
#define BR2684_FCSIN_IGNORE     (1)
26
#define BR2684_FCSIN_VERIFY     (2)
27
 
28
/*
29
 * Is there FCS outbound on this VC?  This currently isn't supported.
30
 */
31
#define BR2684_FCSOUT_NO        (0)
32
#define BR2684_FCSOUT_SENDZERO  (1)
33
#define BR2684_FCSOUT_GENERATE  (2)
34
 
35
/*
36
 * Does this VC include LLC encapsulation?
37
 */
38
#define BR2684_ENCAPS_VC        (0)     /* VC-mux */
39
#define BR2684_ENCAPS_LLC       (1)
40
#define BR2684_ENCAPS_AUTODETECT (2)    /* Unsuported */
41
 
42
/*
43
 * Is this VC bridged or routed?
44
 */
45
 
46
#define BR2684_PAYLOAD_ROUTED   (0)
47
#define BR2684_PAYLOAD_BRIDGED  (1)
48
 
49
/*
50
 * This is for the ATM_NEWBACKENDIF call - these are like socket families:
51
 * the first element of the structure is the backend number and the rest
52
 * is per-backend specific
53
 */
54
struct atm_newif_br2684 {
55
        atm_backend_t backend_num;      /* ATM_BACKEND_BR2684 */
56
        int media;              /* BR2684_MEDIA_*, flags in upper bits */
57
        char ifname[IFNAMSIZ];
58
        int mtu;
59
};
60
 
61
/*
62
 * This structure is used to specify a br2684 interface - either by a
63
 * positive integer (returned by ATM_NEWBACKENDIF) or the interfaces name
64
 */
65
#define BR2684_FIND_BYNOTHING   (0)
66
#define BR2684_FIND_BYNUM       (1)
67
#define BR2684_FIND_BYIFNAME    (2)
68
struct br2684_if_spec {
69
        int method;             /* BR2684_FIND_* */
70
        union {
71
                char ifname[IFNAMSIZ];
72
                int devnum;
73
        } spec;
74
};
75
 
76
/*
77
 * This is for the ATM_SETBACKEND call - these are like socket families:
78
 * the first element of the structure is the backend number and the rest
79
 * is per-backend specific
80
 */
81
struct atm_backend_br2684 {
82
        atm_backend_t backend_num;      /* ATM_BACKEND_BR2684 */
83
        struct br2684_if_spec ifspec;
84
        int fcs_in;             /* BR2684_FCSIN_* */
85
        int fcs_out;            /* BR2684_FCSOUT_* */
86
        int fcs_auto;           /* 1: fcs_{in,out} disabled if no FCS rx'ed */
87
        int encaps;             /* BR2684_ENCAPS_* */
88
        int has_vpiid;          /* 1: use vpn_id - Unsupported */
89
        __u8 vpn_id[7];
90
        int send_padding;       /* unsupported */
91
        int min_size;           /* we will pad smaller packets than this */
92
};
93
 
94
/*
95
 * The BR2684_SETFILT ioctl is an experimental mechanism for folks
96
 * terminating a large number of IP-only vcc's.  When netfilter allows
97
 * efficient per-if in/out filters, this support will be removed
98
 */
99
struct br2684_filter {
100
        __be32 prefix;          /* network byte order */
101
        __be32 netmask;         /* 0 = disable filter */
102
};
103
 
104
struct br2684_filter_set {
105
        struct br2684_if_spec ifspec;
106
        struct br2684_filter filter;
107
};
108
 
109
enum br2684_payload {
110
        p_routed = BR2684_PAYLOAD_ROUTED,
111
        p_bridged = BR2684_PAYLOAD_BRIDGED,
112
};
113
 
114
#define BR2684_SETFILT  _IOW( 'a', ATMIOC_BACKEND + 0, \
115
                                struct br2684_filter_set)
116
 
117
#endif /* _LINUX_ATMBR2684_H */

powered by: WebSVN 2.1.0

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