X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fconfig%2Fio%2Fbasic_file_stdio.h;fp=libstdc%2B%2B-v3%2Fconfig%2Fio%2Fbasic_file_stdio.h;h=eedb73be13a9130d45effab639dbd223546bf40a;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=fe6edbb70582c0aa71b6a41a4d5328946a40c677;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h index fe6edbb7..eedb73be 100644 --- a/libstdc++-v3/config/io/basic_file_stdio.h +++ b/libstdc++-v3/config/io/basic_file_stdio.h @@ -1,11 +1,12 @@ // Wrapper of C-language FILE struct -*- C++ -*- -// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) +// Free Software Foundation; either version 3, or (at your option) // any later version. // This library is distributed in the hope that it will be useful, @@ -13,19 +14,14 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. -// As a special exception, you may use this file as part of a free software -// library without restriction. Specifically, if other files instantiate -// templates or use macros or inline functions from this file, or you compile -// this file and link it with other files to produce an executable, this -// file does not by itself cause the resulting executable to be covered by -// the GNU General Public License. This exception does not however -// invalidate any other reasons why the executable file might be covered by -// the GNU General Public License. +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . // // ISO C++ 14882: 27.8 File-based streams @@ -36,16 +32,17 @@ * You should not attempt to use it directly. */ -#ifndef _CPP_BASIC_FILE -#define _CPP_BASIC_FILE 1 +#ifndef _GLIBCXX_BASIC_FILE_STDIO_H +#define _GLIBCXX_BASIC_FILE_STDIO_H 1 #pragma GCC system_header #include +#include // for __c_lock and __c_file #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Generic declaration. template class __basic_file; @@ -56,16 +53,13 @@ namespace std { // Underlying data source/sink. __c_file* _M_cfile; + // True iff we opened _M_cfile, and thus must close it ourselves. bool _M_cfile_created; public: __basic_file(__c_lock* __lock = 0); - - void - _M_open_mode(ios_base::openmode __mode, int& __p_mode, int& __rw_mode, - char* __c_mode); - + __basic_file* open(const char* __name, ios_base::openmode __mode, int __prot = 0664); @@ -73,13 +67,7 @@ namespace std sys_open(__c_file* __file, ios_base::openmode); __basic_file* - sys_open(int __fd, ios_base::openmode __mode, bool __del); - - int - sys_getc(); - - int - sys_ungetc(int); + sys_open(int __fd, ios_base::openmode __mode); __basic_file* close(); @@ -90,25 +78,31 @@ namespace std int fd(); + __c_file* + file(); + ~__basic_file(); streamsize xsputn(const char* __s, streamsize __n); streamsize - xsgetn(char* __s, streamsize __n); + xsputn_2(const char* __s1, streamsize __n1, + const char* __s2, streamsize __n2); - streamoff - seekoff(streamoff __off, ios_base::seekdir __way, - ios_base::openmode __mode = ios_base::in | ios_base::out); + streamsize + xsgetn(char* __s, streamsize __n); streamoff - seekpos(streamoff __pos, - ios_base::openmode __mode = ios_base::in | ios_base::out); + seekoff(streamoff __off, ios_base::seekdir __way); int sync(); + + streamsize + showmanyc(); }; -} // namespace std -#endif // _CPP_BASIC_FILE +_GLIBCXX_END_NAMESPACE + +#endif