source: trunk/libs/newlib/src/newlib/libc/stdio/fcloseall.c @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.8 KB
Line 
1/*
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms are permitted
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * advertising materials, and other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley.  The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16 */
17
18/*
19FUNCTION
20<<fcloseall>>---close all files
21
22INDEX
23        fcloseall
24INDEX
25        _fcloseall_r
26
27SYNOPSIS
28        #include <stdio.h>
29        int fcloseall(void);
30        int _fcloseall_r (struct _reent *<[ptr]>);
31
32DESCRIPTION
33<<fcloseall>> closes all files in the current reentrancy struct's domain.
34The function <<_fcloseall_r>> is the same function, except the reentrancy
35struct is passed in as the <[ptr]> argument.
36
37This function is not recommended as it closes all streams, including
38the std streams.
39
40RETURNS
41<<fclose>> returns <<0>> if all closes are successful.  Otherwise,
42EOF is returned.
43
44PORTABILITY
45<<fcloseall>> is a glibc extension.
46
47Required OS subroutines: <<close>>, <<fstat>>, <<isatty>>, <<lseek>>,
48<<read>>, <<sbrk>>, <<write>>.
49*/
50/* This file based upon fwalk.c. */
51
52#include <_ansi.h>
53#include <reent.h>
54#include <stdio.h>
55#include <stdlib.h>
56#include <errno.h>
57#include "local.h"
58
59int
60_fcloseall_r (struct _reent *ptr)
61{
62  return _fwalk_reent (ptr, _fclose_r);
63}
64
65#ifndef _REENT_ONLY
66
67int
68fcloseall (void)
69{
70  return _fcloseall_r (_GLOBAL_REENT);
71}
72
73#endif
Note: See TracBrowser for help on using the repository browser.