source: rtems/cpukit/libcsupport/src/close.c @ 1c6926c1

5
Last change on this file since 1c6926c1 was f97536d, checked in by Sebastian Huber <sebastian.huber@…>, on 10/16/15 at 06:21:48

basdefs.h: Add and use RTEMS_UNUSED

  • Property mode set to 100644
File size: 982 bytes
Line 
1/**
2 * @file
3 *
4 * @brief POSIX 1003.1b 6.3.1 - Close a File
5 * @ingroup libcsupport
6 */
7
8/*
9 *  COPYRIGHT (c) 1989-1999.
10 *  On-Line Applications Research Corporation (OAR).
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.rtems.org/license/LICENSE.
15 */
16
17#if HAVE_CONFIG_H
18#include "config.h"
19#endif
20
21#include <rtems/libio_.h>
22
23int close(
24  int  fd
25)
26{
27  rtems_libio_t      *iop;
28  int                 rc;
29
30  rtems_libio_check_fd(fd);
31  iop = rtems_libio_iop(fd);
32  rtems_libio_check_is_open(iop);
33
34  iop->flags &= ~LIBIO_FLAGS_OPEN;
35
36  rc = (*iop->pathinfo.handlers->close_h)( iop );
37
38  rtems_libio_free( iop );
39
40  return rc;
41}
42
43/*
44 *  _close_r
45 *
46 *  This is the Newlib dependent reentrant version of close().
47 */
48
49#if defined(RTEMS_NEWLIB) && !defined(HAVE__CLOSE_R)
50
51#include <reent.h>
52
53int _close_r(
54  struct _reent *ptr RTEMS_UNUSED,
55  int            fd
56)
57{
58  return close( fd );
59}
60#endif
Note: See TracBrowser for help on using the repository browser.