aac_tables.h revision 65793
1/*-
2 * Copyright (c) 2000 Michael Smith
3 * Copyright (c) 2000 BSDi
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in the
13 *    documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 *	$FreeBSD: head/sys/dev/aac/aac_tables.h 65793 2000-09-13 03:20:35Z msmith $
28 */
29
30/*
31 * Status codes for block read/write commands, etc.
32 *
33 * XXX many of these would not normally be returned, as they are
34 * relevant only to FSA operations.
35 */
36static struct aac_code_lookup aac_command_status_table[] = {
37    {"OK",					0},
38    {"operation not permitted",			1},
39    {"not found",				2},
40    {"I/O error",				5},
41    {"device not configured",			6},
42    {"too big",					7},
43    {"permission denoed",			13},
44    {"file exists",				17},
45    {"cross-device link",			18},
46    {"operation not supported by device",	19},
47    {"not a directory",				20},
48    {"is a directory",				21},
49    {"invalid argument",			22},
50    {"file too large",				27},
51    {"no space on device",			28},
52    {"readonly filesystem",			30},
53    {"too many links",				31},
54    {"operation would block",			35},
55    {"file name too long",			63},
56    {"directory not empty",			66},
57    {"quota exceeded",				69},
58    {"stale file handle",			70},
59    {"too many levels of remote in path",	71},
60    {"bad file handle",				10001},
61    {"not sync",				10002},
62    {"bad cookie",				10003},
63    {"operation not supported",			10004},
64    {"too small",				10005},
65    {"server fault",				10006},
66    {"bad type",				10007},
67    {"jukebox",					10008},
68    {"not mounted",				10009},
69    {"in maintenace mode",			10010},
70    {"stale ACL",				10011},
71    {NULL, 					0},
72    {"unknown command status",			0}
73};
74
75#define AAC_COMMAND_STATUS(x)	aac_describe_code(aac_command_status_table, x)
76
77static struct aac_code_lookup aac_cpu_variant[] = {
78    {"i960JX",			CPUI960_JX},
79    {"i960CX",			CPUI960_CX},
80    {"i960HX",			CPUI960_HX},
81    {"i960RX",			CPUI960_RX},
82    {"StrongARM SA110",		CPUARM_SA110},
83    {"PowerPC 603e",		CPUPPC_603e},
84    {"Unknown StrongARM",	CPUARM_xxx},
85    {"Unknown PowerPC",		CPUPPC_xxx},
86    {NULL, 0},
87    {"Unknown processor",	0}
88};
89
90static struct aac_code_lookup aac_battery_platform[] = {
91    {"required battery present",	PLATFORM_BAT_REQ_PRESENT},
92    {"REQUIRED BATTERY NOT PRESENT",	PLATFORM_BAT_REQ_NOTPRESENT},
93    {"optional battery present",	PLATFORM_BAT_OPT_PRESENT},
94    {"optional battery not installed",	PLATFORM_BAT_OPT_NOTPRESENT},
95    {"no battery support",		PLATFORM_BAT_NOT_SUPPORTED},
96    {NULL, 0},
97    {"unknown battery platform",	0}
98};
99
100static struct aac_code_lookup aac_container_types[] = {
101    {"Volume",			CT_VOLUME},
102    {"RAID 1 (Mirror)",		CT_MIRROR},
103    {"RAID 0 (Stripe)",		CT_STRIPE},
104    {"RAID 5",			CT_RAID5},
105    {"SSRW",			CT_SSRW},
106    {"SSRO",			CT_SSRO},
107    {"Morph",			CT_MORPH},
108    {"Passthrough",		CT_PASSTHRU},
109    {"RAID 4",			CT_RAID4},
110    {"RAID 10",			CT_RAID10},
111    {"RAID 00",			CT_RAID00},
112    {"Volume of Mirrors",	CT_VOLUME_OF_MIRRORS},
113    {"Pseudo RAID 3",		CT_PSEUDO_RAID3},
114    {NULL, 0},
115    {"unknown",			0}
116};
117
118