1 /* 2 * Copyright (c) 1987, 1988, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. All advertising materials mentioning features or use of this software 14 * must display the following acknowledgement: 15 * This product includes software developed by the University of 16 * California, Berkeley and its contributors. 17 * 4. Neither the name of the University nor the names of its contributors 18 * may be used to endorse or promote products derived from this software 19 * without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)disklabel.h 8.2 (Berkeley) 7/10/94 34 * $FreeBSD: src/sys/sys/disklabel.h,v 1.49.2.7 2001/05/27 05:58:26 jkh Exp $ 35 */ 36 37 #ifndef _SYS_DTYPE_H_ 38 #define _SYS_DTYPE_H_ 39 40 #ifndef _SYS_TYPES_H_ 41 #include <sys/types.h> 42 #endif 43 44 /* d_type values: */ 45 #define DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */ 46 #define DTYPE_MSCP 2 /* MSCP */ 47 #define DTYPE_DEC 3 /* other DEC (rk, rl) */ 48 #define DTYPE_SCSI 4 /* SCSI */ 49 #define DTYPE_ESDI 5 /* ESDI interface */ 50 #define DTYPE_ST506 6 /* ST506 etc. */ 51 #define DTYPE_HPIB 7 /* CS/80 on HP-IB */ 52 #define DTYPE_HPFL 8 /* HP Fiber-link */ 53 #define DTYPE_FLOPPY 10 /* floppy */ 54 #define DTYPE_CCD 11 /* concatenated disk */ 55 #define DTYPE_VINUM 12 /* vinum volume */ 56 #define DTYPE_DOC2K 13 /* Msys DiskOnChip */ 57 58 #ifdef DKTYPENAMES 59 static const char *dktypenames[] = { 60 "unknown", 61 "SMD", 62 "MSCP", 63 "old DEC", 64 "SCSI", 65 "ESDI", 66 "ST506", 67 "HP-IB", 68 "HP-FL", 69 "type 9", 70 "floppy", 71 "CCD", 72 "Vinum", 73 "DOC2K", 74 NULL 75 }; 76 #define DKMAXTYPES (NELEM(dktypenames) - 1) 77 #endif 78 79 /* 80 * Filesystem type and version. 81 * Used to interpret other filesystem-specific 82 * per-partition information. 83 */ 84 #define FS_UNUSED 0 /* unused */ 85 #define FS_SWAP 1 /* swap */ 86 #define FS_V6 2 /* Sixth Edition */ 87 #define FS_V7 3 /* Seventh Edition */ 88 #define FS_SYSV 4 /* System V */ 89 #define FS_V71K 5 /* V7 with 1K blocks (4.1, 2.9) */ 90 #define FS_V8 6 /* Eighth Edition, 4K blocks */ 91 #define FS_BSDFFS 7 /* 4.2BSD fast file system */ 92 #define FS_MSDOS 8 /* MSDOS file system */ 93 #define FS_BSDLFS 9 /* 4.4BSD log-structured file system */ 94 #define FS_OTHER 10 /* in use, but unknown/unsupported */ 95 #define FS_HPFS 11 /* OS/2 high-performance file system */ 96 #define FS_ISO9660 12 /* ISO 9660, normally CD-ROM */ 97 #define FS_BOOT 13 /* partition contains bootstrap */ 98 #define FS_VINUM 14 /* Vinum drive partition */ 99 #define FS_RAID 15 100 #define FS_RESERVED16 16 101 #define FS_RESERVED17 17 102 #define FS_RESERVED18 18 103 #define FS_CCD 19 /* CCD drive partition */ 104 #define FS_RESERVED20 20 /* (CCD under FreeBSD) */ 105 #define FS_JFS2 21 106 #define FS_HAMMER 22 107 #define FS_HAMMER2 23 108 #define FS_UDF 24 109 #define FS_EFS 26 110 #define FS_ZFS 27 111 112 #ifdef DKTYPENAMES 113 114 static const char *fstypenames[] = { 115 "unused", /* 0 */ 116 "swap", /* 1 */ 117 "Version 6", /* 2 */ 118 "Version 7", /* 3 */ 119 "System V", /* 4 */ 120 "4.1BSD", /* 5 */ 121 "Eighth Edition", /* 6 */ 122 "4.2BSD", /* 7 */ 123 "MSDOS", /* 8 */ 124 "4.4LFS", /* 9 */ 125 "unknown", /* 10 */ 126 "HPFS", /* 11 */ 127 "ISO9660", /* 12 */ 128 "boot", /* 13 */ 129 "vinum", /* 14 */ 130 "raid", /* 15 */ 131 "?", /* 16 */ 132 "?", /* 17 */ 133 "?", /* 18 */ 134 "ccd", /* 19 */ 135 "?", /* 20 (do not reuse, bug in freebsd) */ 136 "jfs", /* 21 */ 137 "HAMMER", /* 22 */ 138 "HAMMER2", /* 23 */ 139 "UDF", /* 24 */ 140 "?", /* 25 */ 141 "EFS", /* 26 */ 142 "ZFS", /* 27 */ 143 NULL 144 }; 145 146 static const char *fstype_to_vfsname[] = { 147 NULL, /* 0 */ 148 NULL, /* 1 */ 149 NULL, /* 2 */ 150 NULL, /* 3 */ 151 NULL, /* 4 */ 152 NULL, /* 5 */ 153 NULL, /* 6 */ 154 "ufs", /* 7 */ 155 "msdos", /* 8 */ 156 NULL, /* 9 */ 157 NULL, /* 10 */ 158 "hpfs", /* 11 */ 159 "cd9660", /* 12 */ 160 NULL, /* 13 */ 161 NULL, /* 14 */ 162 NULL, /* 15 */ 163 NULL, /* 16 */ 164 NULL, /* 17 */ 165 NULL, /* 18 */ 166 NULL, /* 19 */ 167 NULL, /* 20 */ 168 NULL, /* 21 */ 169 "hammer", /* 22 */ 170 "hammer2", /* 23 */ 171 "udf", /* 24 */ 172 NULL, /* 25 */ 173 NULL, /* 26 */ 174 NULL, /* 27 */ 175 NULL 176 }; 177 178 #define FSMAXTYPES (NELEM(fstypenames) - 1) 179 180 #endif 181 182 #endif /* SYS_DTYPE_H_ */ 183