Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
libfvde(3)		    Library Functions Manual		    libfvde(3)

NAME
       libfvde.h  --  Library  to access the FileVault Drive Encryption	(FVDE)
       format

SYNOPSIS
       #include	<libfvde.h>

       Support functions

       const char *
       libfvde_get_version(void);

       int
       libfvde_get_access_flags_read(void);

       int
       libfvde_get_codepage(int	*codepage, libfvde_error_t **error);

       int
       libfvde_set_codepage(int	codepage, libfvde_error_t **error);

       int
       libfvde_check_volume_signature(const	     char	    *filename,
	   libfvde_error_t **error);

       Available when compiled with wide character string support:

       int
       libfvde_check_volume_signature_wide(const       wchar_t	    *filename,
	   libfvde_error_t **error);

       Available when compiled with libbfio support:

       int
       libfvde_check_volume_signature_file_io_handle(libbfio_ha*nfdillee__tio_handle,
	   libfvde_error_t **error);

       Notify functions

       void
       libfvde_notify_set_verbose(int verbose);

       int
       libfvde_notify_set_stream(FILE *stream, libfvde_error_t **error);

       int
       libfvde_notify_stream_open(const		    char	    *filename,
	   libfvde_error_t **error);

       int
       libfvde_notify_stream_close(libfvde_error_t **error);

       Error functions

       void
       libfvde_error_free(libfvde_error_t **error);

       int
       libfvde_error_fprint(libfvde_error_t *error, FILE *stream);

       int
       libfvde_error_sprint(libfvde_error_t	*error,	    char      *string,
	   size_t size);

       int
       libfvde_error_backtrace_fprint(libfvde_error_t *error, FILE *stream);

       int
       libfvde_error_backtrace_sprint(libfvde_error_t  *error,	char  *string,
	   size_t size);

       Volume functions

       int
       libfvde_volume_initialize(libfvde_volume_t		     **volume,
	   libfvde_error_t **error);

       int
       libfvde_volume_free(libfvde_volume_t			     **volume,
	   libfvde_error_t **error);

       int
       libfvde_volume_signal_abort(libfvde_volume_t		      *volume,
	   libfvde_error_t **error);

       int
       libfvde_volume_open(libfvde_volume_t  *volume,  const  char  *filename,
	   int access_flags, libfvde_error_t **error);

       int
       libfvde_volume_open_physical_volume_files(libfvde_volume_t     *volume,
	   char	    *	  const	   filenames[],	   int	  number_of_filenames,
	   libfvde_error_t **error);

       int
       libfvde_volume_close(libfvde_volume_t			      *volume,
	   libfvde_error_t **error);

       int
       libfvde_volume_read_encrypted_root_plist(libfvde_volume_t      *volume,
	   const char *filename, libfvde_error_t **error);

       int
       libfvde_volume_get_volume_group(libfvde_volume_t		      *volume,
	   libfvde_volume_group_t **volume_group, libfvde_error_t **error);

       Available when compiled with wide character string support:

       int
       libfvde_volume_open_wide(libfvde_volume_t		      *volume,
	   const       wchar_t	     *filename,	      int	 access_flags,
	   libfvde_error_t **error);

       int
       libfvde_volume_open_physical_volume_files_wide(libfvde_volume_t*volume,
	   wchar_t   *	  const	   filenames[],	   int	  number_of_filenames,
	   libfvde_error_t **error);

       int
       libfvde_volume_read_encrypted_root_plist_wide(libfvde_volume_t *volume,
	   const wchar_t *filename, libfvde_error_t **error);

       Available when compiled with libbfio support:

       int
       libfvde_volume_open_file_io_handle(libfvde_volume_t	      *volume,
	   libbfio_handle_t	 *file_io_handle,      int	 access_flags,
	   libfvde_error_t **error);

       int
       libfvde_volume_open_physical_volume_files_file_io_pool(libfvde_v*ovloulmuem_et,
	   libbfio_pool_t *file_io_pool, libfvde_error_t **error);

       int
       libfvde_volume_read_encrypted_root_plist_file_io_handle(libfvde_*vvoolluummee_,t
	   libbfio_handle_t *file_io_handle, libfvde_error_t **error);

       Volume group functions

       int
       libfvde_volume_group_free(libfvde_volume_group_t	       **volume_group,
	   libfvde_error_t **error);

       int
       libfvde_volume_group_get_identifier(libfvde_volume_group_t*volume_group,
	   uint8_t	    *uuid_data,		size_t	       uuid_data_size,
	   libfvde_error_t **error);

       int
       libfvde_volume_group_get_utf8_name_size(libfvde_volume_gro*uvpo_ltume_group,
	   size_t *utf8_string_size, libfvde_error_t **error);

       int
       libfvde_volume_group_get_utf8_name(libfvde_volume_group_t*volume_group,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   libfvde_error_t **error);

       int
       libfvde_volume_group_get_utf16_name_size(libfvde_volume_gr*ovuopl_utme_group,
	   size_t *utf16_string_size, libfvde_error_t **error);

       int
       libfvde_volume_group_get_utf16_name(libfvde_volume_group_t*volume_group,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   libfvde_error_t **error);

       int
       libfvde_volume_group_get_number_of_physical_volumes(libfvd*ev_ovloulmuem_eg_rgoruopu,p_t
	   int *number_of_physical_volumes, libfvde_error_t **error);

       int
       libfvde_volume_group_get_physical_volume_by_index(libfvde_*vvoolluummee__ggrroouupp_,t
	   int	volume_index,	libfvde_physical_volume_t   **physical_volume,
	   libfvde_error_t **error);

       int
       libfvde_volume_group_get_number_of_logical_volumes(libfvde*_vvoolluummee__ggrroouupp,_t
	   int *number_of_logical_volumes, libfvde_error_t **error);

       int
       libfvde_volume_group_get_logical_volume_by_index(libfvde_v*ovloulmuem_eg_rgoruopu_pt,
	   int	  volume_index,	  libfvde_logical_volume_t   **logical_volume,
	   libfvde_error_t **error);

       Physical	volume functions

       int
       libfvde_physical_volume_free(libfvde_physical_volume_t**physical_volume,
	   libfvde_error_t **error);

       int
       libfvde_physical_volume_get_identifier(libfvde_physical*_pvhoylsuimcea_lt_volume,
	   uint8_t	   *uuid_data,	       size_t	       uuid_data_size,
	   libfvde_error_t **error);

       int
       libfvde_physical_volume_get_encryption_method(libfvde_p*hpyhsyisciacla_lv_ovloulmuem_et,
	   uint32_t *encryption_method,	libfvde_error_t	**error);

       int
       libfvde_physical_volume_get_size(libfvde_physical_volum*ep_htysical_volume,
	   size64_t *size, libfvde_error_t **error);

       Logical volume functions

       int
       libfvde_logical_volume_free(libfvde_logical_volume_t  **logical_volume,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_unlock(libfvde_logical_volume_t *logical_volume,
	   libfvde_error_t **error);

       ssize_t
       libfvde_logical_volume_read_buffer(libfvde_logical_volum*el_otgical_volume,
	   void	*buffer, size_t	buffer_size, libfvde_error_t **error);

       ssize_t
       libfvde_logical_volume_read_buffer_at_offset(libfvde_log*ilcoagli_cvaoll_uvmoel_utme,
	   void	   *buffer,    size_t	  buffer_size,	   off64_t     offset,
	   libfvde_error_t **error);

       off64_t
       libfvde_logical_volume_seek_offset(libfvde_logical_volum*el_otgical_volume,
	   off64_t offset, int whence, libfvde_error_t **error);

       int
       libfvde_logical_volume_get_offset(libfvde_logical_volume*_ltogical_volume,
	   off64_t *offset, libfvde_error_t **error);

       int
       libfvde_logical_volume_get_identifier(libfvde_logical_vo*lluomgei_ctal_volume,
	   uint8_t	   *uuid_data,	       size_t	       uuid_data_size,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_get_utf8_name_size(libfvde_logica*ll_ovgoilcuamle__vtolume,
	   size_t *utf8_string_size, libfvde_error_t **error);

       int
       libfvde_logical_volume_get_utf8_name(libfvde_logical_vol*ulmoeg_itcal_volume,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_get_utf16_name_size(libfvde_logic*allo_gvioclaulm_ev_otlume,
	   size_t *utf16_string_size, libfvde_error_t **error);

       int
       libfvde_logical_volume_get_utf16_name(libfvde_logical_vo*lluomgei_ctal_volume,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_get_size(libfvde_logical_volume_t*logical_volume,
	   size64_t *size, libfvde_error_t **error);

       int
       libfvde_logical_volume_is_locked(libfvde_logical_volume_*tlogical_volume,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_set_key(libfvde_logical_volume_t*logical_volume,
	   const uint8_t  *volume_master_key,  size_t  volume_master_key_size,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_set_utf8_password(libfvde_logical*_lvoogliucmael__tvolume,
	   const    uint8_t    *utf8_string,	size_t	   utf8_string_length,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_set_utf16_password(libfvde_logica*ll_ovgoilcuamle__vtolume,
	   const   uint16_t   *utf16_string,	size_t	  utf16_string_length,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_set_utf8_recovery_password(libfvd*el_olgoigciacla_lv_ovloulmuem,e_t
	   const    uint8_t    *utf8_string,	size_t	   utf8_string_length,
	   libfvde_error_t **error);

       int
       libfvde_logical_volume_set_utf16_recovery_password(libfv*dleo_gliocgailc_avlo_lvuomleu,me_t
	   const   uint16_t   *utf16_string,	size_t	  utf16_string_length,
	   libfvde_error_t **error);

       LVF encryption context and EncryptedRoot.plist file functions

       int
       libfvde_encryption_context_plist_initialize(libfvde_encryption_c*o*nptleixstt_,plist_t
	   libfvde_error_t **error);

       int
       libfvde_encryption_context_plist_free(libfvde_encryption_context*_*pplliisstt_,t
	   libfvde_error_t **error);

       int
       libfvde_encryption_context_plist_get_data_size(libfvde_encryption*_pcloinstte,xt_plist_t
	   size64_t *data_size,	libfvde_error_t	**error);

       int
       libfvde_encryption_context_plist_copy_data(libfvde_encryption_con*tpelxits_tp,list_t
	   uint8_t *data, size_t data_size, libfvde_error_t **error);

       int
       libfvde_encryption_context_plist_decrypt(libfvde_encryption_conte*xptl_ipslti,st_t
	   const uint8_t *key, size_t key_bit_size, libfvde_error_t **error);

       Available when compiled with libbfio support:

       int
       libfvde_encryption_context_plist_read_file_io_handle(libfvde_encr*yppltiisotn,_context_plist_t
	   libbfio_handle_t *file_io_handle, libfvde_error_t **error);

DESCRIPTION
       The libfvde_get_version() function is used to retrieve the library ver-
       sion.

RETURN VALUES
       Most  of	the functions return NULL or -1	on error, dependent on the re-
       turn type.  For the actual return values	see "libfvde.h".

ENVIRONMENT
       None

FILES
       None

NOTES
       libfvde can be compiled with wide character support (wchar_t).

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

       LIBFVDE_WIDE_CHARACTER_TYPE
	in libfvde/features.h can be used to determine if libfvde was compiled
       with wide character support.

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

AUTHOR
       These man pages are generated from "libfvde.h".

COPYRIGHT
       Copyright  (C)  2011-2024,  Omar	 Choudary   <choudary.omar@gmail.com>,
       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 libfvde.h include file

libfvde			       January 19, 2022			    libfvde(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libfvde&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help