/usr/include/ncbi-vdb/vfs/manager-priv.h is in libncbi-vdb-dev 2.8.1+dfsg-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | /*===========================================================================
*
* PUBLIC DOMAIN NOTICE
* National Center for Biotechnology Information
*
* This software/database is a "United States Government Work" under the
* terms of the United States Copyright Act. It was written as part of
* the author's official duties as a United States Government employee and
* thus cannot be copyrighted. This software/database is freely available
* to the public for use. The National Library of Medicine and the U.S.
* Government have not placed any restriction on its use or reproduction.
*
* Although all reasonable efforts have been taken to ensure the accuracy
* and reliability of the software and data, the NLM and the U.S.
* Government do not and cannot warrant the performance or results that
* may be obtained by using this software or data. The NLM and the U.S.
* Government disclaim all warranties, express or implied, including
* warranties of performance, merchantability or fitness for any particular
* purpose.
*
* Please cite the author in any work or product based on this material.
*
* ===========================================================================
*
*/
#ifndef _h_vfs_manager_priv_
#define _h_vfs_manager_priv_
#ifndef _h_vfs_extern_
#include <vfs/extern.h>
#endif
#ifndef _h_klib_defs_
#include <klib/defs.h>
#endif
#ifndef _h_kfs_defs_
#include <kfs/defs.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
struct VFSManager;
struct KDirectory;
struct KFile;
struct VPath;
struct VResolver;
struct SRAPath;
struct KConfig;
/* this resembles the interface functions in manager.h
* but allows the use of a KDirectory for the base instead of a VPath
* of a directory
*
* this is expected to be more temporary if this code base continues.
* much longer
*/
VFS_EXTERN rc_t CC VFSManagerResolvePathRelativeDir (const struct VFSManager * self,
uint32_t flags,
const struct KDirectory * base_dir,
const struct VPath * in_path,
struct VPath ** out_path);
/* bad interface. Bad! Bad!
* but needed to hack VFS into KDB
* MORE THAN BAD. REFLECTS A TOTAL MISUNDERSTANDING OF FS.
*/
VFS_EXTERN rc_t CC VFSManagerOpenFileReadDirectoryRelative (const struct VFSManager *self,
const struct KDirectory * dir, struct KFile const **f, const struct VPath * path);
VFS_EXTERN rc_t CC VFSManagerOpenFileReadDirectoryRelativeDecrypt (const struct VFSManager *self,
const struct KDirectory * dir, struct KFile const **f, const struct VPath * path);
VFS_EXTERN rc_t CC VFSManagerOpenDirectoryReadDirectoryRelative ( const struct VFSManager *self,
struct KDirectory const * dir, struct KDirectory const **d, const struct VPath * path );
VFS_EXTERN rc_t CC VFSManagerOpenDirectoryReadDirectoryRelativeDecrypt ( const struct VFSManager *self,
struct KDirectory const * dir, struct KDirectory const **d, const struct VPath * path );
VFS_EXTERN rc_t CC VFSManagerOpenDirectoryUpdateDirectoryRelative ( const struct VFSManager *self,
struct KDirectory const * dir, struct KDirectory **d, const struct VPath * path );
#define VPathMakeDirectoryRelative LegacyVPathMakeDirectoryRelative
VFS_EXTERN rc_t CC VPathMakeDirectoryRelative ( struct VPath ** new_path,
struct KDirectory const * dir, const char * posix_path);
VFS_EXTERN rc_t CC VFSManagerOpenFileReadDecrypt (const struct VFSManager *self,
struct KFile const **f,
const struct VPath * path);
/*
* quick hack for vdb-validate for immediate testing release
*/
VFS_EXTERN rc_t CC VFSManagerWGAValidateHack (const struct VFSManager * self,
const struct KFile * file,
const char * path); /* we'll move this to a vpath */
/*
* Access to VFSManager's instance of configuration object, for testing purposes
*/
VFS_EXTERN const struct KConfig* CC VFSManagerGetConfig(const struct VFSManager * self);
/* Make using a custom KConfig
*/
VFS_EXTERN rc_t CC VFSManagerMakeFromKfg ( struct VFSManager ** pmanager,
struct KConfig * cfg );
/*
* Set/get pathname of the object_id/object_name bindings file (used for testing; should go away when the functionality
* is rolled into KeyRing server)
* Set to NULL to use the default location ("~/.ncbi/objid.mapping")
*/
VFS_EXTERN void VFSManagerSetBindingsFile(struct VFSManager * self, const char* path);
VFS_EXTERN const char* VFSManagerGetBindingsFile(struct VFSManager * self);
/** Reset VResolver when we need to change protected repository context */
VFS_EXTERN rc_t CC VFSManagerSetResolver
( struct VFSManager * self, struct VResolver * resolver );
/* GetCacheRoot
* query the cache-root
*
* path [ OUT ] - VPath of location of current cache-root
*/
VFS_EXTERN rc_t CC VFSManagerGetCacheRoot ( const struct VFSManager * self,
struct VPath const ** path );
/* SetCacheRoot
* set a new cache-root
*
* path [ IN ] - VPath of new location of cache-root
*/
VFS_EXTERN rc_t CC VFSManagerSetCacheRoot ( const struct VFSManager * self,
struct VPath const * path );
/* DeleteCacheOlderThan
* delete old cached files
*
* days [ IN ] - files older than this will be deleted
*
*/
VFS_EXTERN rc_t CC VFSManagerDeleteCacheOlderThan ( const struct VFSManager * self,
uint32_t days );
#ifdef __cplusplus
}
#endif
#endif /* _h_vfs_manager_priv_ */
|