#if (defined(__IBMC__) || defined(__IBMCPP__))
#pragma info( none )
#ifndef __CHKHDR__
   #pragma info( none )
#endif
#pragma info( restore )
#endif

#ifndef __io_h
   #define __io_h

   #ifdef __cplusplus
      extern "C" {
   #endif

   #ifndef  _LNK_CONV
      #ifdef _M_I386
         #define _LNK_CONV   _Optlink
      #else
         #define _LNK_CONV
      #endif
   #endif

   #ifndef _IMPORT
      #ifdef __IMPORTLIB__
         #define _IMPORT _Import
      #else
         #define _IMPORT
      #endif
   #endif

   /********************************************************************/
   /*  <io.h> header file                                              */
   /*                                                                  */
   /*  IBM VisualAge C++ for OS/2, Version 3.00                        */
   /*  (C) Copyright IBM Corp. 1991, 1995.                             */
   /*  - Licensed Material - Program-Property of IBM                   */
   /*  - All rights reserved                                           */
   /*                                                                  */
   /********************************************************************/

   #if ( defined(__SPC__) || defined(__EXTENDED__) )

      int  _IMPORT _LNK_CONV _access( const char *, int );
      int  _IMPORT _LNK_CONV _chmod( const char *, int );
      int  _IMPORT _LNK_CONV _chsize( int, long );
      int  _IMPORT _LNK_CONV _close( int );
      int  _IMPORT _LNK_CONV _creat( const char *, int );
      int  _IMPORT _LNK_CONV _dup( int );
      int  _IMPORT _LNK_CONV _dup2( int, int );
      int  _IMPORT _LNK_CONV __eof( int );
      long _IMPORT _LNK_CONV _filelength( int );
      int  _IMPORT _LNK_CONV _isatty( int );
      long _IMPORT _LNK_CONV _lseek( int, long, int );
      int  _IMPORT _LNK_CONV _open( const char *, int, ... );
      int  _IMPORT _LNK_CONV _read( int, void *, unsigned int );
      int  _IMPORT _LNK_CONV remove( const char * );
      int  _IMPORT _LNK_CONV rename( const char *, const char * );
      int  _IMPORT _LNK_CONV _sopen( const char *, int, int, ... );
      long _IMPORT _LNK_CONV _tell( int );
      int  _IMPORT _LNK_CONV _umask( int );
      int  _IMPORT _LNK_CONV _unlink( const char * );
      int  _IMPORT _LNK_CONV _write( int, const void *, unsigned int );
      int  _IMPORT _LNK_CONV _setmode(int handle, int mode);

      int  _IMPORT _LNK_CONV  access( const char *, int );
      int  _IMPORT _LNK_CONV  chmod( const char *, int );
      int  _IMPORT _LNK_CONV  chsize( int, long );
      int  _IMPORT _LNK_CONV  close( int );
      int  _IMPORT _LNK_CONV  creat( const char *, int );
      int  _IMPORT _LNK_CONV  dup( int );
      int  _IMPORT _LNK_CONV  dup2( int, int );
      int  _IMPORT _LNK_CONV  eof( int );
      long _IMPORT _LNK_CONV  filelength( int );
      int  _IMPORT _LNK_CONV  isatty( int );
      long _IMPORT _LNK_CONV  lseek( int, long, int );
      int  _IMPORT _LNK_CONV  open( const char *, int, ... );
      int  _IMPORT _LNK_CONV  read( int, void *, unsigned int );
      int  _IMPORT _LNK_CONV  sopen( const char *, int, int, ... );
      long _IMPORT _LNK_CONV  tell( int );
      int  _IMPORT _LNK_CONV  umask( int );
      int  _IMPORT _LNK_CONV  unlink( const char * );
      int  _IMPORT _LNK_CONV  write( int, const void *, unsigned int );
      int  _IMPORT _LNK_CONV  setmode(int handle, int mode);

    #if (defined(__IBMC__) || defined(__IBMCPP__))
      #ifdef __OS2__
      #pragma map( access    , "_access"     )
      #pragma map( chmod     , "_chmod"      )
      #pragma map( chsize    , "_chsize"     )
      #pragma map( close     , "_close"      )
      #pragma map( creat     , "_creat"      )
      #pragma map( dup       , "_dup"        )
      #pragma map( dup2      , "_dup2"       )
      #pragma map( eof       , "__eof"       )
      #pragma map( filelength, "_filelength" )
      #pragma map( isatty    , "_isatty"     )
      #pragma map( lseek     , "_lseek"      )
      #pragma map( open      , "_open"       )
      #pragma map( read      , "_read"       )
      #pragma map( sopen     , "_sopen"      )
      #pragma map( tell      , "_tell"       )
      #pragma map( umask     , "_umask"      )
      #ifndef __unlink
         #define __unlink
         #pragma map( unlink , "_unlink"     )
      #endif
      #pragma map( write     , "_write"      )
      #pragma map( setmode   , "_setmode"    )
      #else
      #pragma map( access    , "?_access"     )
      #pragma map( chmod     , "?_chmod"      )
      #pragma map( chsize    , "?_chsize"     )
      #pragma map( close     , "?_close"      )
      #pragma map( creat     , "?_creat"      )
      #pragma map( dup       , "?_dup"        )
      #pragma map( dup2      , "?_dup2"       )
      #pragma map( eof       , "?__eof"       )
      #pragma map( filelength, "?_filelength" )
      #pragma map( isatty    , "?_isatty"     )
      #pragma map( lseek     , "?_lseek"      )
      #pragma map( open      , "?_open"       )
      #pragma map( read      , "?_read"       )
      #pragma map( sopen     , "?_sopen"      )
      #pragma map( tell      , "?_tell"       )
      #pragma map( umask     , "?_umask"      )
      #ifndef __unlink
         #define __unlink
         #pragma map( unlink    , "?_unlink"     )
      #endif
      #pragma map( write     , "?_write"      )
      #pragma map( setmode   , "?_setmode"    )
      #endif
    #else
      #pragma Alias( access    , "_access"     )
      #pragma Alias( chmod     , "_chmod"      )
      #pragma Alias( chsize    , "_chsize"     )
      #pragma Alias( close     , "_close"      )
      #pragma Alias( creat     , "_creat"      )
      #pragma Alias( dup       , "_dup"        )
      #pragma Alias( dup2      , "_dup2"       )
      #pragma Alias( eof       , "__eof"       )
      #pragma Alias( filelength, "_filelength" )
      #pragma Alias( isatty    , "_isatty"     )
      #pragma Alias( lseek     , "_lseek"      )
      #pragma Alias( open      , "_open"       )
      #pragma Alias( read      , "_read"       )
      #pragma Alias( sopen     , "_sopen"      )
      #pragma Alias( tell      , "_tell"       )
      #pragma Alias( umask     , "_umask"      )
      #ifndef __unlink
         #define __unlink
         #pragma Alias( unlink    , "_unlink"     )
      #endif
      #pragma Alias( write     , "_write"      )
      #pragma Alias( setmode   , "_setmode"    )
    #endif

   #endif

   #ifdef __cplusplus
      }
   #endif

#endif

#if (defined(__IBMC__) || defined(__IBMCPP__))
#pragma info( none )
#ifndef __CHKDHR__
   #pragma info( restore )
#endif
#pragma info( restore )
#endif

