source: rtems/cpukit/libcsupport/src/close.c @ e02d5dd9

4.115
Last change on this file since e02d5dd9 was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 993 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 __attribute__((unused)),
55  int            fd
56)
57{
58  return close( fd );
59}
60#endif
Note: See TracBrowser for help on using the repository browser.