Loading...
Searching...
No Matches
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.

## Typedefs

typedef struct svn_fs_fsfs_info_t | svn_fs_fsfs_info_t
| A structure that provides some information about a filesystem.
typedef struct svn_fs_fsx_info_t | svn_fs_fsx_info_t
| A structure that provides some information about a filesystem.
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.

## Functions

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.
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.
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).

## 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

typedef struct svn_fs_fsfs_info_t 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

typedef struct svn_fs_fsx_info_t 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

typedef struct svn_fs_info_placeholder_t svn_fs_info_placeholder_t

See also
  svn_fs_info

Since
  New in 1.9.

## svn_fs_ioctl_code_t

typedef struct svn_fs_ioctl_code_t 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.