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.\" 144b6c8c64SRuslan Ermilov.Dd June 4, 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/param.h 24e78ea9f7SJuli Mallett.In sys/mount.h 25e78ea9f7SJuli Mallett.In ufs/ufs/ufsmount.h 26e78ea9f7SJuli Mallett.In ufs/ufs/dinode.h 27e78ea9f7SJuli Mallett.In ufs/ffs/fs.h 28e78ea9f7SJuli Mallett.In libufs.h 29e78ea9f7SJuli Mallett.Ft int 30e78ea9f7SJuli Mallett.Fn ufs_disk_close "struct uufsd *disk" 31e78ea9f7SJuli Mallett.Ft int 32e78ea9f7SJuli Mallett.Fn ufs_disk_fillout "struct uufsd *disk" "const char *name" 33e78ea9f7SJuli Mallett.Ft int 34e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank "struct uufsd *disk" "const char *name" 35e78ea9f7SJuli Mallett.Ft int 36e78ea9f7SJuli Mallett.Fn ufs_disk_write "struct uufsd *disk" 37e78ea9f7SJuli Mallett.Sh DESCRIPTION 38e78ea9f7SJuli MallettThe 39e78ea9f7SJuli Mallett.Fn ufs_disk_close 40e78ea9f7SJuli Mallettfunction closes a disk and frees internal memory related to it. 41e78ea9f7SJuli MallettIt does not free the 42e78ea9f7SJuli Mallett.Fa disk 43e78ea9f7SJuli Mallettstructure. 44e78ea9f7SJuli Mallett.Pp 45e78ea9f7SJuli MallettThe 46e78ea9f7SJuli Mallett.Fn ufs_disk_fillout 47e78ea9f7SJuli Mallettand 48e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 49e78ea9f7SJuli Mallettfunctions open a disk specified by 50e78ea9f7SJuli Mallett.Fa name 51e78ea9f7SJuli Mallettand populate the structure pointed to by 52e78ea9f7SJuli Mallett.Fa disk . 53e78ea9f7SJuli MallettThe disk is opened read-only. 54e78ea9f7SJuli MallettThe specified 55e78ea9f7SJuli Mallett.Fa name 56990b6d05SJuli Mallettmay be either a mountpoint, a device name or a filesystem image. 57e78ea9f7SJuli MallettThe 58e78ea9f7SJuli Mallett.Fn ufs_disk_fillout 59e78ea9f7SJuli Mallettfunction assumes there is a valid superblock and will fail if not, 60e78ea9f7SJuli Mallettwhereas the 61e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 62e78ea9f7SJuli Mallettfunction makes no assumptions of that sort. 63e78ea9f7SJuli Mallett.Pp 64e78ea9f7SJuli MallettThe 65e78ea9f7SJuli Mallett.Fn ufs_disk_write 66e78ea9f7SJuli Mallettfunction attempts to re-open a disk as writable if it is not currently. 67e78ea9f7SJuli Mallett.Sh ERRORS 68e78ea9f7SJuli MallettThe function 69e78ea9f7SJuli Mallett.Fn ufs_disk_close 70e78ea9f7SJuli Malletthas no failure points. 71e78ea9f7SJuli Mallett.Pp 72e78ea9f7SJuli MallettThe function 73e78ea9f7SJuli Mallett.Fn ufs_disk_fillout 74e78ea9f7SJuli Mallettmay fail for any of the reasons 75e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 76e78ea9f7SJuli Mallettmight, as well as for any reason 77e78ea9f7SJuli Mallett.Xr sbread 3 78e78ea9f7SJuli Mallettmight. 79e78ea9f7SJuli Mallett.Pp 80e78ea9f7SJuli MallettThe 81e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank 82e78ea9f7SJuli Mallettmay fail and set 83e78ea9f7SJuli Mallett.Va errno 84e78ea9f7SJuli Mallettfor any of the errors specified for the library functions 85e78ea9f7SJuli Mallett.Xr open 2 , 86dfa13bbfSJuli Mallett.Xr strdup 3 . 87e78ea9f7SJuli MallettAdditionally, it may follow the 88e78ea9f7SJuli Mallett.Xr libufs 3 89e78ea9f7SJuli Malletterror methodologies in situations where no device could be found to 90e78ea9f7SJuli Mallettopen. 91e78ea9f7SJuli Mallett.Pp 92e78ea9f7SJuli MallettThe function 93e78ea9f7SJuli Mallett.Fn ufs_disk_write 94e78ea9f7SJuli Mallettmay fail and set 95e78ea9f7SJuli Mallett.Va errno 96e78ea9f7SJuli Mallettfor any of the errors specified for the library functions 975c8e5f24SRuslan Ermilov.Xr open 2 98e78ea9f7SJuli Mallettand 995c8e5f24SRuslan Ermilov.Xr stat 2 . 100e78ea9f7SJuli MallettNamely, it will fail if the disk in question may not be written to. 101e78ea9f7SJuli Mallett.Sh SEE ALSO 1025c8e5f24SRuslan Ermilov.Xr open 2 , 103e78ea9f7SJuli Mallett.Xr getfsfile 3 , 104e78ea9f7SJuli Mallett.Xr libufs 3 , 105e78ea9f7SJuli Mallett.Xr sbread 3 106e78ea9f7SJuli Mallett.Sh HISTORY 107e78ea9f7SJuli MallettThese functions first appeared as part of 108e78ea9f7SJuli Mallett.Xr libufs 3 109e78ea9f7SJuli Mallettin 110e78ea9f7SJuli Mallett.Fx 5.0 . 111e78ea9f7SJuli Mallett.Sh AUTHORS 112*2b7af31cSBaptiste Daroussin.An Juli Mallett Aq Mt jmallett@FreeBSD.org 113