MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standards, Environments, and Macros               extendedFILE(5)



NAME
     extendedFILE - enable extended FILE facility usage

SYNOPSIS
     $ ulimit -n Nfiledescriptors
     $ LDPRELOAD32=/usr/lib/extendedFILE.so.1 application [arg...]


DESCRIPTION
     The extendedFILE.so.1 is not a library but an enabler of the
     extended FILE facility.


     The extended FILE facility allows 32-bit  processes  to  use
     any  valid  file  descriptor  with  the  standard  I/O  (see
     stdio(3C)) C library functions. Historically, 32-bit  appli-
     cations  have  been limited to using the first 256 numerical
     file descriptors for use  with  standard  I/O  streams.   By
     using  the extended FILE facility this limitation is lifted.
     Any valid file descriptor can be used with standard I/O. See
     the NOTES section of enableextendedFILEstdio(3C).


     The extended FILE facility is enabled from the  shell  level
     before an application is launched. The file descriptor limit
     must also  be  raised.  The  syntax  for  raising  the  file
     descriptor limit is

       $ ulimit -n maxfiledescriptors
       $ LDPRELOAD32=/usr/lib/extendedFILE.so.1 application [arg...]



     where maxfiledescriptors is the  maximum  number  of  file
     descriptors  desired. See limit(1). The maximum value is the
     same as the maximum value for open(2).

ENVIRONMENT VARIABLES
     The following environment variables control the behavior  of
     the extended FILE facility.

     STDIOBADFD           This  variable   takes   an   integer
                            representing the lowest file descrip-
                            tor, which will  be  made  unallocat-
                            able.  This action provides a protec-
                            tion mechanism so  that  applications
                            that  abuse interfaces do not experi-
                            ence  silent  data  corruption.   The
                            value  must  be  between  3  and  255
                            inclusive.





SunOS 5.11          Last change: 18 Apr 2006                    1






Standards, Environments, and Macros               extendedFILE(5)



     STDIOBADFDSIGNAL    This variable  takes  an  integer  or
                            string representing any valid signal.
                            See signal.h(3HEAD) for valid  values
                            or strings. This environment variable
                            causes the  specified  signal  to  be
                            sent  to  the  application if certain
                            exceptional cases are detected during
                            the use of this facility. The default
                            signal is SIGABRT.


EXAMPLES
     Example 1 Limit the number  of  file  descriptors  and  FILE
     standard I/O structures.


     The following example limits the number of file  descriptors
     and FILE standard I/O structures to 1000.


       $ ulimit -n 1000
       $ LDPRELOAD32=/usr/lib/extendedFILE.so.1 application [arg...]


     Example 2 Enable the extended FILE facility.


     The following example enables the  extended  FILE  facility.
     See enableextendedFILEstdio(3C) for more examples.


       $ ulimit -n 1000
       $ STDIOBADFD=100 STDIOBADFDSIGNAL=SIGABRT \
          LDPRELOAD32=/usr/lib/extendedFILE.so.1  \
          application [arg ...]


     Example 3 Set up the extended FILE environment and start the
     application.


     The following shell script first sets up the proper extended
     FILE environment and then starts the application:


       #!/bin/sh
       if [ $# = 0 ]; then
          echo "usage: $0 application [arguments...]"
          exit 1
       fi
       ulimit -n 1000
       # STDIOBADFD=196; export STDIOBADFD



SunOS 5.11          Last change: 18 Apr 2006                    2






Standards, Environments, and Macros               extendedFILE(5)



       # STDIOBADFDSIGNAL=SIGABRT; export STDIOBADFDSIGNAL
       LDPRELOAD32=/usr/lib/extendedFILE.so.1; export LDPRELOAD32
       "$@"


FILES
     /usr/lib/extendedFILE.so.1    enabling library


ATRIBUTES
     See attributes(5)  for descriptions of the following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWcsl (32-bit)            
    
     Interface Stability          Stable                      
    
     MT-Level                     Safe                        
    


SEE ALSO
     limit(1),      open(2),      enableextendedFILEstdio(3C),
     fdopen(3C),     fopen(3C),    popen(3C),    signal.h(3HEAD),
     stdio(3C), attributes(5)

WARNINGS
     The following displayed message

       Application violated extended FILE safety mechanism.
       Please read the man page for extendedFILE.
       Aborting




     is an indication that  your  application  is  modifying  the
     internal  file  descriptor  field of the FILE structure from
     standard I/O. Continued use of this extended  FILE  facility
     could harm your data.  Do not use the extended FILE facility
     with your application.









SunOS 5.11          Last change: 18 Apr 2006                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™