blob: 21c8fb0215397134951c2c1079f6ee188ae44103 (
plain)
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
|
/*
* Mach Operating System
* Copyright (c) 1992 Carnegie Mellon University
* All Rights Reserved.
*
* Permission to use, copy, modify and distribute this software and its
* documentation is hereby granted, provided that both the copyright
* notice and this permission notice appear in all copies of the
* software, derivative works or modified versions, and any portions
* thereof, and that both notices appear in supporting documentation.
*
* CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
* CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
* ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
*
* Carnegie Mellon requests users of this software to return to
*
* Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
* School of Computer Science
* Carnegie Mellon University
* Pittsburgh PA 15213-3890
*
* any improvements or extensions that they make and grant Carnegie Mellon
* the rights to redistribute these changes.
*/
#define FA_BLCK 0x10000
#define FA_ROM 0x00000
#define FA_CTL 0x10000
#define FA_STAT 0x10000
#define I_RCV_CNT 0x00001
#define I_RCV_EOM 0x00002
#define I_RCV_TIM 0x00004
#define I_XMT_CNT 0x00008
#define I_RCV_LOS 0x00010
#define I_RCV_CARRIER 0x00020
#define FA_CR_S 0x10004
#define FA_CR_C 0x10008
#define FA_CR 0x1000C
#define ENI_RCV_CNT 0x00001
#define ENI_RCV_END 0x00002
#define ENI_RCV_TIM 0x00004
#define ENI_XMT_CNT 0x00008
#define EN_TEST 0x00010
#define EN_UNUSED 0x00020
#define EN_RCV 0x00040
#define EN_XMT 0x00080
#define RESET_RCV 0x00100
#define RESET_XMT 0x00200
#define FA_TIM 0x10010
#define FA_TIM_SET 0x10018
#define FA_RCV_CNT 0x10020
#define FA_RCV_CMP 0x10028
#define FA_XMT_CNT 0x10030
#define FA_XMT_CMP 0x10038
#define FA_DISCARD 0x20000
#define FA_RCV 0x20000
#define FA_RCV_HD 0x20000
#define FA_RCV_PAYLD 0x20004
#define FA_RCV_TR 0x20034
#define FA_XMT 0x30000
#define FA_XMT_HD 0x30000
#define FA_XMT_PAYLD 0x30004
#define FA_XMT_TR 0x30034
#define FA_END 0x40000
struct ecc {
/* 00000 */ char rom[FA_BLCK];
/* 10000 */ int stat;
/* 10004 */ int cr_s;
/* 10008 */ int cr_c;
/* 1000C */ int cr;
/* 10010 */ int tim;
int fill1;
/* 10018 */ int tim_set;
int fill2;
/* 10020 */ int rcv_cnt;
int fill3;
/* 10028 */ int rcv_cmp;
int fill4;
/* 10030 */ int xmt_cnt;
int fill5;
/* 10038 */ int xmt_cmp;
int fill6;
char pad[FA_BLCK-0x40];
/* 20000 */
/* 20000 */ char rcv[FA_BLCK];
/* 30000 */ char xmt[FA_BLCK];
};
struct sar {
int header;
int payload[12];
int trailer;
};
typedef struct ecc ecc_t;
typedef struct sar sar_t;
|