]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libdisk/disklabel.c
unfinished sblive driver, playback/mixer only for now - not enabled in
[FreeBSD/FreeBSD.git] / lib / libdisk / disklabel.c
1 /*
2  * ----------------------------------------------------------------------------
3  * "THE BEER-WARE LICENSE" (Revision 42):
4  * <phk@login.dknet.dk> wrote this file.  As long as you retain this notice you
5  * can do whatever you want with this stuff. If we meet some day, and you think
6  * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
7  * ----------------------------------------------------------------------------
8  *
9  * $FreeBSD$
10  *
11  */
12
13 #include <stdio.h>
14 #include <stdlib.h>
15 #include <unistd.h>
16 #include <err.h>
17 #include <sys/disklabel.h>
18 #include "libdisk.h"
19
20 struct disklabel *
21 read_disklabel(int fd, daddr_t block)
22 {
23         struct disklabel *dp;
24
25         dp = (struct disklabel *) read_block(fd,block);
26         if (dp->d_magic != DISKMAGIC)
27                 return 0;
28         if (dp->d_magic2 != DISKMAGIC)
29                 return 0;
30         if (dkcksum(dp) != 0)
31                 return 0;
32         return dp;
33 }