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