Subversion Repositories SvarDOS

Rev

Rev 616 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
207 mateuszvis 1
/*!\file net/if_arc.h
2
 * ARC-net definitions.
3
 */
4
 
5
/*      $NetBSD: if_arc.h,v 1.6 1997/03/15 18:12:30 is Exp $    */
6
 
7
/*
8
 * Copyright (c) 1982, 1986, 1993
9
 *	The Regents of the University of California.  All rights reserved.
10
 *
11
 * Redistribution and use in source and binary forms, with or without
12
 * modification, are permitted provided that the following conditions
13
 * are met:
14
 * 1. Redistributions of source code must retain the above copyright
15
 *    notice, this list of conditions and the following disclaimer.
16
 * 2. Redistributions in binary form must reproduce the above copyright
17
 *    notice, this list of conditions and the following disclaimer in the
18
 *    documentation and/or other materials provided with the distribution.
19
 * 3. All advertising materials mentioning features or use of this software
20
 *    must display the following acknowledgement:
21
 *	This product includes software developed by the University of
22
 *	California, Berkeley and its contributors.
23
 * 4. Neither the name of the University nor the names of its contributors
24
 *    may be used to endorse or promote products derived from this software
25
 *    without specific prior written permission.
26
 *
27
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
28
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37
 * SUCH DAMAGE.
38
 *
39
 * from: NetBSD: if_ether.h,v 1.10 1994/06/29 06:37:55 cgd Exp
40
 *       @(#)if_ether.h	8.1 (Berkeley) 6/10/93
41
 */
42
 
43
#ifndef __NET_IF_ARC_H
44
#define __NET_IF_ARC_H
45
 
46
#include <sys/packon.h>
47
 
48
/*
49
 * Arcnet address - 1 octets
50
 * don't know who uses this.
51
 */
52
struct arc_addr {
53
	u_int8_t  arc_addr_octet[1];
54
};
55
 
56
/*
57
 * Structure of a 2.5MB/s Arcnet header.
58
 * as given to interface code.
59
 */
60
struct	arc_header {
61
	u_int8_t  arc_shost;
62
	u_int8_t  arc_dhost;
63
	u_int8_t  arc_type;
64
	/*
65
	 * only present for newstyle encoding with LL fragmentation.
66
	 * Don't use sizeof(anything), use ARC_HDR{,NEW}LEN instead.
67
	 */
68
	u_int8_t  arc_flag;
69
	u_int16_t arc_seqid;
70
 
71
	/*
72
	 * only present in exception packets (arc_flag == 0xff)
73
	 */
74
	u_int8_t  arc_type2;	/* same as arc_type */
75
	u_int8_t  arc_flag2;	/* real flag value */
76
	u_int16_t arc_seqid2;	/* real seqid value */
77
};
78
 
79
#define	ARC_ADDR_LEN		1
80
 
81
#define	ARC_HDRLEN		3
82
#define	ARC_HDRNEWLEN		6
83
 
84
/* these lengths are data link layer length - 2*ARC_ADDR_LEN */
85
#define	ARC_MIN_LEN		1
86
#define	ARC_MIN_FORBID_LEN	254
87
#define	ARC_MAX_FORBID_LEN	256
88
#define	ARC_MAX_LEN		508
89
 
90
 
91
/* RFC 1051 */
92
#define	ARCTYPE_IP_OLD		240	/* IP protocol */
93
#define	ARCTYPE_ARP_OLD		241	/* address resolution protocol */
94
 
95
/* RFC 1201 */
96
#define	ARCTYPE_IP		212	/* IP protocol */
97
#define	ARCTYPE_ARP		213	/* address resolution protocol */
98
#define	ARCTYPE_REVARP		214	/* reverse addr resolution protocol */
99
 
100
#define	ARCTYPE_ATALK		221	/* Appletalk */
101
#define	ARCTYPE_BANIAN		247	/* Banyan Vines */
102
#define	ARCTYPE_IPX		250	/* Novell IPX */
103
 
104
#define	ARCMTU			507
105
#define	ARCMIN			0
106
 
107
struct	arccom {
108
	struct 	  ifnet ac_if;		/* network-visible interface */
109
 
110
	u_int16_t ac_seqid;		/* seq. id used by PHDS encap. */
111
 
112
	struct ac_frag {
113
		u_int8_t  af_maxflag;	/* from first packet */
114
		u_int8_t  af_lastseen;	/* last split flag seen */
115
		u_int16_t af_seqid;	
116
		struct mbuf *af_packet;
117
	} ac_fragtab[256];		/* indexed by sender ll address */
118
 
119
};
120
 
121
#include <sys/packoff.h>
122
 
123
#endif