---
name: "libfsapfs"
section: "3"
platform: "linux"
package: "libfsapfs-dev"
version: "20240429-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/libfsapfs"
---

# libfsapfs(3)

Library to access the Apple File System (APFS) format

## NAME

**libfsapfs.h** – Library to access the Apple File System (APFS) format

## SYNOPSIS

**#include \<libfsapfs.h\>**

Support functions

*const* *char* *\**\

**libfsapfs\_get\_version**(*void*);

*int*\

**libfsapfs\_get\_access\_flags\_read**(*void*);

*int*\

**libfsapfs\_get\_codepage**(*int \*codepage*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_set\_codepage**(*int codepage*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_check\_container\_signature**(*const char \*filename*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_check\_volume\_signature**(*const char \*filename*, *libfsapfs\_error\_t \*\*error*);

Available when compiled with wide character string support:

*int*\

**libfsapfs\_check\_container\_signature\_wide**(*const wchar\_t \*filename*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_check\_volume\_signature\_wide**(*const wchar\_t \*filename*, *libfsapfs\_error\_t \*\*error*);

Available when compiled with libbfio support:

*int*\

**libfsapfs\_check\_container\_signature\_file\_io\_handle**(*libbfio\_handle\_t \*file\_io\_handle*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_check\_volume\_signature\_file\_io\_handle**(*libbfio\_handle\_t \*file\_io\_handle*, *libfsapfs\_error\_t \*\*error*);

Notify functions

*void*\

**libfsapfs\_notify\_set\_verbose**(*int verbose*);

*int*\

**libfsapfs\_notify\_set\_stream**(*FILE \*stream*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_notify\_stream\_open**(*const char \*filename*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_notify\_stream\_close**(*libfsapfs\_error\_t \*\*error*);

Error functions

*void*\

**libfsapfs\_error\_free**(*libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_error\_fprint**(*libfsapfs\_error\_t \*error*, *FILE \*stream*);

*int*\

**libfsapfs\_error\_sprint**(*libfsapfs\_error\_t \*error*, *char \*string*, *size\_t size*);

*int*\

**libfsapfs\_error\_backtrace\_fprint**(*libfsapfs\_error\_t \*error*, *FILE \*stream*);

*int*\

**libfsapfs\_error\_backtrace\_sprint**(*libfsapfs\_error\_t \*error*, *char \*string*, *size\_t size*);

Container functions

*int*\

**libfsapfs\_container\_initialize**(*libfsapfs\_container\_t \*\*container*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_free**(*libfsapfs\_container\_t \*\*container*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_signal\_abort**(*libfsapfs\_container\_t \*container*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_open**(*libfsapfs\_container\_t \*container*, *const char \*filename*, *int access\_flags*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_close**(*libfsapfs\_container\_t \*container*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_get\_size**(*libfsapfs\_container\_t \*container*, *size64\_t \*size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_get\_identifier**(*libfsapfs\_container\_t \*container*, *uint8\_t \*uuid\_data*, *size\_t uuid\_data\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_is\_locked**(*libfsapfs\_container\_t \*container*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_get\_number\_of\_volumes**(*libfsapfs\_container\_t \*container*, *int \*number\_of\_volumes*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_container\_get\_volume\_by\_index**(*libfsapfs\_container\_t \*container*, *int volume\_index*, *libfsapfs\_volume\_t \*\*volume*, *libfsapfs\_error\_t \*\*error*);

Available when compiled with wide character string support:

*int*\

**libfsapfs\_container\_open\_wide**(*libfsapfs\_container\_t \*container*, *const wchar\_t \*filename*, *int access\_flags*, *libfsapfs\_error\_t \*\*error*);

Available when compiled with libbfio support:

*int*\

**libfsapfs\_container\_open\_file\_io\_handle**(*libfsapfs\_container\_t \*container*, *libbfio\_handle\_t \*file\_io\_handle*, *int access\_flags*, *libfsapfs\_error\_t \*\*error*);

Volume functions

*int*\

**libfsapfs\_volume\_free**(*libfsapfs\_volume\_t \*\*volume*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_unlock**(*libfsapfs\_volume\_t \*volume*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_features\_flags**(*libfsapfs\_volume\_t \*volume*, *uint64\_t \*compatible\_features\_flags*, *uint64\_t \*incompatible\_features\_flags*, *uint64\_t \*read\_only\_compatible\_features\_flags*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_size**(*libfsapfs\_volume\_t \*volume*, *size64\_t \*size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_identifier**(*libfsapfs\_volume\_t \*volume*, *uint8\_t \*uuid\_data*, *size\_t uuid\_data\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_utf8\_name\_size**(*libfsapfs\_volume\_t \*volume*, *size\_t \*utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_utf8\_name**(*libfsapfs\_volume\_t \*volume*, *uint8\_t \*utf8\_string*, *size\_t utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_utf16\_name\_size**(*libfsapfs\_volume\_t \*volume*, *size\_t \*utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_utf16\_name**(*libfsapfs\_volume\_t \*volume*, *uint16\_t \*utf16\_string*, *size\_t utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_is\_locked**(*libfsapfs\_volume\_t \*volume*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_set\_utf8\_password**(*libfsapfs\_volume\_t \*volume*, *const uint8\_t \*utf8\_string*, *size\_t utf8\_string\_length*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_set\_utf16\_password**(*libfsapfs\_volume\_t \*volume*, *const uint16\_t \*utf16\_string*, *size\_t utf16\_string\_length*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_set\_utf8\_recovery\_password**(*libfsapfs\_volume\_t \*volume*, *const uint8\_t \*utf8\_string*, *size\_t utf8\_string\_length*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_set\_utf16\_recovery\_password**(*libfsapfs\_volume\_t \*volume*, *const uint16\_t \*utf16\_string*, *size\_t utf16\_string\_length*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_root\_directory**(*libfsapfs\_volume\_t \*volume*, *libfsapfs\_file\_entry\_t \*\*file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_next\_file\_entry\_identifier**(*libfsapfs\_volume\_t \*volume*, *uint64\_t \*identifier*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_file\_entry\_by\_identifier**(*libfsapfs\_volume\_t \*volume*, *uint64\_t identifier*, *libfsapfs\_file\_entry\_t \*\*file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_file\_entry\_by\_utf8\_path**(*libfsapfs\_volume\_t \*volume*, *const uint8\_t \*utf8\_string*, *size\_t utf8\_string\_length*, *libfsapfs\_file\_entry\_t \*\*file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_file\_entry\_by\_utf16\_path**(*libfsapfs\_volume\_t \*volume*, *const uint16\_t \*utf16\_string*, *size\_t utf16\_string\_length*, *libfsapfs\_file\_entry\_t \*\*file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_number\_of\_snapshots**(*libfsapfs\_volume\_t \*volume*, *int \*number\_of\_snapshots*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_volume\_get\_snapshot\_by\_index**(*libfsapfs\_volume\_t \*volume*, *int snapshot\_index*, *libfsapfs\_snapshot\_t \*\*snapshot*, *libfsapfs\_error\_t \*\*error*);

Snapshot functions

*int*\

**libfsapfs\_snapshot\_free**(*libfsapfs\_snapshot\_t \*\*snapshot*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_snapshot\_get\_utf8\_name\_size**(*libfsapfs\_snapshot\_t \*snapshot*, *size\_t \*utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_snapshot\_get\_utf8\_name**(*libfsapfs\_snapshot\_t \*snapshot*, *uint8\_t \*utf8\_string*, *size\_t utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_snapshot\_get\_utf16\_name\_size**(*libfsapfs\_snapshot\_t \*snapshot*, *size\_t \*utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_snapshot\_get\_utf16\_name**(*libfsapfs\_snapshot\_t \*snapshot*, *uint16\_t \*utf16\_string*, *size\_t utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

File entry functions

*int*\

**libfsapfs\_file\_entry\_free**(*libfsapfs\_file\_entry\_t \*\*file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_identifier**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint64\_t \*identifier*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_parent\_identifier**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint64\_t \*parent\_identifier*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_parent\_file\_entry**(*libfsapfs\_file\_entry\_t \*file\_entry*, *libfsapfs\_file\_entry\_t \*\*parent\_file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_creation\_time**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int64\_t \*posix\_time*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_modification\_time**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int64\_t \*posix\_time*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_access\_time**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int64\_t \*posix\_time*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_inode\_change\_time**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int64\_t \*posix\_time*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_added\_time**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int64\_t \*posix\_time*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_file\_mode**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint16\_t \*file\_mode*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_number\_of\_links**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint32\_t \*number\_of\_links*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_owner\_identifier**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint32\_t \*owner\_identifier*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_group\_identifier**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint32\_t \*group\_identifier*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_device\_identifier**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint32\_t \*device\_identifier*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_device\_number**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint32\_t \*major\_device\_number*, *uint32\_t \*minor\_device\_number*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf8\_name\_size**(*libfsapfs\_file\_entry\_t \*file\_entry*, *size\_t \*utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf8\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint8\_t \*utf8\_string*, *size\_t utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf16\_name\_size**(*libfsapfs\_file\_entry\_t \*file\_entry*, *size\_t \*utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf16\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint16\_t \*utf16\_string*, *size\_t utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf8\_symbolic\_link\_target\_size**(*libfsapfs\_file\_entry\_t \*file\_entry*, *size\_t \*utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf8\_symbolic\_link\_target**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint8\_t \*utf8\_string*, *size\_t utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf16\_symbolic\_link\_target\_size**(*libfsapfs\_file\_entry\_t \*file\_entry*, *size\_t \*utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_utf16\_symbolic\_link\_target**(*libfsapfs\_file\_entry\_t \*file\_entry*, *uint16\_t \*utf16\_string*, *size\_t utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_number\_of\_extended\_attributes**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int \*number\_of\_extended\_attributes*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_extended\_attribute\_by\_index**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int extended\_attribute\_index*, *libfsapfs\_extended\_attribute\_t \*\*extended\_attribute*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_has\_extended\_attribute\_by\_utf8\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *const uint8\_t \*utf8\_string*, *size\_t utf8\_string\_length*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_has\_extended\_attribute\_by\_utf16\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *const uint16\_t \*utf16\_string*, *size\_t utf16\_string\_length*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_extended\_attribute\_by\_utf8\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *const uint8\_t \*utf8\_string*, *size\_t utf8\_string\_length*, *libfsapfs\_extended\_attribute\_t \*\*extended\_attribute*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_extended\_attribute\_by\_utf16\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *const uint16\_t \*utf16\_string*, *size\_t utf16\_string\_length*, *libfsapfs\_extended\_attribute\_t \*\*extended\_attribute*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_number\_of\_sub\_file\_entries**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int \*number\_of\_sub\_file\_entries*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_sub\_file\_entry\_by\_index**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int sub\_file\_entry\_index*, *libfsapfs\_file\_entry\_t \*\*sub\_file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_sub\_file\_entry\_by\_utf8\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *const uint8\_t \*utf8\_string*, *size\_t utf8\_string\_length*, *libfsapfs\_file\_entry\_t \*\*sub\_file\_entry*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_sub\_file\_entry\_by\_utf16\_name**(*libfsapfs\_file\_entry\_t \*file\_entry*, *const uint16\_t \*utf16\_string*, *size\_t utf16\_string\_length*, *libfsapfs\_file\_entry\_t \*\*sub\_file\_entry*, *libfsapfs\_error\_t \*\*error*);

*ssize\_t*\

**libfsapfs\_file\_entry\_read\_buffer**(*libfsapfs\_file\_entry\_t \*file\_entry*, *void \*buffer*, *size\_t buffer\_size*, *libfsapfs\_error\_t \*\*error*);

*ssize\_t*\

**libfsapfs\_file\_entry\_read\_buffer\_at\_offset**(*libfsapfs\_file\_entry\_t \*file\_entry*, *void \*buffer*, *size\_t buffer\_size*, *off64\_t offset*, *libfsapfs\_error\_t \*\*error*);

*off64\_t*\

**libfsapfs\_file\_entry\_seek\_offset**(*libfsapfs\_file\_entry\_t \*file\_entry*, *off64\_t offset*, *int whence*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_offset**(*libfsapfs\_file\_entry\_t \*file\_entry*, *off64\_t \*offset*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_size**(*libfsapfs\_file\_entry\_t \*file\_entry*, *size64\_t \*size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_number\_of\_extents**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int \*number\_of\_extents*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_file\_entry\_get\_extent\_by\_index**(*libfsapfs\_file\_entry\_t \*file\_entry*, *int extent\_index*, *off64\_t \*extent\_offset*, *size64\_t \*extent\_size*, *uint32\_t \*extent\_flags*, *libfsapfs\_error\_t \*\*error*);

Extended attribute functions

*int*\

**libfsapfs\_extended\_attribute\_free**(*libfsapfs\_extended\_attribute\_t \*\*extended\_attribute*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_identifier**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *uint64\_t \*identifier*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_utf8\_name\_size**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *size\_t \*utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_utf8\_name**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *uint8\_t \*utf8\_string*, *size\_t utf8\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_utf16\_name\_size**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *size\_t \*utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_utf16\_name**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *uint16\_t \*utf16\_string*, *size\_t utf16\_string\_size*, *libfsapfs\_error\_t \*\*error*);

*ssize\_t*\

**libfsapfs\_extended\_attribute\_read\_buffer**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *void \*buffer*, *size\_t buffer\_size*, *libfsapfs\_error\_t \*\*error*);

*ssize\_t*\

**libfsapfs\_extended\_attribute\_read\_buffer\_at\_offset**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *void \*buffer*, *size\_t buffer\_size*, *off64\_t offset*, *libfsapfs\_error\_t \*\*error*);

*off64\_t*\

**libfsapfs\_extended\_attribute\_seek\_offset**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *off64\_t offset*, *int whence*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_offset**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *off64\_t \*offset*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_size**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *size64\_t \*size*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_number\_of\_extents**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *int \*number\_of\_extents*, *libfsapfs\_error\_t \*\*error*);

*int*\

**libfsapfs\_extended\_attribute\_get\_extent\_by\_index**(*libfsapfs\_extended\_attribute\_t \*extended\_attribute*, *int extent\_index*, *off64\_t \*extent\_offset*, *size64\_t \*extent\_size*, *uint32\_t \*extent\_flags*, *libfsapfs\_error\_t \*\*error*);

## DESCRIPTION

The **libfsapfs\_get\_version**() function is used to retrieve the library version.

## RETURN VALUES

Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values see "libfsapfs.h".

## ENVIRONMENT

None

## FILES

None

## NOTES

libfsapfs can be compiled with wide character support (wchar\_t).

To compile libfsapfs with wide character support use: *./configure* *--enable-wide-character-type=yes*\
  or define: *\_UNICODE*\
  or *UNICODE*\
  during compilation.

*LIBFSAPFS\_WIDE\_CHARACTER\_TYPE*\
  in libfsapfs/features.h can be used to determine if libfsapfs was compiled with wide character support.

## BUGS

Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libfsapfs/issues

## AUTHOR

These man pages are generated from "libfsapfs.h".

## COPYRIGHT

Copyright (C) 2018-2024, Joachim Metz \<joachim.metz@gmail.com\>.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

## SEE ALSO

the libfsapfs.h include file
