summaryrefslogtreecommitdiffstats
path: root/lib/libufs/cgread.3
blob: 74e1aeff0340d09fe98627cb77a72d90a5dcfaad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
.\" Author:	Juli Mallett <jmallett@FreeBSD.org>
.\" Date:	June 04, 2003
.\" Description:
.\" 	Manual page for libufs functions:
.\"		cgread(3)
.\"		cgread1(3)
.\"
.\" This file is in the public domain.
.\"
.\" $FreeBSD$
.\"
.Dd June 04, 2003
.Dt CGREAD 3
.Os
.Sh NAME
.Nm cgread , cgread1
.Nd read cylinder groups of UFS disks
.Sh LIBRARY
.Lb libufs
.Sh SYNOPSIS
.In sys/param.h
.In sys/mount.h
.In ufs/ufs/ufsmount.h
.In ufs/ufs/dinode.h
.In ufs/ffs/fs.h
.In libufs.h
.Ft int
.Fn cgread "struct uufsd *disk"
.Ft int
.Fn cgread1 "struct uufsd *disk" "int c"
.Sh DESCRIPTION
The
.Fn cgread
and
.Fn cgread1
functions provide cylinder group reads for
.Xr libufs 3
consumers.
The
.Fn cgread1
function reads from one cylinder group, specified by
.Fa c
into the
.Fa d_cg
field of a userland UFS disk structure.
It sets the
.Fa d_lcg
field to the cylinder group number
.Fa c .
.Pp
The
.Fn cgread
function operates on sequential cylinder groups.
Calling the
.Fn cgread
function is equivalent to calling
.Nm cgread1
with a cylinder group specifier equivalent to the value of the current
.Fa d_ccg
field, and then incrementing the
.Fa d_ccg
field.
.Pp
Both functions return 0 if there are no more cylinder groups to read,
1 if there are more cylinder groups, and -1 on error.
.Sh ERRORS
The function
.Fn cgread
may fail and set
.Va errno
for any of the errors specified for the library function
.Xr bread 3 .
.Pp
The function
.Fn cgread1
has semantically identical failure conditions to those of
.Fn cgread .
.Sh SEE ALSO
.Xr bread 3 ,
.Xr libufs 3
.Sh HISTORY
These functions first appeared as part of
.Xr libufs 3
in
.Fx 5.1 .
.Sh AUTHORS
.An Juli Mallett Aq jmallett@FreeBSD.org
OpenPOWER on IntegriCloud