Merge branch 'vendor/TNFTP'
[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 Ákos Kovács <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 A simple interface for filesystem recognising.
46 Programs should be linked with
47 .Fl lfsid .
48 .Sh SYNOPSIS
49 .In libfsid.h
50 .Ft int
51 .Fn fsid_probe "const char *dev" "const char *fs_type"
52 .Ft int
53 .Fn fsid_probe_all "const char *dev"
54 .Ft char *
55 .Fn fsid_volname "const char *dev" "const char *fs_type"
56 .Ft char *
57 .Fn fsid_volname_all "const char *dev"
58 .Ft char *
59 .Fn fsid_fsname "int id"
60 .Ft int
61 .Fn fsid_fs_count "void"
62 .Sh DESCRIPTION
63 .Pp
64 .\" General description
65 The 
66 .Lb libfsid
67 provides an interface to determine several filesystems
68 and to get their volume labels.
69 .Pp
70 Big part of the functions use the first parameter
71 .Fa dev
72 as the full path of the device, some of them has additionally an
73 .Fa fs_type
74 parameter wich is the name of the choosen filesystem. It can be:
75 .Pp
76 .Bd -literal -offset indent -compact
77 HAMMER          HAMMER
78 UFS             UFS
79 CD9660          ISO 9660
80 EXT2            Extended 2
81 MSDOSFS         FAT32, FAT16
82 .Ed
83 .Pp
84 .Pp
85 .\" fsid_probe function
86 The
87 .Fn fsid_probe
88 returns 1 if the device has the filesystem type as expected by the
89 .Fa fs_type
90 parameter, otherwise 0.
91 .Pp
92 .\" fsid_probe_all function
93 .Fn fsid_probe_all
94 function try to identify the filesystem type, it returns 0 if the filesystem unknown, or the check fails. Otherwise the returned value is one of this macros:
95 .Pp
96 .Bd -literal -offset indent -compact
97 FSID_HAMMER     HAMMER
98 FSID_UFS        UFS
99 FSID_CD9660     ISO 9660
100 FSID_EXT2       Extended 2
101 FSID_MSDOSFS    FAT32, FAT16
102 .Ed
103 .Pp
104 The name of the filesystem can easily queried with the
105 .Fn fsid_fsname .
106 .Pp
107 .Fn fsid_volname
108 function returns with the volume label, if the filesystem is the same as the
109 .Fa fs_type ,
110 if not just returns with 
111 .Dv NULL .
112 .Pp
113 .Fn fsid_volname_all
114 give back the volume label, if the filesystem known otherwise returns with
115 .Dv NULL .
116 .Pp
117 .Fn fsid_fsname
118 give back the name of the filesystem as a pointer to string. The
119 .Fa id
120 is mostly the return value of the
121 .Fn fsid_probe_all .
122 .Pp
123 .Fn fsid_fs_count
124 return with a number of supported filesystems.
125 .Sh AUTHOR
126 The library and the manual page wrote by Ákos Kovács <akoskovacs@gmx.com>.
127 .Sh SEE ALSO
128 .Xr devattr 3