source: rtems/c/src/lib/libc/fsync.c @ dd19c0b

4.104.114.84.95
Last change on this file since dd19c0b was dd19c0b, checked in by Joel Sherrill <joel.sherrill@…>, on 08/11/00 at 20:04:27

2000-08-11 Chris Johns <ccj@…>

  • libc/chmod.c: Return ENOTSUP if filesystem does not have handler.
  • libc/eval.c: Ditto.
  • libc/fcntl.c: Ditto.
  • libc/fsync.c: Ditto.
  • libc/ioctl.c: Ditto.
  • libc/ioman.c: Ditto.
  • libc/link.c: Ditto.
  • libc/memfile.c: Ditto.
  • libc/mknod.c: Ditto.
  • libc/symlink.c: Ditto.
  • libc/libio.h(rtems_filesystem_dev_major_t): New macro.
  • libc/libio.h(rtems_filesystem_dev_minor_t): New macro.
  • Property mode set to 100644
File size: 823 bytes
Line 
1/*
2 *  fsync() - POSIX 1003.1b 6.6.1 - Synchronize the State of a File
3 *
4 *  COPYRIGHT (c) 1989-1999.
5 *  On-Line Applications Research Corporation (OAR).
6 *
7 *  The license and distribution terms for this file may be
8 *  found in the file LICENSE in this distribution or at
9 *  http://www.OARcorp.com/rtems/license.html.
10 *
11 *  $Id$
12 */
13
14#include <unistd.h>
15
16#include "libio_.h"
17
18int fsync(
19  int     fd
20)
21{
22  rtems_libio_t *iop;
23
24  rtems_libio_check_fd( fd );
25  iop = rtems_libio_iop( fd );
26  rtems_libio_check_is_open(iop);
27  rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
28
29  /*
30   *  Now process the fsync().
31   */
32
33  if ( !iop->handlers )
34    set_errno_and_return_minus_one( EBADF );
35
36  if ( !iop->handlers->fsync )
37    set_errno_and_return_minus_one( ENOTSUP );
38
39  return (*iop->handlers->fsync)( iop );
40}
Note: See TracBrowser for help on using the repository browser.