1 /*=========================================================================== 2 * 3 * PUBLIC DOMAIN NOTICE 4 * National Center for Biotechnology Information 5 * 6 * This software/database is a "United States Government Work" under the 7 * terms of the United States Copyright Act. It was written as part of 8 * the author's official duties as a United States Government employee and 9 * thus cannot be copyrighted. This software/database is freely available 10 * to the public for use. The National Library of Medicine and the U.S. 11 * Government have not placed any restriction on its use or reproduction. 12 * 13 * Although all reasonable efforts have been taken to ensure the accuracy 14 * and reliability of the software and data, the NLM and the U.S. 15 * Government do not and cannot warrant the performance or results that 16 * may be obtained by using this software or data. The NLM and the U.S. 17 * Government disclaim all warranties, express or implied, including 18 * warranties of performance, merchantability or fitness for any particular 19 * purpose. 20 * 21 * Please cite the author in any work or product based on this material. 22 * 23 * =========================================================================== 24 * 25 */ 26 27 #ifndef _h_kfg_properties_ 28 #define _h_kfg_properties_ 29 30 #ifndef _h_kfg_extern_ 31 #include <kfg/extern.h> 32 #endif 33 34 #ifndef _h_kfg_config_ 35 #include <kfg/config.h> 36 #endif 37 38 #ifndef _h_kfg_ngc_ 39 #include <kfg/ngc.h> 40 #endif 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 47 /* get/set HTTP proxy path */ 48 KFG_EXTERN rc_t CC KConfig_Get_Http_Proxy_Path 49 ( const KConfig *self, char *buffer, size_t buffer_size, size_t *written ); 50 KFG_EXTERN rc_t CC KConfig_Set_Http_Proxy_Path 51 ( KConfig *self, const char *value ); 52 53 /* get/set enabled-state for HTTP proxy */ 54 KFG_EXTERN rc_t CC KConfig_Get_Http_Proxy_Enabled 55 ( const KConfig *self, bool *enabled, bool dflt ); 56 KFG_EXTERN rc_t CC KConfig_Set_Http_Proxy_Enabled 57 ( KConfig *self, bool enabled ); 58 59 /* get/set priority of environmnet vs. configuration for HTTP proxy */ 60 KFG_EXTERN rc_t CC KConfig_Has_Http_Proxy_Env_Higher_Priority 61 ( const KConfig *self, bool *enabled ); 62 KFG_EXTERN rc_t CC KConfig_Set_Http_Proxy_Env_Higher_Priority 63 ( KConfig *self, bool enabled ); 64 65 66 /* get the %HOME% path from config 67 */ 68 KFG_EXTERN rc_t CC KConfig_Get_Home( const KConfig *self, char * buffer, size_t buffer_size, size_t * written ); 69 70 /* get/set the default path for proposing a path for ngc-imports 71 */ 72 KFG_EXTERN rc_t CC KConfig_Get_Default_User_Path( const KConfig *self, char * buffer, size_t buffer_size, size_t * written ); 73 KFG_EXTERN rc_t CC KConfig_Set_Default_User_Path( const KConfig *self, const char * value ); 74 75 /* get/set the enabled-state for the 3 repository-categories 76 */ 77 KFG_EXTERN rc_t CC KConfig_Get_Remote_Access_Enabled 78 ( const KConfig *self, bool * enabled ); 79 KFG_EXTERN rc_t CC KConfig_Get_Remote_Main_Cgi_Access_Enabled 80 ( const KConfig *self, bool * enabled ); 81 KFG_EXTERN rc_t CC KConfig_Get_Remote_Aux_Ncbi_Access_Enabled 82 ( const KConfig *self, bool * enabled ); 83 84 KFG_EXTERN rc_t CC KConfig_Set_Remote_Access_Enabled( KConfig *self, bool enabled ); 85 86 KFG_EXTERN rc_t CC KConfig_Get_Site_Access_Enabled( const KConfig *self, bool * enabled ); 87 KFG_EXTERN rc_t CC KConfig_Set_Site_Access_Enabled( KConfig *self, bool enabled ); 88 89 KFG_EXTERN rc_t CC KConfig_Get_User_Access_Enabled( const KConfig *self, bool * enabled ); 90 KFG_EXTERN rc_t CC KConfig_Set_User_Access_Enabled( KConfig *self, bool enabled ); 91 92 /* get/set the use of all valid certificates 93 */ 94 KFG_EXTERN rc_t CC KConfig_Get_Allow_All_Certs( const KConfig *self, bool * enabled ); 95 KFG_EXTERN rc_t CC KConfig_Set_Allow_All_Certs( KConfig *self, bool enabled ); 96 97 /* get/set the the cache-enabled-state for the public/protected repositories 98 */ 99 KFG_EXTERN rc_t CC KConfig_Get_User_Public_Enabled( const KConfig *self, bool * enabled ); 100 KFG_EXTERN rc_t CC KConfig_Set_User_Public_Enabled( KConfig *self, bool enabled ); 101 102 KFG_EXTERN rc_t CC KConfig_Get_User_Public_Cached( const KConfig *self, bool * enabled ); 103 KFG_EXTERN rc_t CC KConfig_Set_User_Public_Cached( KConfig *self, bool enabled ); 104 105 KFG_EXTERN rc_t CC KConfig_Get_User_Protected_Cached( const KConfig *self, bool * enabled, const char * name ); 106 KFG_EXTERN rc_t CC KConfig_Set_User_Protected_Cached( KConfig *self, bool enabled, const char * name ); 107 108 109 /* get/set the the cache-location for the public/protected repositories 110 */ 111 KFG_EXTERN rc_t CC KConfig_Get_User_Public_Cache_Location( const KConfig *self, 112 char * value, size_t value_size, size_t * written ); 113 KFG_EXTERN rc_t CC KConfig_Set_User_Public_Cache_Location( KConfig *self, const char * value ); 114 115 116 /* Query protected repositories 117 */ 118 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryCount( const KConfig *self, 119 uint32_t * count ); 120 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryName( const KConfig *self, 121 uint32_t id, char * buffer, size_t buffer_size, size_t * written ); 122 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryPathById( const KConfig *self, 123 uint32_t id, char * buffer, size_t buffer_size, size_t * written ); 124 KFG_EXTERN rc_t CC KConfigSetProtectedRepositoryPathById( KConfig *self, uint32_t id, const char * value ); 125 126 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryIdByName( const KConfig *self, 127 const char * name, uint32_t * id ); 128 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryPathByName( const KConfig *self, 129 const char * name, char * buffer, size_t buffer_size, size_t * written ); 130 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryDescriptionByName( 131 const KConfig *self, 132 const char * name, char * buffer, size_t buffer_size, size_t * written ); 133 134 KFG_EXTERN rc_t CC KConfigDoesProtectedRepositoryExist( const KConfig *self, const char * name, bool * res ); 135 136 137 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryEnabledById( const KConfig *self, uint32_t id, bool * enabled ); 138 KFG_EXTERN rc_t CC KConfigSetProtectedRepositoryEnabledById( KConfig *self, uint32_t id, bool enabled ); 139 140 KFG_EXTERN rc_t CC KConfigGetProtectedRepositoryCachedById( const KConfig *self, uint32_t id, bool * enabled ); 141 KFG_EXTERN rc_t CC KConfigSetProtectedRepositoryCachedById( KConfig *self, uint32_t id, bool enabled ); 142 143 /* reads /tools/prefetch/download_to_cache 144 return true if not found */ 145 KFG_EXTERN rc_t CC KConfig_Get_Prefetch_Download_To_Cache ( const KConfig *self, bool * download_to_cache ); 146 KFG_EXTERN rc_t CC KConfig_Set_Prefetch_Download_To_Cache ( KConfig *self, bool download_to_cache ); 147 148 149 /* reads /libs/cloud/accept_aws_charges 150 returns false if not found */ 151 KFG_EXTERN rc_t CC KConfig_Get_User_Accept_Aws_Charges ( const KConfig *self, bool * accepts_charges ); 152 KFG_EXTERN rc_t CC KConfig_Set_User_Accept_Aws_Charges ( KConfig *self, bool accepts_charges ); 153 154 /* reads /libs/cloud/accept_gcp_charges 155 returns false if not found */ 156 KFG_EXTERN rc_t CC KConfig_Get_User_Accept_Gcp_Charges ( const KConfig *self, bool * accepts_charges ); 157 KFG_EXTERN rc_t CC KConfig_Set_User_Accept_Gcp_Charges ( KConfig *self, bool accepts_charges ); 158 159 /* reads /libs/cloud/report_instance_identity 160 returns false if not found */ 161 KFG_EXTERN rc_t CC KConfig_Get_Report_Cloud_Instance_Identity ( const KConfig *self, bool * value ); 162 KFG_EXTERN rc_t CC KConfig_Set_Report_Cloud_Instance_Identity ( KConfig *self, bool value ); 163 164 /* reads /libs/temp_cache */ 165 KFG_EXTERN rc_t CC KConfig_Get_Temp_Cache ( const KConfig *self, char * buffer, size_t buffer_size, size_t * written ); 166 KFG_EXTERN rc_t CC KConfig_Set_Temp_Cache ( KConfig *self, const char * value ); 167 168 /* reads /gcp/credential_file */ 169 KFG_EXTERN rc_t KConfig_Get_Gcp_Credential_File ( const KConfig *self, char * buffer, size_t buffer_size, size_t * written ); 170 KFG_EXTERN rc_t KConfig_Set_Gcp_Credential_File ( KConfig *self, const char * value ); 171 172 /* reads /aws/credential_file */ 173 KFG_EXTERN rc_t KConfig_Get_Aws_Credential_File ( const KConfig *self, char * buffer, size_t buffer_size, size_t * written ); 174 KFG_EXTERN rc_t KConfig_Set_Aws_Credential_File ( KConfig *self, const char * value ); 175 176 /* reads /aws/profile, returns "default" if missing or empty */ 177 KFG_EXTERN rc_t KConfig_Get_Aws_Profile ( const KConfig *self, char * buffer, size_t buffer_size, size_t * written ); 178 KFG_EXTERN rc_t KConfig_Set_Aws_Profile ( KConfig *self, const char * value ); 179 180 /* reads /libs/cache_amount, returns 0 if missing or empty */ 181 KFG_EXTERN rc_t CC KConfig_Get_Cache_Amount ( const KConfig *self, uint32_t * value ); 182 KFG_EXTERN rc_t CC KConfig_Set_Cache_Amount( KConfig *self, uint32_t value ); 183 184 /* getters/setters for cachetee-integration into vfs-manager */ 185 KFG_EXTERN rc_t CC KConfig_Get_CacheTeeVersion( const KConfig *self, uint32_t * value, uint32_t dflt ); 186 KFG_EXTERN rc_t CC KConfig_Set_CacheTeeVersion( KConfig *self, uint32_t value ); 187 KFG_EXTERN rc_t CC KConfig_Get_CacheBlockSize( const KConfig *self, size_t * value, size_t dflt ); 188 KFG_EXTERN rc_t CC KConfig_Set_CacheBlockSize( KConfig *self, size_t value ); 189 KFG_EXTERN rc_t CC KConfig_Get_CachePageCount( const KConfig *self, uint32_t * value, uint32_t dflt ); 190 KFG_EXTERN rc_t CC KConfig_Set_CachePageCount( KConfig *self, uint32_t value ); 191 KFG_EXTERN rc_t CC KConfig_Get_CacheClusterFactorBits( const KConfig *self, uint32_t * value, uint32_t dflt ); 192 KFG_EXTERN rc_t CC KConfig_Set_CacheClusterFactorBits( KConfig *self, uint32_t value ); 193 KFG_EXTERN rc_t CC KConfig_Get_CachePageSizeBits( const KConfig *self, uint32_t * value, uint32_t dflt ); 194 KFG_EXTERN rc_t CC KConfig_Set_CachePageSizeBits( KConfig *self, uint32_t value ); 195 KFG_EXTERN rc_t CC KConfig_Get_CacheLogUseCWD( const KConfig *self, bool * value, bool dflt ); 196 KFG_EXTERN rc_t CC KConfig_Set_CacheLogUseCWD( KConfig *self, bool value ); 197 KFG_EXTERN rc_t CC KConfig_Get_CacheLogAppend( const KConfig *self, bool * value, bool dflt ); 198 KFG_EXTERN rc_t CC KConfig_Set_CacheLogAppend( KConfig *self, bool value ); 199 KFG_EXTERN rc_t CC KConfig_Get_CacheLogTimed( const KConfig *self, bool * value, bool dflt ); 200 KFG_EXTERN rc_t CC KConfig_Set_CacheLogTimed( KConfig *self, bool value ); 201 KFG_EXTERN rc_t CC KConfig_Get_CacheLogOuter( const KConfig *self, bool * value, bool dflt ); 202 KFG_EXTERN rc_t CC KConfig_Set_CacheLogOuter( KConfig *self, bool value ); 203 KFG_EXTERN rc_t CC KConfig_Get_CacheLogInner( const KConfig *self, bool * value, bool dflt ); 204 KFG_EXTERN rc_t CC KConfig_Set_CacheLogInner( KConfig *self, bool value ); 205 206 KFG_EXTERN rc_t CC KConfig_Get_CacheDebug( const KConfig *self, bool * value, bool dflt ); 207 KFG_EXTERN rc_t CC KConfig_Set_CacheDebug( KConfig *self, bool value ); 208 209 KFG_EXTERN rc_t CC KConfig_Get_GUID( const KConfig *self, char * value, size_t value_size, size_t * written ); 210 KFG_EXTERN rc_t CC KConfig_Set_GUID( KConfig *self, const char * value ); 211 212 KFG_EXTERN rc_t CC KConfig_Get_FullQuality( const KConfig *self, bool * value ); 213 KFG_EXTERN rc_t CC KConfig_Set_FullQuality( KConfig *self, bool value ); 214 215 #ifdef __cplusplus 216 } 217 #endif 218 219 #endif /* _h_kfg_properties_ */ 220