Lines Matching refs:vtoc
1 /* $NetBSD: vtoc.c,v 1.4 2008/04/28 20:23:18 martin Exp $ */
33 __KERNEL_RCSID(0, "$NetBSD: vtoc.c,v 1.4 2008/04/28 20:23:18 martin Exp $");
50 #include <machine/vtoc.h>
57 vtoc_sector(void *rwops, struct vtoc_sector *vtoc, int start)
60 if (!sector_read(rwops, (void *)vtoc, start + VTOC_SECTOR))
63 if (!vtoc_sanity(vtoc))
70 vtoc_find_bfs(const struct vtoc_sector *vtoc)
74 if (!vtoc_valid(vtoc)) {
75 printf("invalid VTOC\n");
79 for (i = 0; i < vtoc->npartitions; i++)
80 if (vtoc->partition[i].tag == VTOC_TAG_STAND)
83 if (i == vtoc->npartitions) {
88 return &vtoc->partition[i];
92 vtoc_valid(const struct vtoc_sector *vtoc)
95 return (vtoc->magic == VTOC_MAGIC) && (vtoc->version == VTOC_VERSION);
99 vtoc_sanity(const struct vtoc_sector *vtoc)
102 if (!vtoc_valid(vtoc)) {
103 DPRINTF("Invalid VTOC.\n");
107 DPRINTF("[VTOC] (%d byte)\n", sizeof *vtoc);
109 vtoc->bootinfo[0], vtoc->bootinfo[1], vtoc->bootinfo[2]);
110 DPRINTF("Magic = %08x\n", vtoc->magic);
111 DPRINTF("Version = %d\n", vtoc->version);
112 DPRINTF("Volume = %s\n", vtoc->volume);
113 DPRINTF("Sector size = %d\n", vtoc->sector_size_byte);
114 DPRINTF("# of partitions = %d\n", vtoc->npartitions);
116 vtoc_print_partition_table(vtoc->partition);