aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/atmbr2684.h
blob: fdb2629b61890b0326ef151e53eedc4bfbfad851 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#ifndef _LINUX_ATMBR2684_H
#define _LINUX_ATMBR2684_H

#include <linux/types.h>
#include <linux/atm.h>
#include <linux/if.h>		/* For IFNAMSIZ */

/*
 * Type of media we're bridging (ethernet, token ring, etc)  Currently only
 * ethernet is supported
 */
#define BR2684_MEDIA_ETHERNET	(0)	/* 802.3 */
#define BR2684_MEDIA_802_4	(1)	/* 802.4 */
#define BR2684_MEDIA_TR		(2)	/* 802.5 - token ring */
#define BR2684_MEDIA_FDDI	(3)
#define BR2684_MEDIA_802_6	(4)	/* 802.6 */

					/* used only at device creation:  */
#define BR2684_FLAG_ROUTED	(1<<16)	/* payload is routed, not bridged */

/*
 * Is there FCS inbound on this VC?  This currently isn't supported.
 */
#define BR2684_FCSIN_NO		(0)
#define BR2684_FCSIN_IGNORE	(1)
#define BR2684_FCSIN_VERIFY	(2)

/*
 * Is there FCS outbound on this VC?  This currently isn't supported.
 */
#define BR2684_FCSOUT_NO	(0)
#define BR2684_FCSOUT_SENDZERO	(1)
#define BR2684_FCSOUT_GENERATE	(2)

/*
 * Does this VC include LLC encapsulation?
 */
#define BR2684_ENCAPS_VC	(0)	/* VC-mux */
#define BR2684_ENCAPS_LLC	(1)
#define BR2684_ENCAPS_AUTODETECT (2)	/* Unsuported */

/*
 * Is this VC bridged or routed?
 */

#define BR2684_PAYLOAD_ROUTED   (0)
#define BR2684_PAYLOAD_BRIDGED  (1)

/*
 * This is for the ATM_NEWBACKENDIF call - these are like socket families:
 * the first element of the structure is the backend number and the rest
 * is per-backend specific
 */
struct atm_newif_br2684 {
	atm_backend_t backend_num;	/* ATM_BACKEND_BR2684 */
	int media;		/* BR2684_MEDIA_*, flags in upper bits */
	char ifname[IFNAMSIZ];
	int mtu;
};

/*
 * This structure is used to specify a br2684 interface - either by a
 * positive integer (returned by ATM_NEWBACKENDIF) or the interfaces name
 */
#define BR2684_FIND_BYNOTHING	(0)
#define BR2684_FIND_BYNUM	(1)
#define BR2684_FIND_BYIFNAME	(2)
struct br2684_if_spec {
	int method;		/* BR2684_FIND_* */
	union {
		char ifname[IFNAMSIZ];
		int devnum;
	} spec;
};

/*
 * This is for the ATM_SETBACKEND call - these are like socket families:
 * the first element of the structure is the backend number and the rest
 * is per-backend specific
 */
struct atm_backend_br2684 {
	atm_backend_t backend_num;	/* ATM_BACKEND_BR2684 */
	struct br2684_if_spec ifspec;
	int fcs_in;		/* BR2684_FCSIN_* */
	int fcs_out;		/* BR2684_FCSOUT_* */
	int fcs_auto;		/* 1: fcs_{in,out} disabled if no FCS rx'ed */
	int encaps;		/* BR2684_ENCAPS_* */
	int has_vpiid;		/* 1: use vpn_id - Unsupported */
	__u8 vpn_id[7];
	int send_padding;	/* unsupported */
	int min_size;		/* we will pad smaller packets than this */
};

/*
 * The BR2684_SETFILT ioctl is an experimental mechanism for folks
 * terminating a large number of IP-only vcc's.  When netfilter allows
 * efficient per-if in/out filters, this support will be removed
 */
struct br2684_filter {
	__be32 prefix;		/* network byte order */
	__be32 netmask;		/* 0 = disable filter */
};

struct br2684_filter_set {
	struct br2684_if_spec ifspec;
	struct br2684_filter filter;
};

enum br2684_payload {
	p_routed = BR2684_PAYLOAD_ROUTED,
	p_bridged = BR2684_PAYLOAD_BRIDGED,
};

#define BR2684_SETFILT	_IOW( 'a', ATMIOC_BACKEND + 0, \
				struct br2684_filter_set)

#endif /* _LINUX_ATMBR2684_H */
c">#define IERH 0xFFFF32 #define IERL 0xFFFF33 #define ISR 0xFFFF34 #define ISRH 0xFFFF34 #define ISRL 0xFFFF35 #define P1DDR 0xFFFE20 #define P2DDR 0xFFFE21 #define P3DDR 0xFFFE22 #define P4DDR 0xFFFE23 #define P5DDR 0xFFFE24 #define P6DDR 0xFFFE25 #define P7DDR 0xFFFE26 #define P8DDR 0xFFFE27 #define P9DDR 0xFFFE28 #define PADDR 0xFFFE29 #define PBDDR 0xFFFE2A #define PCDDR 0xFFFE2B #define PDDDR 0xFFFE2C #define PEDDR 0xFFFE2D #define PFDDR 0xFFFE2E #define PGDDR 0xFFFE2F #define PHDDR 0xFFFF74 #define PFCR0 0xFFFE32 #define PFCR1 0xFFFE33 #define PFCR2 0xFFFE34 #define PAPCR 0xFFFE36 #define PBPCR 0xFFFE37 #define PCPCR 0xFFFE38 #define PDPCR 0xFFFE39 #define PEPCR 0xFFFE3A #define P3ODR 0xFFFE3C #define PAODR 0xFFFE3D #define P1DR 0xFFFF60 #define P2DR 0xFFFF61 #define P3DR 0xFFFF62 #define P4DR 0xFFFF63 #define P5DR 0xFFFF64 #define P6DR 0xFFFF65 #define P7DR 0xFFFF66 #define P8DR 0xFFFF67 #define P9DR 0xFFFF68 #define PADR 0xFFFF69 #define PBDR 0xFFFF6A #define PCDR 0xFFFF6B #define PDDR 0xFFFF6C #define PEDR 0xFFFF6D #define PFDR 0xFFFF6E #define PGDR 0xFFFF6F #define PHDR 0xFFFF72 #define PORT1 0xFFFF50 #define PORT2 0xFFFF51 #define PORT3 0xFFFF52 #define PORT4 0xFFFF53 #define PORT5 0xFFFF54 #define PORT6 0xFFFF55 #define PORT7 0xFFFF56 #define PORT8 0xFFFF57 #define PORT9 0xFFFF58 #define PORTA 0xFFFF59 #define PORTB 0xFFFF5A #define PORTC 0xFFFF5B #define PORTD 0xFFFF5C #define PORTE 0xFFFF5D #define PORTF 0xFFFF5E #define PORTG 0xFFFF5F #define PORTH 0xFFFF70 #define PCR 0xFFFF46 #define PMR 0xFFFF47 #define NDERH 0xFFFF48 #define NDERL 0xFFFF49 #define PODRH 0xFFFF4A #define PODRL 0xFFFF4B #define NDRH1 0xFFFF4C #define NDRL1 0xFFFF4D #define NDRH2 0xFFFF4E #define NDRL2 0xFFFF4F #define SMR0 0xFFFF78 #define BRR0 0xFFFF79 #define SCR0 0xFFFF7A #define TDR0 0xFFFF7B #define SSR0 0xFFFF7C #define RDR0 0xFFFF7D #define SCMR0 0xFFFF7E #define SMR1 0xFFFF80 #define BRR1 0xFFFF81 #define SCR1 0xFFFF82 #define TDR1 0xFFFF83 #define SSR1 0xFFFF84 #define RDR1 0xFFFF85 #define SCMR1 0xFFFF86 #define SMR2 0xFFFF88 #define BRR2 0xFFFF89 #define SCR2 0xFFFF8A #define TDR2 0xFFFF8B #define SSR2 0xFFFF8C #define RDR2 0xFFFF8D #define SCMR2 0xFFFF8E #define IRCR0 0xFFFE1E #define SEMR 0xFFFDA8 #define MDCR 0xFFFF3E #define SYSCR 0xFFFF3D #define MSTPCRH 0xFFFF40 #define MSTPCRL 0xFFFF41 #define FLMCR1 0xFFFFC8 #define FLMCR2 0xFFFFC9 #define EBR1 0xFFFFCA #define EBR2 0xFFFFCB #define CTGARC_RAMCR 0xFFFECE #define SBYCR 0xFFFF3A #define SCKCR 0xFFFF3B #define PLLCR 0xFFFF45 #define TSTR 0xFFFFC0 #define TSNC 0XFFFFC1 #define TCR0 0xFFFFD0 #define TMDR0 0xFFFFD1 #define TIORH0 0xFFFFD2 #define TIORL0 0xFFFFD3 #define TIER0 0xFFFFD4 #define TSR0 0xFFFFD5 #define TCNT0 0xFFFFD6 #define GRA0 0xFFFFD8 #define GRB0 0xFFFFDA #define GRC0 0xFFFFDC #define GRD0 0xFFFFDE #define TCR1 0xFFFFE0 #define TMDR1 0xFFFFE1 #define TIORH1 0xFFFFE2 #define TIORL1 0xFFFFE3 #define TIER1 0xFFFFE4 #define TSR1 0xFFFFE5 #define TCNT1 0xFFFFE6 #define GRA1 0xFFFFE8 #define GRB1 0xFFFFEA #define TCR2 0xFFFFF0 #define TMDR2 0xFFFFF1 #define TIORH2 0xFFFFF2 #define TIORL2 0xFFFFF3 #define TIER2 0xFFFFF4 #define TSR2 0xFFFFF5 #define TCNT2 0xFFFFF6 #define GRA2 0xFFFFF8 #define GRB2 0xFFFFFA #define TCR3 0xFFFE80 #define TMDR3 0xFFFE81 #define TIORH3 0xFFFE82 #define TIORL3 0xFFFE83 #define TIER3 0xFFFE84 #define TSR3 0xFFFE85 #define TCNT3 0xFFFE86 #define GRA3 0xFFFE88 #define GRB3 0xFFFE8A #define GRC3 0xFFFE8C #define GRD3 0xFFFE8E #define TCR4 0xFFFE90 #define TMDR4 0xFFFE91 #define TIORH4 0xFFFE92 #define TIORL4 0xFFFE93 #define TIER4 0xFFFE94 #define TSR4 0xFFFE95 #define TCNT4 0xFFFE96 #define GRA4 0xFFFE98 #define GRB4 0xFFFE9A #define TCR5 0xFFFEA0 #define TMDR5 0xFFFEA1 #define TIORH5 0xFFFEA2 #define TIORL5 0xFFFEA3 #define TIER5 0xFFFEA4 #define TSR5 0xFFFEA5 #define TCNT5 0xFFFEA6 #define GRA5 0xFFFEA8 #define GRB5 0xFFFEAA #define _8TCR0 0xFFFFB0 #define _8TCR1 0xFFFFB1 #define _8TCSR0 0xFFFFB2 #define _8TCSR1 0xFFFFB3 #define _8TCORA0 0xFFFFB4 #define _8TCORA1 0xFFFFB5 #define _8TCORB0 0xFFFFB6 #define _8TCORB1 0xFFFFB7 #define _8TCNT0 0xFFFFB8 #define _8TCNT1 0xFFFFB9 #define TCSR 0xFFFFBC #define TCNT 0xFFFFBD #define RSTCSRW 0xFFFFBE #define RSTCSRR 0xFFFFBF #endif /* __KERNEL__ */ #endif /* __REGS_H8S267x__ */