summaryrefslogtreecommitdiffstats
path: root/lib/libufs/getino.3
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2003-06-09 09:59:11 +0000
committerjmallett <jmallett@FreeBSD.org>2003-06-09 09:59:11 +0000
commit6cf3ba132390f49a24daa302ebcecc3c1691f193 (patch)
treed7c238a4f5e53bb14563252800a4324fc9de5890 /lib/libufs/getino.3
parent088f7e9d08bf2f78cbd0cb856ac83430912505d0 (diff)
downloadFreeBSD-src-6cf3ba132390f49a24daa302ebcecc3c1691f193.zip
FreeBSD-src-6cf3ba132390f49a24daa302ebcecc3c1691f193.tar.gz
Commit rudimentary libufs manual pages, except for that for
getino(3)/putino(3), inode.c has been reworked in Perforce to the point where a manual page may not be accurate. Certainly putino(3) has not even been merged back yet. These will need a lot of improvement for most applications, but they document the API enough to get someone on their feet, most likely. The best documentation still exists in the form of libufs(3) consumers in the base system.
Diffstat (limited to 'lib/libufs/getino.3')
-rw-r--r--lib/libufs/getino.3115
1 files changed, 115 insertions, 0 deletions
diff --git a/lib/libufs/getino.3 b/lib/libufs/getino.3
new file mode 100644
index 0000000..98b7d76
--- /dev/null
+++ b/lib/libufs/getino.3
@@ -0,0 +1,115 @@
+.\" Author: Juli Mallett <jmallett@FreeBSD.org>
+.\" Date: June 04, 2003
+.\" Description:
+.\" Manual page for libufs functions:
+.\" getino(3)
+.\" putino(3)
+.\"
+.\" $FreeBSD$
+.\"
+.Dd June 04, 2003
+.Dt GETINO 3
+.Os
+.Sh NAME
+.Nm getino , putino
+.Nd get and put inodes to and from UFS disks
+.Sh LIBRARY
+.Lb libufs
+.Sh SYNOPSIS
+.In sys/types.h
+.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 getino "struct uufsd *disk" "void *dino" "ino_t inode"
+.Ft int
+.Fn putino "struct uufsd *disk" "void *dino" "ino_t inode"
+.Sh DESCRIPTION
+The
+.Fn getino
+and
+.Fn putino
+functions provide the ability to put an inode to disk or read an
+inode from disk for
+.Xr libufs 3
+consumers.
+The
+.Fn getino
+function reads the inode specified by
+.Fa inode ,
+and puts a pointer to an inode with the correct type into the memory
+pointed to by
+.Fa dino .
+It maintains a cache of nearby inodes, and may simply return pointers
+into memory that are in said cache.
+The pointer it returns may be modified as if it were of the type
+.Dq struct ufs1_dinode
+or
+.Dq struct ufs2_dinode
+depending on whether the disk being operated on is UFS1 or UFS2,
+respectively.
+.Pp
+The
+.Fn putino
+function puts an inode specified to be
+.Fa inode
+to disk, given memory passed in the
+.Fa dino
+pointer, in exactly the same manner as an inode is retrieved into
+.Fa dino
+by
+.Fn getino .
+Calls to
+.Fn putino
+immediately invalidate the inode cache.
+.Pp
+Both functions return 0 on success and -1 on error.
+.Sh ERRORS
+The function
+.Fn getino
+may fail and set
+.Va errno
+for any of the errors specified for the library functions
+.Xr bread 3
+and
+.Xr malloc 3 .
+Additionally, error may be returned if the inode format cannot be
+determined.
+Error reporting conventions for
+.Xr libufs 3
+functions are followed.
+.Pp
+The function
+.Fn putino
+may fail and set
+.Va errno
+for any of the errors specified for the library functions
+.Xr bwrite 3 .
+Additionally, error may be returned if the inode format cannot be
+determined, or if the
+.Fa dino
+parameter is
+.Dv NULL .
+In the latter case, where
+.Fa dino
+is unusable,
+.Va errno
+is set to
+.Er EDOOFUS .
+Error reporting conventions for
+.Xr libufs 3
+functions are followed.
+.Sh SEE ALSO
+.Xr bread 3 ,
+.Xr bwrite 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