OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.18.0/] [libgloss/] [or32/] [fstat-uart.c] - Blame information for rev 300

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 207 jeremybenn
/* fstat-uart.c. Implementation of the _fstat syscall for newlib with UART
2
 
3
   Copyright (C) 2004, Jacob Bower
4
   Copyright (C) 2010, Embecosm Limited <info@embecosm.com>
5
 
6
   Contributor Jeremy Bennett <jeremy.bennett@embecosm.com>
7
 
8
   This file is part of Newlib.
9
 
10
   The original work by Jacob Bower is provided as-is without any kind of
11
   warranty. Use it at your own risk!
12
 
13
   All subsequent work is bound by version 3 of the GPL as follows.
14
 
15
   This program is free software; you can redistribute it and/or modify it
16
   under the terms of the GNU General Public License as published by the Free
17
   Software Foundation; either version 3 of the License, or (at your option)
18
   any later version.
19
 
20
   This program is distributed in the hope that it will be useful, but WITHOUT
21
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
23
   more details.
24
 
25
   You should have received a copy of the GNU General Public License along
26
   with this program.  If not, see <http:#www.gnu.org/licenses/>.             */
27
/* -------------------------------------------------------------------------- */
28
/* This program is commented throughout in a fashion suitable for processing
29
   with Doxygen.                                                              */
30
/* -------------------------------------------------------------------------- */
31
 
32
#include <errno.h>
33
#include <sys/stat.h>
34
#include <unistd.h>
35
 
36
 
37
#undef errno
38
extern int  errno;
39
 
40
 
41
/* -------------------------------------------------------------------------- */
42
/*!Status of an open file when using a UART
43
 
44
   We only know about stdin, stdout and stderr, and treat these as character
45
   special files. All other files are erroneous.
46
 
47
   Remember that this function is *not* reentrant, so no static state should
48
   be held.
49
 
50
   @return  0 on success, with the struct stat appropriately updated. -1 on
51
            failure, with an error code in the global variable errno.         */
52
/* -------------------------------------------------------------------------- */
53
int
54
_fstat (int          file,
55
        struct stat *st)
56
{
57
  if ((STDIN_FILENO  == file) ||
58
      (STDERR_FILENO == file) ||
59
      (STDOUT_FILENO == file))
60
    {
61
      st->st_mode = S_IFCHR;
62
      return  0;
63
    }
64
  else
65
    {
66
      errno = EBADF;
67
      return  -1;
68
    }
69
}       /* _fstat () */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.