Skip to main content

subversion_sys/
lib.rs

1#![allow(bad_style)]
2#![allow(non_snake_case)]
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(dead_code)]
6#![allow(clippy::upper_case_acronyms)]
7#![allow(unnecessary_transmutes)]
8#![allow(clippy::missing_safety_doc)]
9#![allow(clippy::ptr_offset_with_cast)]
10#![allow(clippy::type_complexity)]
11
12pub use apr;
13
14include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
15
16// Private libsvn_wc APIs (declared in private/svn_wc_private.h, which is not
17// installed with the public headers, so bindgen cannot pick them up). The
18// symbols are exported from libsvn_wc-1.so. They are needed to acquire a
19// working-copy write lock on an svn_wc_context_t, which is required to drive
20// svn_wc_process_committed_queue2.
21#[cfg(feature = "wc")]
22extern "C" {
23    pub fn svn_wc__acquire_write_lock(
24        lock_root_abspath: *mut *const std::os::raw::c_char,
25        wc_ctx: *mut svn_wc_context_t,
26        local_abspath: *const std::os::raw::c_char,
27        lock_anchor: svn_boolean_t,
28        result_pool: *mut apr_pool_t,
29        scratch_pool: *mut apr_pool_t,
30    ) -> *mut svn_error_t;
31
32    pub fn svn_wc__release_write_lock(
33        wc_ctx: *mut svn_wc_context_t,
34        local_abspath: *const std::os::raw::c_char,
35        scratch_pool: *mut apr_pool_t,
36    ) -> *mut svn_error_t;
37}