📄 disklabel.h
字号:
u_int8_t p_fstype;
u_int8_t p_frag;
union {
u_int16_t cpg;
u_int16_t sgs;
} __partition_u1;
} d_partitions[OLDMAXPARTITIONS];
};
#endif /* __HAVE_OLD_DISKLABEL */
#else /* _LOCORE */
/*
* offsets for asm boot files.
*/
.set d_secsize,40
.set d_nsectors,44
.set d_ntracks,48
.set d_ncylinders,52
.set d_secpercyl,56
.set d_secperunit,60
.set d_end_,276 /* size of disk label */
#endif /* _LOCORE */
/* d_type values: */
#define DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */
#define DTYPE_MSCP 2 /* MSCP */
#define DTYPE_DEC 3 /* other DEC (rk, rl) */
#define DTYPE_SCSI 4 /* SCSI */
#define DTYPE_ESDI 5 /* ESDI interface */
#define DTYPE_ST506 6 /* ST506 etc. */
#define DTYPE_HPIB 7 /* CS/80 on HP-IB */
#define DTYPE_HPFL 8 /* HP Fiber-link */
#define DTYPE_FLOPPY 10 /* floppy */
#define DTYPE_CCD 11 /* concatenated disk device */
#define DTYPE_VND 12 /* vnode pseudo-disk */
#define DTYPE_ATAPI 13 /* ATAPI */
#define DTYPE_RAID 14 /* RAIDframe */
#define DTYPE_LD 15 /* logical disk */
#define DTYPE_JFS2 16 /* IBM JFS2 */
#define DTYPE_CGD 17 /* cryptographic pseudo-disk */
#define DTYPE_VINUM 18 /* vinum volume */
#ifdef DKTYPENAMES
static const char *const dktypenames[] = {
"unknown",
"SMD",
"MSCP",
"old DEC",
"SCSI",
"ESDI",
"ST506",
"HP-IB",
"HP-FL",
"type 9",
"floppy",
"ccd",
"vnd",
"ATAPI",
"RAID",
"ld",
"jfs",
"cgd",
"vinum",
NULL
};
#define DKMAXTYPES (sizeof(dktypenames) / sizeof(dktypenames[0]) - 1)
#endif
/*
* Filesystem type and version.
* Used to interpret other filesystem-specific
* per-partition information.
*
* These are used only for COMPAT_09 support.
*/
#define FS_UNUSED 0 /* unused */
#define FS_SWAP 1 /* swap */
#define FS_V6 2 /* Sixth Edition */
#define FS_V7 3 /* Seventh Edition */
#define FS_SYSV 4 /* System V */
#define FS_V71K 5 /* V7 with 1K blocks (4.1, 2.9) */
#define FS_V8 6 /* Eighth Edition, 4K blocks */
#define FS_BSDFFS 7 /* 4.2BSD fast file system */
#define FS_MSDOS 8 /* MSDOS file system */
#define FS_BSDLFS 9 /* 4.4BSD log-structured file system */
#define FS_OTHER 10 /* in use, but unknown/unsupported */
#define FS_HPFS 11 /* OS/2 high-performance file system */
#define FS_ISO9660 12 /* ISO 9660, normally CD-ROM */
#define FS_BOOT 13 /* partition contains bootstrap */
#define FS_ADOS 14 /* AmigaDOS fast file system */
#define FS_HFS 15 /* Macintosh HFS */
#define FS_FILECORE 16 /* Acorn Filecore Filing System */
#define FS_EX2FS 17 /* Linux Extended 2 file system */
#define FS_NTFS 18 /* Windows/NT file system */
#define FS_RAID 19 /* RAIDframe component */
#define FS_CCD 20 /* concatenated disk component */
#define FS_JFS2 21 /* IBM JFS2 */
#define FS_APPLEUFS 22 /* Apple UFS */
/* XXX this is not the same as FreeBSD. How to solve? */
#define FS_VINUM 23 /* Vinum */
/* Adjust the FSMAXTYPES def below if you add something after APPLEUFS */
#ifdef FSTYPENAMES
static const char *const fstypenames[] = {
"unused",
"swap",
"Version 6",
"Version 7",
"System V",
"4.1BSD",
"Eighth Edition",
"4.2BSD",
"MSDOS",
"4.4LFS",
"unknown",
"HPFS",
"ISO9660",
"boot",
"ADOS",
"HFS",
"FILECORE",
"Linux Ext2",
"NTFS",
"RAID",
"ccd",
"jfs",
"Apple UFS",
"vinum",
NULL
};
#define FSMAXTYPES (sizeof(fstypenames) / sizeof(fstypenames[0]) - 1)
#else
#define FSMAXTYPES (FS_VINUM + 1)
#endif
#ifdef FSCKNAMES
/* These are the names MOUNT_XXX from <sys/mount.h> */
static const char *const fscknames[] = {
NULL, /* unused */
NULL, /* swap */
NULL, /* Version 6 */
NULL, /* Version 7 */
NULL, /* System V */
NULL, /* 4.1BSD */
NULL, /* Eighth edition */
"ffs", /* 4.2BSD */
"msdos", /* MSDOS */
"lfs", /* 4.4LFS */
NULL, /* unknown */
NULL, /* HPFS */
NULL, /* ISO9660 */
NULL, /* boot */
NULL, /* ADOS */
NULL, /* HFS */
NULL, /* FILECORE */
"ext2fs", /* Linux Ext2 */
NULL, /* Windows/NT */
NULL, /* RAID Component */
NULL, /* concatenated disk component */
NULL, /* IBM JFS2 */
"ffs", /* Apple UFS */
NULL /* NULL */
};
#define FSMAXNAMES (sizeof(fscknames) / sizeof(fscknames[0]) - 1)
#endif
#ifdef MOUNTNAMES
/* These are the names MOUNT_XXX from <sys/mount.h> */
static const char *const mountnames[] = {
NULL, /* unused */
NULL, /* swap */
NULL, /* Version 6 */
NULL, /* Version 7 */
NULL, /* System V */
NULL, /* 4.1BSD */
NULL, /* Eighth edition */
"ffs", /* 4.2BSD */
"msdos", /* MSDOS */
"lfs", /* 4.4LFS */
NULL, /* unknown */
NULL, /* HPFS */
"cd9660", /* ISO9660 */
NULL, /* boot */
"ados", /* ADOS */
NULL, /* HFS */
"filecore", /* FILECORE */
"ext2fs", /* Linux Ext2 */
"ntfs", /* Windows/NT */
NULL, /* RAID Component */
NULL, /* concatenated disk component */
NULL, /* IBM JFS2 */
"ffs", /* Apple UFS */
NULL /* NULL */
};
#define FSMAXMOUNTNAMES (sizeof(mountnames) / sizeof(mountnames[0]) - 1)
#endif
/*
* flags shared by various drives:
*/
#define D_REMOVABLE 0x01 /* removable media */
#define D_ECC 0x02 /* supports ECC */
#define D_BADSECT 0x04 /* supports bad sector forw. */
#define D_RAMDISK 0x08 /* disk emulator */
#define D_CHAIN 0x10 /* can do back-back transfers */
/*
* Drive data for SMD.
*/
#define d_smdflags d_drivedata[0]
#define D_SSE 0x1 /* supports skip sectoring */
#define d_mindist d_drivedata[1]
#define d_maxdist d_drivedata[2]
#define d_sdist d_drivedata[3]
/*
* Drive data for ST506.
*/
#define d_precompcyl d_drivedata[0]
#define d_gap3 d_drivedata[1] /* used only when formatting */
/*
* Drive data for SCSI.
*/
#define d_blind d_drivedata[0]
#ifndef _LOCORE
/*
* Structure used to perform a format or other raw operation,
* returning data and/or register values. Register identification
* and format are device- and driver-dependent. Currently unused.
*/
struct format_op {
char *df_buf;
int df_count; /* value-result */
daddr_t df_startblk;
int df_reg[8]; /* result */
};
/*
* Structure used internally to retrieve information about a partition
* on a disk.
*/
struct partinfo {
struct disklabel *disklab;
struct partition *part;
};
#ifdef _KERNEL
struct disk;
void diskerr __P((const struct buf *, const char *, const char *, int,
int, const struct disklabel *));
u_int dkcksum __P((struct disklabel *));
int setdisklabel __P((struct disklabel *, struct disklabel *, u_long,
struct cpu_disklabel *));
const char *readdisklabel __P((dev_t, void (*)(struct buf *),
struct disklabel *, struct cpu_disklabel *));
int writedisklabel __P((dev_t, void (*)(struct buf *), struct disklabel *,
struct cpu_disklabel *));
int bounds_check_with_label __P((struct disk *, struct buf *, int));
int bounds_check_with_mediasize __P((struct buf *, int, u_int64_t));
#endif
#endif /* _LOCORE */
#if !defined(_KERNEL) && !defined(_LOCORE)
#if 0 /* XXX ffsdrv */
#include <sys/cdefs.h>
#endif
#endif
#endif /* !_SYS_DISKLABEL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -