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