ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / drivers / char / rio / selftest.h
1 /*
2 ** File:                selftest.h
3 **
4 ** Author:              David Dix
5 **
6 ** Created:             15th March 1993
7 **
8 ** Last modified:       94/06/14
9 **
10  *
11  *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
12  *
13  *      This program is free software; you can redistribute it and/or modify
14  *      it under the terms of the GNU General Public License as published by
15  *      the Free Software Foundation; either version 2 of the License, or
16  *      (at your option) any later version.
17  *
18  *      This program is distributed in the hope that it will be useful,
19  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
20  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  *      GNU General Public License for more details.
22  *
23  *      You should have received a copy of the GNU General Public License
24  *      along with this program; if not, write to the Free Software
25  *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 */
27
28 #ifndef _selftests_h_
29 #define _selftests_h_
30
31 /*
32 ** Selftest identifier...
33 */
34 #define SELFTEST_MAGIC  0x5a5a
35
36 /*
37 ** This is the structure of the packet that is sent back after each
38 ** selftest on a booting RTA.
39 */
40 typedef struct {
41     short               magic;                  /* Identifies packet type */
42     int                 test;                   /* Test number, see below */
43     unsigned int        result;                 /* Result value */
44     unsigned int        dataIn;
45     unsigned int        dataOut;
46 }selftestStruct;
47
48 /*
49 ** The different tests are identified by the following data values.
50 */
51 enum test {
52     TESTS_COMPLETE      = 0x00,
53     MEMTEST_ADDR        = 0x01,
54     MEMTEST_BIT         = 0x02,
55     MEMTEST_FILL        = 0x03,
56     MEMTEST_DATABUS     = 0x04,
57     MEMTEST_ADDRBUS     = 0x05,
58     CD1400_INIT         = 0x10,
59     CD1400_LOOP         = 0x11,
60     CD1400_INTERRUPT    = 0x12
61 };
62
63 enum result {
64     E_PORT              = 0x10,
65     E_TX                = 0x11,
66     E_RX                = 0x12,
67     E_EXCEPT            = 0x13,
68     E_COMPARE           = 0x14,
69     E_MODEM             = 0x15,
70     E_TIMEOUT           = 0x16,
71     E_INTERRUPT         = 0x17
72 };
73 #endif  /* _selftests_h_ */