Main Page | Modules | Files | Functions | Code Elements | Data Structures | Deprecated

sa/tcfile_cache.h

Go to the documentation of this file.
00001 /*==============================================================================
00002                 Copyright (c) 2003-2005 UGS Corporation
00003                    Unpublished - All Rights Reserved
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