Subversion
Data Structures | Macros | Typedefs | Functions
Filesystem information subsystem

Data Structures

struct  svn_fs_fsfs_info_t
 A structure that provides some information about a filesystem. More...
 
struct  svn_fs_fsx_info_t
 A structure that provides some information about a filesystem. More...
 
struct  svn_fs_info_placeholder_t
 
struct  svn_fs_ioctl_code_t
 A structure specifying the filesystem-specific input/output operation. More...
 

Macros

#define SVN_FS_DECLARE_IOCTL_CODE(name, fs_type, code)   static const svn_fs_ioctl_code_t name = { fs_type, code }
 A convenience macro to declare svn_fs_ioctl_code_t codes. More...
 

Typedefs

typedef struct svn_fs_fsfs_info_t svn_fs_fsfs_info_t
 A structure that provides some information about a filesystem. More...
 
typedef struct svn_fs_fsx_info_t svn_fs_fsx_info_t
 A structure that provides some information about a filesystem. More...
 
typedef struct svn_fs_info_placeholder_t svn_fs_info_placeholder_t
 
typedef struct svn_fs_ioctl_code_t svn_fs_ioctl_code_t
 A structure specifying the filesystem-specific input/output operation. More...
 

Functions

svn_error_tsvn_fs_info (const svn_fs_info_placeholder_t **fs_info, svn_fs_t *fs, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
 Set *fs_info to a struct describing fs. More...
 
void * svn_fs_info_dup (const void *info, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
 Return a duplicate of info, allocated in result_pool. More...
 
svn_error_tsvn_fs_ioctl (svn_fs_t *fs, svn_fs_ioctl_code_t ctlcode, void *input, void **output_p, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
 Issue a filesystem-specific input/output operation defined by ctlcode (usually, a low-level operation which cannot be expressed by other filesystem APIs). More...
 

Detailed Description

Macro Definition Documentation

◆ SVN_FS_DECLARE_IOCTL_CODE

#define SVN_FS_DECLARE_IOCTL_CODE (   name,
  fs_type,
  code 
)    static const svn_fs_ioctl_code_t name = { fs_type, code }

A convenience macro to declare svn_fs_ioctl_code_t codes.

Since
New in 1.13.

Definition at line 3524 of file svn_fs.h.

Typedef Documentation

◆ svn_fs_fsfs_info_t

A structure that provides some information about a filesystem.

Returned by svn_fs_info() for SVN_FS_TYPE_FSFS filesystems.

Note
Fields may be added to the end of this structure in future versions. Therefore, users shouldn't allocate structures of this type, to preserve binary compatibility.
Since
New in 1.9.

◆ svn_fs_fsx_info_t

A structure that provides some information about a filesystem.

Returned by svn_fs_info() for SVN_FS_TYPE_FSX filesystems.

Note
Fields may be added to the end of this structure in future versions. Therefore, users shouldn't allocate structures of this type, to preserve binary compatibility.
Since
New in 1.9.

◆ svn_fs_info_placeholder_t

See also
svn_fs_info
Since
New in 1.9.

◆ svn_fs_ioctl_code_t

A structure specifying the filesystem-specific input/output operation.

See also
svn_fs_ioctl()
Since
New in 1.13.

Function Documentation

◆ svn_fs_info()

svn_error_t* svn_fs_info ( const svn_fs_info_placeholder_t **  fs_info,
svn_fs_t fs,
apr_pool_t *  result_pool,
apr_pool_t *  scratch_pool 
)

Set *fs_info to a struct describing fs.

The type of the struct depends on the backend: for SVN_FS_TYPE_FSFS, the struct will be of type svn_fs_fsfs_info_t; for SVN_FS_TYPE_FSX, it will be of type svn_fs_fsx_info_t; otherwise, the struct is guaranteed to be (compatible with) svn_fs_info_placeholder_t.

See also
svn_fs_fsfs_info_t, svn_fs_fsx_info_t
Since
New in 1.9.

◆ svn_fs_info_dup()

void* svn_fs_info_dup ( const void *  info,
apr_pool_t *  result_pool,
apr_pool_t *  scratch_pool 
)

Return a duplicate of info, allocated in result_pool.

The returned struct will be of the same type as the passed-in struct, which itself must have been returned from svn_fs_info() or svn_fs_info_dup(). No part of the new structure will be shared with info (except static string constants). Use scratch_pool for temporary allocations.

See also
svn_fs_info_placeholder_t, svn_fs_fsfs_info_t
Since
New in 1.9.

◆ svn_fs_ioctl()

svn_error_t* svn_fs_ioctl ( svn_fs_t fs,
svn_fs_ioctl_code_t  ctlcode,
void *  input,
void **  output_p,
svn_cancel_func_t  cancel_func,
void *  cancel_baton,
apr_pool_t *  result_pool,
apr_pool_t *  scratch_pool 
)

Issue a filesystem-specific input/output operation defined by ctlcode (usually, a low-level operation which cannot be expressed by other filesystem APIs).

If fs is NULL, issue a global operation. If fs is not NULL, issue an operation that is specific to this filesystem instance.

If the filesystem cannot handle this ioctl code, return the SVN_ERR_FS_UNRECOGNIZED_IOCTL_CODE error.

Allocate the result in result_pool, use scratch_pool for temporary allocations.

See also
svn_fs_ioctl_code_t
Since
New in 1.13.