Merge branch 'vendor/GDB'
[dragonfly.git] / lib / libfsid / libfsid.3
1 .\" Copyright (c) 2010 The DragonFly Project.  All rights reserved.
2 .\" 
3 .\" This code is derived from software contributed to The DragonFly Project
4 .\" by Akos Kovacs <akoskovacs@gmx.com>
5 .\" 
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in
14 .\"    the documentation and/or other materials provided with the
15 .\"    distribution.
16 .\" 3. Neither the name of The DragonFly Project nor the names of its
17 .\"    contributors may be used to endorse or promote products derived
18 .\"    from this software without specific, prior written permission.
19 .\" 
20 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
24 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
30 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" SUCH DAMAGE.
32 .\"
33 .Dd December 12, 2010
34 .Dt LIBFSID 3
35 .Os
36 .Sh NAME
37 .Nm fsid_probe ,
38 .Nm fsid_probe_all ,
39 .Nm fsid_volname ,
40 .Nm fsid_volname_all ,
41 .Nm fsid_fsname ,
42 .Nm fsid_fs_count
43 .Nd general libfsid functions
44 .Sh LIBRARY
45 .Lb libfsid
46 .Sh SYNOPSIS
47 .In libfsid.h
48 .Ft fsid_t
49 .Fn fsid_probe "const char *dev" "const char *fs_name"
50 .Ft fsid_t
51 .Fn fsid_probe_all "const char *dev"
52 .Ft char *
53 .Fn fsid_volname "const char *dev" "const char *fs_name"
54 .Ft char *
55 .Fn fsid_volname_all "const char *dev"
56 .Ft char *
57 .Fn fsid_fsname "fsid_t id"
58 .Ft int
59 .Fn fsid_fs_count "void"
60 .Sh DESCRIPTION
61 .\" General description
62 The
63 .Lb libfsid
64 provides an interface to determine several filesystems
65 and to get their volume labels.
66 .Pp
67 Most functions use the parameter
68 .Fa dev
69 for specifying the full path of the device and some of them have an additional
70 .Fa fs_name
71 parameter which is the name of the chosen filesystem.
72 It can be:
73 .Bl -tag -width ".Li MSDOSFS" -offset indent
74 .It Li HAMMER
75 A
76 .Xr HAMMER 5
77 filesystem
78 .It Li UFS
79 A
80 .Xr UFS 5
81 filesystem
82 .It Li CD9660
83 An ISO 9660 filesystem
84 .It Li EXT2
85 Linux' second extended filesystem
86 .It Li MSDOSFS
87 An
88 .Xr msdos 5
89 filesystem
90 .El
91 .Pp
92 .\" fsid_probe function
93 The
94 .Fn fsid_probe
95 function returns one of
96 .Dv FSID_CD9660 ,
97 .Dv FSID_EXT2 ,
98 .Dv FSID_HAMMER
99 or
100 .Dv FSID_UFS
101 if the device has the filesystem type as expected by the
102 .Fa fs_name
103 parameter, otherwise
104 .Dv FSID_UNKNOWN .
105 .Pp
106 .\" fsid_probe_all function
107 The
108 .Fn fsid_probe_all
109 function tries to identify the filesystem type.
110 It returns
111 .Dv FSID_UNKNOWN
112 if the filesystem is unknown, or the check fails.
113 Otherwise the returned value is one of:
114 .Bl -tag -width ".Dv FSID_MSDOSFS" -offset indent
115 .It Dv FSID_HAMMER
116 A
117 .Xr HAMMER 5
118 filesystem
119 .It Dv FSID_UFS
120 A
121 .Xr UFS 5
122 filesystem
123 .It Dv FSID_CD9660
124 An ISO 9660 filesystem
125 .It Dv FSID_EXT2
126 Linux' second extended filesystem
127 .It Dv FSID_MSDOSFS
128 An
129 .Xr msdos 5
130 filesystem
131 .El
132 .Pp
133 The name of the filesystem can be easily queried with the
134 .Fn fsid_fsname
135 function.
136 .Pp
137 The
138 .Fn fsid_volname
139 function returns the volume label, if the filesystem name is the same
140 as specified by
141 .Fa fs_name .
142 If not, it returns
143 .Dv NULL .
144 .Pp
145 The
146 .Fn fsid_volname_all
147 function returns the volume label, if the filesystem is known.
148 Otherwise it returns
149 .Dv NULL .
150 .Pp
151 The
152 .Fn fsid_fsname
153 function returns the name of the filesystem as a pointer to string.
154 The
155 .Fa id
156 is usually the return value of a
157 .Fn fsid_probe_all
158 call.
159 .Pp
160 The
161 .Fn fsid_fs_count
162 function returns the number of supported filesystems.
163 .Sh SEE ALSO
164 .Xr devattr 3
165 .Sh AUTHOR
166 .An -nosplit
167 The library and the manual page were written by
168 .An Akos Kovacs
169 .Aq akoskovacs@gmx.com .