Copyright (c) 2011 Apple Computer, Inc. All rights reserved.

@APPLE_LICENSE_HEADER_START@

The contents of this file constitute Original Code as defined in and
are subject to the Apple Public Source License Version 1.1 (the
"License"). You may not use this file except in compliance with the
License. Please obtain a copy of the License at
http://www.apple.com/publicsource and read it before using this file.

This Original Code and all software distributed under the License are
distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
License for the specific language governing rights and limitations
under the License.

@APPLE_LICENSE_HEADER_END@

.Dd October .Dt SYNC_VOLUME_NP 3 .Os .Sh NAME .Nm sync_volume_np .Nd Sync a mounted filesystem .Sh LIBRARY .Lb libc .Sh SYNOPSIS n unistd.h .Ft int .Fn sync_volume_np "const char *path" "int flags" .Ft int .Fn fsync_volume_np "int fd" "int flags" .Sh DESCRIPTION The .Fn sync_volume_np function causes data and metadata on the filesystem containing .Ar path to be synced to disk; this may be any file or directory on that filesystem. The .Fn fsync_volume_np does the same thing, but using an open file descriptor for that filesystem. Both functions take a flags parameter, with the currently-defined options: l -tag -width SYNC_VOLUME_FULLSYNC -offset indent t SYNC_VOLUME_FULLSYNC Request that the data and metadata be written to the disk hardware; if not set, then the hardware may keep it in cache. t SYNC_VOLUME_WAIT Wait for the data and metadata to be written; if not set, then it will return when the requests have been made. .El .Sh RETURN VALUES Both functions return 0 on success, and a non-zero error code on error. .Sh ERRORS The .Fn fsync_volume_np function may return .Er EBADF if the .Ar fd parameter is not a valid, open file descriptor. The .Fn sync_volume_np function may return errors if: l -tag -width ENAMETOOLONG t Bq Er EACCES Search permission is denied for a component of the path prefix. t Bq Er EIO An I/O error occurs while reading from or writing to the file system. t Bq Er ELOOP Too many symbolic links are encountered in translating the pathname. This is taken to be indicative of a looping symbolic link. t Bq Er ENAMETOOLONG A component of a pathname exceeds {NAME_MAX} characters, or an entire path name exceeds {PATH_MAX} characters. t Bq Er ENOENT The named file does not exist. t Bq Er ENOTDIR A component of the path prefix is not a directory. .El