freopen man page on SmartOS

Printed from http://www.polarhome.com/service/man/?qf=freopen&af=0&tf=2&of=SmartOS

FREOPEN(3C)							   FREOPEN(3C)

NAME
       freopen - open a stream

SYNOPSIS
       #include <stdio.h>

       FILE *freopen(const char *filename, const char *mode, FILE *stream);

DESCRIPTION
       The freopen() function first attempts to flush the stream and close any
       file descriptor associated with stream. Failure to flush or  close  the
       file  successfully is ignored. The error and end-of-file indicators for
       the stream are cleared.

       The freopen() function opens the file  whose  pathname  is  the	string
       pointed	to  by filename and associates the stream pointed to by stream
       with it. The mode argument is used just as in fopen(3C).

       If filename is a null pointer and the  application  comforms  to	 SUSv3
       (see  standards(5)), the freopen() function attempts to change the mode
       of the stream to that specified by mode, as though the name of the file
       currently  associated  with  the	 stream	 had been used.	 The following
       changes of mode are permitted, depending upon the access	 mode  of  the
       file descriptor underlying the stream:

	   o	  When	+  is  specified,  the	file  descriptor  mode must be
		  O_RDWR.

	   o	  When r is  specified,	 the  file  descriptor	mode  must  be
		  O_RDONLY or O_RDWR.

	   o	  When	a  or w is specified, the file descriptor mode must be
		  O_WRONLY or O_RDWR.

       If the filename is a null pointer and the application does not  comform
       to SUSv3, freopen() returns a null pointer.

       The original stream is closed regardless of whether the subsequent open
       succeeds.

       After a successful call to the freopen() function, the  orientation  of
       the stream is cleared, the encoding rule is cleared, and the associated
       mbstate_t object is set to describe an initial conversion state.

       The largest value that can be represented correctly  in	an  object  of
       type  off_t  will be established as the offset maximum in the open file
       description.

RETURN VALUES
       Upon successful completion, freopen()  returns  the  value  of  stream.
       Otherwise,  a null pointer is returned and errno is set to indicate the
       error.

ERRORS
       The freopen() function will fail if:

       EACCES
		       Search permission is denied on a component of the  path
		       prefix,	or  the file exists and the permissions speci‐
		       fied by mode are denied, or the file does not exist and
		       write  permission is denied for the parent directory of
		       the file to be created.

       EBADF
		       The application comforms to SUSv3, the  filename	 argu‐
		       ment  is a null pointer, and either the underlying file
		       descriptor is not valid or the mode specified when  the
		       underlying  file descriptor was opened does not support
		       the file access modes requested by the mode argument.

       EFAULT
		       The application does not comform to SUSv3 and the file‐
		       name argument is a null pointer.

       EINTR
		       A signal was caught during freopen().

       EISDIR
		       The  named  file is a directory and mode requires write
		       access.

       ELOOP
		       Too many symbolic links were encountered	 in  resolving
		       path.

       EMFILE
		       There are {OPEN_MAX} file descriptors currently open in
		       the calling process.

       ENAMETOOLONG
		       The length of the  filename  exceeds  {PATH_MAX}	 or  a
		       pathname component is longer than {NAME_MAX}.

       ENFILE
		       The maximum allowable number of files is currently open
		       in the system.

       ENOENT
		       A component of filename does not name an existing  file
		       or filename is an empty string.

       ENOSPC
		       The directory or file system that would contain the new
		       file cannot be expanded, the file does not  exist,  and
		       it was to be created.

       ENOTDIR
		       A component of the path prefix is not a directory.

       ENXIO
		       The  named file is a character special or block special
		       file, and the device associated with this special  file
		       does not exist.

       EOVERFLOW
		       The current value of the file position cannot be repre‐
		       sented correctly in an object of type off_t.

       EROFS
		       The named file resides on a read-only file  system  and
		       mode requires write access.

       The freopen() function may fail if:

       EINVAL
		       The value of the mode argument is not valid.

       ENAMETOOLONG
		       Pathname	 resolution  of	 a  symbolic  link produced an
		       intermediate result whose length exceeds {PATH_MAX}.

       ENOMEM
		       Insufficient storage space is available.

       ENXIO
		       A request was made of a	non-existent  device,  or  the
		       request was outside the capabilities of the device.

       ETXTBSY
		       The file is a pure procedure (shared text) file that is
		       being executed and mode requires write access.

USAGE
       The freopen() function  is  typically  used  to	attach	the  preopened
       streams	associated  with  stdin,  stdout and stderr to other files. By
       default stderr is unbuffered, but the use of freopen() will cause it to
       become buffered or line-buffered.

       The  freopen()  function	 has  a transitional interface for 64-bit file
       offsets.	 See lf64(5).

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       fclose(3C), fdopen(3C), fopen(3C), stdio(3C),  attributes(5),  lf64(5),
       standards(5)

				 Jul 24, 2002			   FREOPEN(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net