summaryrefslogtreecommitdiffstats
path: root/include/stdio.h
Commit message (Collapse)AuthorAgeFilesLines
* Add an implementation of open_memstream() and open_wmemstream(). Thesejhb2013-02-271-0/+1
| | | | | | | | | routines provide write-only stdio FILE objects that store their data in a dynamically allocated buffer. They are a string builder interface somewhat akin to a completely dynamic sbuf. Reviewed by: bde, jilles (earlier versions) MFC after: 1 month
* Add fmemopen(3), an interface to get a FILE * from a buffer in memory, alonggahr2013-01-301-0/+1
| | | | | | | | with the respective regression test. See http://pubs.opengroup.org/onlinepubs/9699919799/functions/fmemopen.html Reviewed by: cognet Approved by: cognet
* Correctly expose xlocale functions if people include the headers in the wrongtheraven2012-03-281-0/+3
| | | | | | order (as some ports apparently do). Approved by: dim (mentor)
* In POSIX.1-2008:delphij2011-12-281-1/+1
| | | | | | | | | | P_tmpdir [OB XSI] Default directory prefix for tempnam(). This macro is used in a lot of places in legacy applications, and is why we see a lot of programs written for e.g. Linux store volatile temporary files in /var/tmp and not /tmp. MFC after: 2 months
* Restore __is_threaded in C++ mode. Some Google stuff needs it apparently.theraven2011-12-251-1/+3
| | | | | Reported by: swills Approved by: dim (mentor)
* Replace __const by const in all non-contributed source code.ed2011-12-131-2/+2
| | | | | | As C1X is close to being released, there is no need to wrap around a feature that is already part of C90. Most of these files already use `const' in different placed as well.
* The spec says that FILE must be defined in wchar.h, but it wasn't. Ittheraven2011-11-131-3/+8
| | | | | | | is now. Also hide some macros in C++ mode that will break C++ namespaced calls. Approved by: dim (mentor)
* Remove stale reference to UT_NAMESIZE from <stdio.h>.ed2010-08-061-2/+1
| | | | Spotted by: bde@
* Remove the Berkeley clause 3's.imp2010-02-161-5/+1
| | | | Add a few $FreeBSD$
* Merge fmtcheck() prototype change.delphij2009-06-231-1/+1
| | | | Obtained from: NetBSD
* Make programs that define a macro called `dprintf' more likely to work.das2009-03-251-1/+1
|
* Namespace: dprintf() and getline() are in P1003.1-2008.das2009-03-141-2/+2
|
* Add dprintf() and vdprintf() from POSIX.1-2008. Like getline(),das2009-03-041-4/+20
| | | | | | dprintf() is a simple wrapper around another function, so we may as well implement it. But also like getline(), we can't prototype it by default right now because it would break too many ports.
* Add renameat to the POSIX.1-2008 namespace.das2009-03-041-1/+1
|
* - Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(),das2009-02-281-0/+39
| | | | | | | | | | | | wcscasecmp(), and wcsncasecmp(). - Make some previously non-standard extensions visible if POSIX_VISIBLE >= 200809. - Use restrict qualifiers in stpcpy(). - Declare off_t and size_t in stdio.h. - Bump __FreeBSD_version in case the new symbols (particularly getline()) cause issues with ports. Reviewed by: standards@
* Tag FILE's _bf as being part of the public ABI as well due to the in-treejhb2008-05-071-1/+1
| | | | sort(1) referencing it.
* Retire the __fgetcookie(), __fgetpendout(), and __fsetfileno() accessorsjhb2008-05-051-6/+0
| | | | as we aren't hiding FILE's internals anymore.
* Note that FILE's __cookie is also part of the public ABI.jhb2008-05-051-1/+1
|
* Expose FILE's internals to the world again in all their glory. Restorejhb2008-05-051-4/+172
| | | | | all the previous inline optimizations as well. FILE is back to using __mbstate_t, struct pthread *, and struct pthread_mutex *.
* Unbreak build: gnu sort has been configured to grope inside structmarcel2008-05-031-0/+3
| | | | | | | __sFILE. It's opaque now, so add a function that returns the pending output bytes. Pointy hat: jhb
* Unbreak build: libftpio gropes inside struct __sFILE. Implementmarcel2008-05-031-0/+3
| | | | | | | | accessor functions for its benefit now thaat FILE is opaque. I'm sure there's a better way. I leave that for people to work on in a src tree that isn't broken. Pointy hat: jhb
* Axe now-empty __BSD_VISIBLE block that held renameat().jhb2008-05-021-2/+0
| | | | | Reported by: kib Pointy hat: jhb
* - Move declaration of renameat() to the existing section of BSD_VISIBLEjhb2008-05-021-6/+6
| | | | | | | function prototypes. - Fix a few whitespace inconsistencies in prototypes. MFC after: 1 month
* Next round of stdio changes: Remove all inlining of stdio operations andjhb2008-05-021-172/+4
| | | | | | | | | | | | | | | | move the definition of the type backing FILE (struct __sFILE) into an internal header. - Remove macros to inline certain operations from stdio.h. Applications will now always call the functions instead. - Move the various foo_unlocked() functions from unlocked.c into foo.c. This lets some of the inlining macros (e.g. __sfeof()) move into foo.c. - Update a few comments. - struct __sFILE can now go back to using mbstate_t, pthread_t, and pthread_mutex_t instead of knowing about their private, backing types. MFC after: 1 month Reviewed by: kan
* Next stage of stdio cleanup: Retire __sFILEX and merge the fields back intojhb2008-04-171-4/+7
| | | | | | | | | | | | | | | | | | | __sFILE. This was supposed to be done in 6.0. Some notes: - Where possible I restored the various lines to their pre-__sFILEX state. - Retire INITEXTRA() and just initialize the wchar bits (orientation and mbstate) explicitly instead. The various places that used INITEXTRA didn't need the locking fields or _up initialized. (Some places needed _up to exist and not be off the end of a NULL or garbage pointer, but they didn't require it to be initialized to a specific value.) - For now, stdio.h "knows" that pthread_t is a 'struct pthread *' to avoid namespace pollution of including all the pthread types in stdio.h. Once we remove all the inlines and make __sFILE private it can go back to using pthread_t, etc. - This does not remove any of the inlines currently and does not change any of the public ABI of 'FILE'. MFC after: 1 month Reviewed by: peter
* Specifically mark the members of 'FILE' that are accessed via inlinejhb2008-04-171-6/+10
| | | | | | functions or macros since they are part of the public ABI as a result. MFC after: 1 month
* Add the libc glue and headers definitions for the *at() syscalls.kib2008-03-311-0/+3
| | | | | | | Based on the submission by rdivacky, sponsored by Google Summer of Code 2007 Reviewed by: rwatson, rdivacky Tested by: pho
* Allow an application to define FOPEN_MAX (like we allow for OPEN_MAXjb2008-03-261-0/+2
| | | | in sys/syslimits.h).
* - Remove SEEK_DATA and SEEK_HOLE from stdio.h, they don't belong here.pjd2007-04-071-6/+0
| | | | | | | - Only define SEEK_DATA and SEEK_HOLE in sys/unistd.h when neither _POSIX_SOURCE nor _XOPEN_SOURCE is defined. Pointed out by: bde, ache
* Implement SEEK_DATA and SEEK_HOLE extensions to lseek(2) as found inpjd2007-04-051-0/+6
| | | | | | OpenSolaris. For more information please refer to: http://blogs.sun.com/bonwick/entry/seek_hole_and_seek_data
* Add a prototype for fcloseall().deischen2006-04-221-0/+1
|
* Analogous to __printflike and __scanflike, add the macro __format_arg whichstefanf2006-01-261-6/+1
| | | | | | | expands to the GCC format_arg attribute if supported. This fixes a syntax error in <nl_types.h> for compilers/tools not implementing the GCC __attribute__ extensions.
* Remove outdated comments.tjr2004-06-201-3/+1
|
* Bring back the macro versions of getwc(), getwchar(), putwc() andtjr2004-05-271-0/+3
| | | | | putwchar(), but this time avoid redundantly declaring __stdinp and __stdoutp when source files include both <stdio.h> and <wchar.h>.
* Parenthesize function names in masking macros for getc() etc. for thetjr2004-03-201-6/+6
| | | | benefit of obsolete C preprocessors.
* Re-add macro versions of getc(), getchar(), putc(), putchar(), feof(),tjr2004-03-171-0/+16
| | | | | | | ferror(), fileno() and clearerr(), using the value of __isthreaded to decide between the fast inline single-threaded code and the more general function equivalent. This gives most of the performance benefits of the old unsafe macros while preserving thread safety.
* Change the definition of NULL on ia64 (for LP64 compilations) frommarcel2003-12-071-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | an int constant to a long constant. This change improves consistency in the following two ways: 1. The first 8 arguments are always passed in registers on ia64, which by virtue of the generated code implicitly widens ints to longs and allows the use of an 32-bit integral type for 64-bit arguments. Subsequent arguments are passed onto the memory stack, which does not exhibit the same behaviour and consequently do not allow this. In practice this means that variadic functions taking pointers and given NULL (without cast) work as long as the NULL is passed in one of the first 8 arguments. A SIGSEGV is more likely the result if such would be done for stack-based arguments. This is due to the fact that the upper 4 bytes remain undefined. 2. All 64-bit platforms that FreeBSD supports, with the obvious exception of ia64, allow 32-bit integral types (specifically NULL) when 64-bit pointers are expected in variadic functions by way of how the compiler generates code. As such, code that works correctly (whether rightfully so or not) on any platform other than ia64, may fail on ia64. To more easily allow tweaking of the definition of NULL, this commit removes the 12 definitions in the various headers and puts it in a new header that can be included whenever NULL is to be made visible. This commit fixes GNOME, emacs, xemacs and a whole bunch of ports that I don't particularly care about at this time...
* Add prototypes for the non-standard _unlocked functions.tjr2003-01-131-0/+6
|
* Use a weak reference instead of a macro to make vfscanf an aliastjr2002-10-141-11/+2
| | | | for __vfscanf.
* Add restrict type-qualifier.mike2002-10-121-16/+12
|
* Zap the early-adopter transition aid before we get into seriouspeter2002-10-111-8/+0
| | | | | 5.0-R territory, as threatened. This only affects antique 5.0 systems that have not had a 'make world' done for well over a year.
* o Move location of the fpos_t typedef to be closer to other typedefs.mike2002-10-061-14/+33
| | | | | | | | | | o Add typedef for va_list. o Add comment about missing restrict type-qualifiers. o Move vscanf(), vsscanf() and vfscanf() to the C99-visible block. o Add note about missing backing function for vfscanf(). o Restrict L_cuserid to only older versions of POSIX, and BSD namespaces. o Conditionalize some BSD-specific foo_unlock() macros.
* Style: One space between "restrict" qualifier and "*".tjr2002-09-061-10/+10
|
* o Merge <machine/ansi.h> and <machine/types.h> into a new headermike2002-08-211-20/+20
| | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien
* - For compliance with IEEE Std 1003.1-2001, add the 'restrict'robert2002-08-151-6/+9
| | | | | | qualifier to function prototypes and definitions where appropriate using the '__restrict' macro. - Update the manual page.
* - Introduce the 'restrict' qualifier to function prototypes androbert2002-08-151-4/+4
| | | | | definitions to comply with IEEE Std 1003.1-2001. - Update the manual pages.
* - Add the 'restrict' qualifier to the function definitions androbert2002-08-141-2/+2
| | | | | | | | public prototypes of setbuf(3) and setvbuf(3) using the '__restrict' macro from <sys/cdefs.h> to be compliant with IEEE Std 1003.1-2001. - Replace the K&R with ANSI-C function definitions. - Bring the manual page up-to-date.
* Clean up some of the rather strange structure and ordering of thiswollman2002-07-151-52/+67
| | | | | | | | file. Correct visibility conditions and order blocks of declarations in order of increasing inclusiveness. Note that [v]snprintf() is now in ISO C and f{seek,tell}o() are now in POSIX. Deprecated getw() and putw() are no longer visible in XSH6 namespace (and should probably be removed from BSD namespace as well).
* Breath deep and take __P out of the system include files.imp2002-03-231-80/+80
| | | | | | # This appears to not break X11, but I'm having problems compiling the # glide part of the server with or without this patch, so I can't tell # for sure.
* An extra #ifdef crept in with rev 1.38.obrien2001-12-051-1/+0
|
OpenPOWER on IntegriCloud