00001 /* 00002 * Copyright (c) 1998 by Tech Soft 3D, LLC. 00003 * The information contained herein is confidential and proprietary to 00004 * Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 * civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 * and criminal remedies in the event of unauthorized use or misappropriation 00007 * of its trade secrets. Use of this information by anyone other than 00008 * authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 * written non-disclosure agreement, expressly prescribing the scope and 00010 * manner of such use. 00011 * 00012 * $Id: filedata_8h-source.html,v 1.29 2008-03-10 07:09:28 stage Exp $ 00013 */ 00014 00015 #ifndef FILEDATA_DEFINED 00016 #define FILEDATA_DEFINED 00017 00018 #define FILE_BLOCK_SIZE 1024 00019 00020 #define FILE_For_Reading (int)0 00021 #define FILE_For_Writing (int)1 00022 00023 #define DIR_Select_Readable (int)0x01 00024 #define DIR_Select_Writeable (int)0x02 00025 #define DIR_Select_Executable (int)0x04 00026 #define DIR_Select_File (int)0x08 00027 #define DIR_Select_Directory (int)0x10 00028 00029 #define FILE_Warn_Once_FLOAT_ERROR 0x1 00030 00031 struct HT_File_Data { 00032 void *fhandle; 00033 char buffer[2][FILE_BLOCK_SIZE + 2]; 00034 /* Waste one byte so that 00035 &buffer[0][FILE_BLOCK_SIZE] is 00036 legal. One more to make even. */ 00037 int current_buffer; 00038 char *bp, 00039 *bpe; 00040 char *back_bp, 00041 *back_bpe; 00042 bool eof, 00043 back_eof; 00044 char const *message, 00045 *message2; 00046 int message_count; 00047 int user_data; 00048 int indent, 00049 line_size, 00050 line_position, 00051 line_number; 00052 HT_Name filename; 00053 bool for_writing, 00054 fatal_error, 00055 recovering, 00056 first_operation, 00057 forced_comment; 00058 float version; 00059 int warnings_given; 00060 }; 00061 00062 #define END_OF_FILE(fdata) ((fdata)->bpe == (fdata)->bp && (fdata)->eof) 00063 00064 #endif