📄 fs-loader.h
字号:
svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*delete_node)(svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*copied_from)(svn_revnum_t *rev_p, const char **path_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*closest_copy)(svn_fs_root_t **root_p, const char **path_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool); /* Property operations */ svn_error_t *(*node_prop)(svn_string_t **value_p, svn_fs_root_t *root, const char *path, const char *propname, apr_pool_t *pool); svn_error_t *(*node_proplist)(apr_hash_t **table_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*change_node_prop)(svn_fs_root_t *root, const char *path, const char *name, const svn_string_t *value, apr_pool_t *pool); svn_error_t *(*props_changed)(int *changed_p, svn_fs_root_t *root1, const char *path1, svn_fs_root_t *root2, const char *path2, apr_pool_t *pool); /* Directories */ svn_error_t *(*dir_entries)(apr_hash_t **entries_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*make_dir)(svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*copy)(svn_fs_root_t *from_root, const char *from_path, svn_fs_root_t *to_root, const char *to_path, apr_pool_t *pool); svn_error_t *(*revision_link)(svn_fs_root_t *from_root, svn_fs_root_t *to_root, const char *path, apr_pool_t *pool); /* Files */ svn_error_t *(*file_length)(svn_filesize_t *length_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*file_md5_checksum)(unsigned char digest[], svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*file_contents)(svn_stream_t **contents, svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*make_file)(svn_fs_root_t *root, const char *path, apr_pool_t *pool); svn_error_t *(*apply_textdelta)(svn_txdelta_window_handler_t *contents_p, void **contents_baton_p, svn_fs_root_t *root, const char *path, const char *base_checksum, const char *result_checksum, apr_pool_t *pool); svn_error_t *(*apply_text)(svn_stream_t **contents_p, svn_fs_root_t *root, const char *path, const char *result_checksum, apr_pool_t *pool); svn_error_t *(*contents_changed)(int *changed_p, svn_fs_root_t *root1, const char *path1, svn_fs_root_t *root2, const char *path2, apr_pool_t *pool); svn_error_t *(*get_file_delta_stream)(svn_txdelta_stream_t **stream_p, svn_fs_root_t *source_root, const char *source_path, svn_fs_root_t *target_root, const char *target_path, apr_pool_t *pool); /* Merging. */ svn_error_t *(*merge)(const char **conflict_p, svn_fs_root_t *source_root, const char *source_path, svn_fs_root_t *target_root, const char *target_path, svn_fs_root_t *ancestor_root, const char *ancestor_path, apr_pool_t *pool);} root_vtable_t;typedef struct history_vtable_t{ svn_error_t *(*prev)(svn_fs_history_t **prev_history_p, svn_fs_history_t *history, svn_boolean_t cross_copies, apr_pool_t *pool); svn_error_t *(*location)(const char **path, svn_revnum_t *revision, svn_fs_history_t *history, apr_pool_t *pool);} history_vtable_t;typedef struct id_vtable_t{ svn_string_t *(*unparse)(const svn_fs_id_t *id, apr_pool_t *pool); int (*compare)(const svn_fs_id_t *a, const svn_fs_id_t *b);} id_vtable_t;/*** Definitions of the abstract FS object types ***//* These are transaction properties that correspond to the bitfields in the 'flags' argument to svn_fs_lock(). */#define SVN_FS_PROP_TXN_CHECK_LOCKS SVN_PROP_PREFIX "check-locks"#define SVN_FS_PROP_TXN_CHECK_OOD SVN_PROP_PREFIX "check-ood"struct svn_fs_t{ /* The pool in which this fs object is allocated */ apr_pool_t *pool; /* The path to the repository's top-level directory */ char *path; /* A callback for printing warning messages */ svn_fs_warning_callback_t warning; void *warning_baton; /* The filesystem configuration */ apr_hash_t *config; /* An access context indicating who's using the fs */ svn_fs_access_t *access_ctx; /* FSAP-specific vtable and private data */ fs_vtable_t *vtable; void *fsap_data;};struct svn_fs_txn_t{ /* The filesystem to which this transaction belongs */ svn_fs_t *fs; /* The revision on which this transaction is based, or SVN_INVALID_REVISION if the transaction is not based on a revision at all */ svn_revnum_t base_rev; /* The ID of this transaction */ const char *id; /* FSAP-specific vtable and private data */ txn_vtable_t *vtable; void *fsap_data;};struct svn_fs_root_t{ /* A pool managing this root */ apr_pool_t *pool; /* The filesystem to which this root belongs */ svn_fs_t *fs; /* The kind of root this is */ svn_boolean_t is_txn_root; /* For transaction roots, the name of the transaction */ const char *txn; /* For transaction roots, flags describing the txn's behavior. */ apr_uint32_t txn_flags; /* For revision roots, the number of the revision. */ svn_revnum_t rev; /* FSAP-specific vtable and private data */ root_vtable_t *vtable; void *fsap_data;};struct svn_fs_history_t{ /* FSAP-specific vtable and private data */ history_vtable_t *vtable; void *fsap_data;};struct svn_fs_id_t{ /* FSAP-specific vtable and private data */ id_vtable_t *vtable; void *fsap_data;};struct svn_fs_access_t{ /* An authenticated username using the fs */ const char *username; /* A collection of lock-tokens supplied by the fs caller. Hash maps (const char *) UUID --> (void *) 1 fs functions should really only be interested whether a UUID exists as a hash key at all; the value is irrelevant. */ apr_hash_t *lock_tokens;};#ifdef __cplusplus}#endif /* __cplusplus */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -