1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 3 * 4 * Copyright (c) 2000 Michael Smith 5 * Copyright (c) 2000 BSDi 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 2. Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * $FreeBSD$ 30 */ 31 32 #if 0 33 /* 34 * Status codes for block read/write commands, etc. 35 * 36 * XXX many of these would not normally be returned, as they are 37 * relevant only to FSA operations. 38 */ 39 static const struct aac_code_lookup aac_command_status_table[] = { 40 {"OK", ST_OK}, 41 {"operation not permitted", ST_PERM}, 42 {"not found", ST_NOENT}, 43 {"I/O error", ST_IO}, 44 {"device not configured", ST_NXIO}, 45 {"too big", ST_E2BIG}, 46 {"permission denied", ST_ACCES}, 47 {"file exists", ST_EXIST}, 48 {"cross-device link", ST_XDEV}, 49 {"operation not supported by device", ST_NODEV}, 50 {"not a directory", ST_NOTDIR}, 51 {"is a directory", ST_ISDIR}, 52 {"invalid argument", ST_INVAL}, 53 {"file too large", ST_FBIG}, 54 {"no space on device", ST_NOSPC}, 55 {"readonly filesystem", ST_ROFS}, 56 {"too many links", ST_MLINK}, 57 {"operation would block", ST_WOULDBLOCK}, 58 {"file name too long", ST_NAMETOOLONG}, 59 {"directory not empty", ST_NOTEMPTY}, 60 {"quota exceeded", ST_DQUOT}, 61 {"stale file handle", ST_STALE}, 62 {"too many levels of remote in path", ST_REMOTE}, 63 {"device busy (spinning up)", ST_NOT_READY}, 64 {"bad file handle", ST_BADHANDLE}, 65 {"not sync", ST_NOT_SYNC}, 66 {"bad cookie", ST_BAD_COOKIE}, 67 {"operation not supported", ST_NOTSUPP}, 68 {"too small", ST_TOOSMALL}, 69 {"server fault", ST_SERVERFAULT}, 70 {"bad type", ST_BADTYPE}, 71 {"jukebox", ST_JUKEBOX}, 72 {"not mounted", ST_NOTMOUNTED}, 73 {"in maintenance mode", ST_MAINTMODE}, 74 {"stale ACL", ST_STALEACL}, 75 {"bus reset - command aborted", ST_BUS_RESET}, 76 {NULL, 0}, 77 {"unknown command status", 0} 78 }; 79 80 #define AAC_COMMAND_STATUS(x) aac_describe_code(aac_command_status_table, x) 81 #endif 82 83 static const struct aac_code_lookup aac_cpu_variant[] = { 84 {"i960JX", CPUI960_JX}, 85 {"i960CX", CPUI960_CX}, 86 {"i960HX", CPUI960_HX}, 87 {"i960RX", CPUI960_RX}, 88 {"i960 80303", CPUI960_80303}, 89 {"StrongARM SA110", CPUARM_SA110}, 90 {"PPC603e", CPUPPC_603e}, 91 {"XScale 80321", CPU_XSCALE_80321}, 92 {"MIPS 4KC", CPU_MIPS_4KC}, 93 {"MIPS 5KC", CPU_MIPS_5KC}, 94 {"Unknown StrongARM", CPUARM_xxx}, 95 {"Unknown PowerPC", CPUPPC_xxx}, 96 {NULL, 0}, 97 {"Unknown processor", 0} 98 }; 99 100 static const struct aac_code_lookup aac_battery_platform[] = { 101 {"required battery present", PLATFORM_BAT_REQ_PRESENT}, 102 {"REQUIRED BATTERY NOT PRESENT", PLATFORM_BAT_REQ_NOTPRESENT}, 103 {"optional battery present", PLATFORM_BAT_OPT_PRESENT}, 104 {"optional battery not installed", PLATFORM_BAT_OPT_NOTPRESENT}, 105 {"no battery support", PLATFORM_BAT_NOT_SUPPORTED}, 106 {NULL, 0}, 107 {"unknown battery platform", 0} 108 }; 109 110 static const struct aac_code_lookup aac_container_types[] = { 111 {"Volume", CT_VOLUME}, 112 {"RAID 1 (Mirror)", CT_MIRROR}, 113 {"RAID 0 (Stripe)", CT_STRIPE}, 114 {"RAID 5", CT_RAID5}, 115 {"SSRW", CT_SSRW}, 116 {"SSRO", CT_SSRO}, 117 {"Morph", CT_MORPH}, 118 {"Passthrough", CT_PASSTHRU}, 119 {"RAID 4", CT_RAID4}, 120 {"RAID 0/1", CT_RAID10}, 121 {"RAID 0/0", CT_RAID00}, 122 {"Volume of Mirrors", CT_VOLUME_OF_MIRRORS}, 123 {"Pseudo RAID 3", CT_PSEUDO_RAID3}, 124 {"RAID 0/5", CT_RAID50}, 125 {"RAID 5D", CT_RAID5D}, 126 {"RAID 0/5D", CT_RAID5D0}, 127 {"RAID 1E", CT_RAID1E}, 128 {"RAID 6", CT_RAID6}, 129 {"RAID 0/6", CT_RAID60}, 130 {NULL, 0}, 131 {"unknown", 0} 132 }; 133