00001
00002
00003
00004
00005
00006
00007
00008 #ifndef TCFILE_CACHE_H
00009 #define TCFILE_CACHE_H
00010
00011 #include <pom/pom/pom.h>
00012 #include <ss/ss_const.h>
00013 #include <ss/ss_types.h>
00014 #include <sa/libsa_exports.h>
00015
00022 #define NO_SECURITY 0
00023 #define SOCKET_MODE 1
00024
00025 enum file_location_type{
00026 FC_cache,
00027 FC_temp,
00028 FC_volume
00029 };
00030
00031 typedef struct IMF_file_data_s{
00032 tag_t fileTag;
00033 tag_t volumeTag;
00034 char* pathName;
00035 enum file_location_type file_loc;
00036 char* osfile_name;
00037 char* read_ticket;
00038 logical is_transient;
00039 char* orig_file_name;
00040 }IMF_file_data_t;
00041
00042 typedef struct IMF_file_data_s* IMF_file_data_p_t;
00043
00044 #ifdef __cplusplus
00045 extern "C"{
00046 #endif
00047
00048 extern SA_API int IMF_get_cache_size (
00049 float* cache_size
00050 );
00051
00052 extern SA_API int IMF_update_cache_size (
00053 float bytes_to_add,
00054 float* cache_size
00055 );
00056
00057 extern SA_API void IMF_initialize_file_cache( );
00058
00068 extern SA_API int IMF_get_file_access(
00069 tag_t file_tag,
00070 int date_offset,
00071 IMF_file_data_p_t* file_data
00072 );
00073
00077 extern SA_API int IMF_fms_get_file_access(
00078 tag_t file_tag,
00079 int date_offset,
00080 logical using_fms,
00081 IMF_file_data_p_t* file_data
00082 );
00083
00088 extern SA_API int IMF_get_filename(
00089 IMF_file_data_p_t file_data,
00090 char** osfilename
00091 );
00092
00096 extern SA_API int IMF_fms_get_filename(
00097 IMF_file_data_p_t file_data,
00098 logical using_fms,
00099 char** osfilename,
00100 char** read_ticket,
00101 logical* is_transient,
00102 char** orig_file_name
00103 );
00104
00111 extern SA_API int IMF_release_file_access(
00112 IMF_file_data_p_t* file_data
00113 );
00114
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120
00121 #include <sa/libsa_undef.h>
00122
00123 #endif