1e78ea9f7SJuli Mallett.\" Author: Juli Mallett <jmallett@FreeBSD.org> 2e78ea9f7SJuli Mallett.\" Date: June 04, 2003 3e78ea9f7SJuli Mallett.\" Description: 4e78ea9f7SJuli Mallett.\" Manual page for libufs functions: 5e78ea9f7SJuli Mallett.\" ufs_disk_close(3) 6e78ea9f7SJuli Mallett.\" ufs_disk_fillout(3) 7e78ea9f7SJuli Mallett.\" ufs_disk_fillout_blank(3) 8e78ea9f7SJuli Mallett.\" ufs_disk_write(3) 9e78ea9f7SJuli Mallett.\" 1027fd7478SJuli Mallett.\" This file is in the public domain. 1127fd7478SJuli Mallett.\" 12e78ea9f7SJuli Mallett.\" $FreeBSD$ 13e78ea9f7SJuli Mallett.\" 14e78ea9f7SJuli Mallett.Dd June 04, 2003 15e78ea9f7SJuli Mallett.Dt UFS_DISK_CLOSE 3 16e78ea9f7SJuli Mallett.Os 17e78ea9f7SJuli Mallett.Sh NAME 18e78ea9f7SJuli Mallett.Nm ufs_disk_close , ufs_disk_fillout , ufs_disk_fillout_blank, ufs_disk_write 19e78ea9f7SJuli Mallett.Nd open and close userland UFS disks 20e78ea9f7SJuli Mallett.Sh LIBRARY 21e78ea9f7SJuli Mallett.Lb libufs 22e78ea9f7SJuli Mallett.Sh SYNOPSIS 23e78ea9f7SJuli Mallett.In sys/types.h 24e78ea9f7SJuli Mallett.In sys/param.h 25e78ea9f7SJuli Mallett.In sys/mount.h 26e78ea9f7SJuli Mallett.In ufs/ufs/ufsmount.h 27e78ea9f7SJuli Mallett.In ufs/ufs/dinode.h 28e78ea9f7SJuli Mallett.In ufs/ffs/fs.h 29e78ea9f7SJuli Mallett.In libufs.h 30e78ea9f7SJuli Mallett.Ft int 31e78ea9f7SJuli Mallett.Fn ufs_disk_close "struct uufsd *disk" 32e78ea9f7SJuli Mallett.Ft int 33e78ea9f7SJuli Mallett.Fn ufs_disk_fillout "struct uufsd *disk" "const char *name" 34e78ea9f7SJuli Mallett.Ft int 35e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank "struct uufsd *disk" "const char *name" 36e78ea9f7SJuli Mallett.Ft int 37e78ea9f7SJuli Mallett.Fn ufs_disk_write "struct uufsd *disk" 38e78ea9f7SJuli Mallett.Sh DESCRIPTION 39e78ea9f7SJuli MallettThe 40e78ea9f7SJuli Mallett.Fn ufs_disk_close 41e78ea9f7SJuli Mallettfunction closes a disk and frees internal memory related to it. 42e78ea9f7SJuli MallettIt does not free the 43e78ea9f7SJuli Mallett.Fa disk 44e78ea9f7SJuli Mallettstructure. 45e78ea9f7SJuli Mallett.Pp 46e78ea9f7SJuli MallettThe 47e78ea9f7SJuli Mallett.Fn ufs_disk_fillout 48e78ea9f7SJuli Mallettand 49e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 50e78ea9f7SJuli Mallettfunctions open a disk specified by 51e78ea9f7SJuli Mallett.Fa name 52e78ea9f7SJuli Mallettand populate the structure pointed to by 53e78ea9f7SJuli Mallett.Fa disk . 54e78ea9f7SJuli MallettThe disk is opened read-only. 55e78ea9f7SJuli MallettThe specified 56e78ea9f7SJuli Mallett.Fa name 57e78ea9f7SJuli Mallettmay be either a mountpoint, or a device name. 58e78ea9f7SJuli MallettThe 59e78ea9f7SJuli Mallett.Fn ufs_disk_fillout 60e78ea9f7SJuli Mallettfunction assumes there is a valid superblock and will fail if not, 61e78ea9f7SJuli Mallettwhereas the 62e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 63e78ea9f7SJuli Mallettfunction makes no assumptions of that sort. 64e78ea9f7SJuli Mallett.Pp 65e78ea9f7SJuli MallettThe 66e78ea9f7SJuli Mallett.Fn ufs_disk_write 67e78ea9f7SJuli Mallettfunction attempts to re-open a disk as writable if it is not currently. 68e78ea9f7SJuli Mallett.Sh ERRORS 69e78ea9f7SJuli MallettThe function 70e78ea9f7SJuli Mallett.Fn ufs_disk_close 71e78ea9f7SJuli Malletthas no failure points. 72e78ea9f7SJuli Mallett.Pp 73e78ea9f7SJuli MallettThe function 74e78ea9f7SJuli Mallett.Fn ufs_disk_fillout 75e78ea9f7SJuli Mallettmay fail for any of the reasons 76e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 77e78ea9f7SJuli Mallettmight, as well as for any reason 78e78ea9f7SJuli Mallett.Xr sbread 3 79e78ea9f7SJuli Mallettmight. 80e78ea9f7SJuli Mallett.Pp 81e78ea9f7SJuli MallettThe 82e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 83e78ea9f7SJuli Mallettmay fail and set 84e78ea9f7SJuli Mallett.Va errno 85e78ea9f7SJuli Mallettfor any of the errors specified for the library functions 86e78ea9f7SJuli Mallett.Xr open 2 , 87dfa13bbfSJuli Mallett.Xr strdup 3 . 88e78ea9f7SJuli MallettAdditionally, it may follow the 89e78ea9f7SJuli Mallett.Xr libufs 3 90e78ea9f7SJuli Malletterror methodologies in situations where no device could be found to 91e78ea9f7SJuli Mallettopen. 92e78ea9f7SJuli Mallett.Pp 93e78ea9f7SJuli MallettThe function 94e78ea9f7SJuli Mallett.Fn ufs_disk_write 95e78ea9f7SJuli Mallettmay fail and set 96e78ea9f7SJuli Mallett.Va errno 97e78ea9f7SJuli Mallettfor any of the errors specified for the library functions 98e78ea9f7SJuli Mallett.Xr open 3 99e78ea9f7SJuli Mallettand 100e78ea9f7SJuli Mallett.Xr stat 3 . 101e78ea9f7SJuli MallettNamely, it will fail if the disk in question may not be written to. 102e78ea9f7SJuli Mallett.Sh SEE ALSO 103e78ea9f7SJuli Mallett.Xr getfsfile 3 , 104e78ea9f7SJuli Mallett.Xr libufs 3 , 105e78ea9f7SJuli Mallett.Xr open 3 , 106e78ea9f7SJuli Mallett.Xr sbread 3 107e78ea9f7SJuli Mallett.Sh HISTORY 108e78ea9f7SJuli MallettThese functions first appeared as part of 109e78ea9f7SJuli Mallett.Xr libufs 3 110e78ea9f7SJuli Mallettin 111e78ea9f7SJuli Mallett.Fx 5.0 . 112e78ea9f7SJuli Mallett.Sh AUTHORS 113e78ea9f7SJuli Mallett.An Juli Mallett Aq jmallett@FreeBSD.org 114