home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / lib / cfile.h < prev    next >
Text File  |  1998-06-08  |  3KB  |  93 lines

  1. /*
  2. THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  3. SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  4. END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  5. ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  6. IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  7. SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  8. FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  9. CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  10. AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
  11. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  12. */
  13. /*
  14.  * $Source: f:/miner/source/cfile/rcs/cfile.h $
  15.  * $Revision: 1.10 $
  16.  * $Author: john $
  17.  * $Date: 1995/03/13 15:16:47 $
  18.  * 
  19.  * Prototypes for compressed file functions...
  20.  * 
  21.  * $Log: cfile.h $
  22.  * Revision 1.10  1995/03/13  15:16:47  john
  23.  * Added alternate directory stuff.
  24.  * 
  25.  * Revision 1.9  1995/02/01  20:56:40  john
  26.  * Added cfexist function
  27.  * 
  28.  * Revision 1.8  1995/01/21  17:53:41  john
  29.  * Added alternate pig file thing.
  30.  * 
  31.  * Revision 1.7  1994/12/12  13:19:47  john
  32.  * Made cfile work with fiellentth.
  33.  * 
  34.  * Revision 1.6  1994/12/08  19:02:52  john
  35.  * Added cfgets.
  36.  * 
  37.  * Revision 1.5  1994/12/07  21:34:07  john
  38.  * Stripped out compression stuff...
  39.  * 
  40.  * Revision 1.4  1994/07/13  00:16:53  matt
  41.  * Added include
  42.  * 
  43.  * Revision 1.3  1994/02/17  17:36:19  john
  44.  * Added CF_READ_MODE and CF_WRITE_MODE constants.
  45.  * 
  46.  * Revision 1.2  1994/02/15  12:52:08  john
  47.  * Crappy inbetween version
  48.  * 
  49.  * Revision 1.1  1994/02/15  10:54:23  john
  50.  * Initial revision
  51.  * 
  52.  * Revision 1.1  1994/02/10  15:50:54  john
  53.  * Initial revision
  54.  * 
  55.  * 
  56.  */
  57.  
  58.  
  59.  
  60. #ifndef _CFILE_H
  61. #define _CFILE_H
  62.  
  63. #include <stdio.h>
  64.  
  65. typedef struct CFILE {
  66.     FILE                 *file;
  67.     int                size;
  68.     int                lib_offset;
  69.     int                raw_position;
  70. } CFILE;
  71.  
  72. CFILE * cfopen(char * filename, char * mode);
  73. int cfilelength( CFILE *fp );                            // Returns actual size of file...
  74. size_t cfread( void * buf, size_t elsize, size_t nelem, CFILE * fp );
  75. void cfclose( CFILE * cfile );
  76. int cfgetc( CFILE * fp );
  77. int cfseek( CFILE *fp, long int offset, int where );
  78. int cftell( CFILE * fp );
  79. char * cfgets( char * buf, size_t n, CFILE * fp );
  80.  
  81. int cfexist( char * filename );    // Returns true if file exists on disk (1) or in hog (2).
  82.  
  83. // Allows files to be gotten from an alternate hog file.
  84. // Passing NULL disables this.
  85. void cfile_use_alternate_hogfile( char * name );
  86.  
  87. // All cfile functions will check this directory if no file exists
  88. // in the current directory.
  89. void cfile_use_alternate_hogdir( char * path );
  90.  
  91. #endif
  92. 
  93.