"Fossies" - the Fresh Open Source Software Archive

Member "zuluCrypt-5.7.1/zuluCrypt-cli/lib/includes.h" (15 Jan 2020, 17688 Bytes) of package /linux/misc/zuluCrypt-5.7.1.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "includes.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 5.7.0_vs_5.7.1.

    1 /*
    2  *
    3  *  Copyright (c) 2011-2015
    4  *  name : Francis Banyikwa
    5  *  email: mhogomchungu@gmail.com
    6  *  This program is free software: you can redistribute it and/or modify
    7  *  it under the terms of the GNU General Public License as published by
    8  *  the Free Software Foundation, either version 2 of the License, or
    9  *  (at your option) any later version.
   10  *
   11  *  This program is distributed in the hope that it will be useful,
   12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
   13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   14  *  GNU General Public License for more details.
   15  *
   16  *  You should have received a copy of the GNU General Public License
   17  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
   18  */
   19 
   20 #ifndef ZULUCRYPT_LIB
   21 #define ZULUCRYPT_LIB
   22 
   23 #include "../utility/string/String.h"
   24 #include "../utility/string/StringList.h"
   25 #include "../utility/process/process.h"
   26 #include "../constants.h"
   27 #include "libzuluCrypt.h"
   28 #include "../bin/bash_special_chars.h"
   29 
   30 #include <blkid/blkid.h>
   31 
   32 #include <gcrypt.h>
   33 
   34 #include "support_whirlpool.h"
   35 
   36 /*
   37  * below header is created at build time,it is set by CMakeLists.txt located in the root folder
   38  */
   39 #include "version.h"
   40 
   41 typedef struct{
   42     const char * device ;
   43     const char * m_point ;
   44     const char * fs ;
   45     const char * opts ;
   46     uid_t uid ;
   47     unsigned long m_flags ;
   48     const char * fs_flags ;
   49 }m_struct;
   50 
   51 typedef struct{
   52     const char * device ;
   53     const char * header_source ;
   54     const char * tmp_path ;
   55     const char * opt ;
   56     const char * key ;
   57     const char * rng ;
   58     const char * header_key ;
   59     const char * header_key_source ;
   60     const char * header_new_key ;
   61     const char * header_new_key_source ;
   62     uid_t uid ;
   63     int veraCrypt_volume ;
   64     int iteration_count ;
   65     string_t ( *getKey )( int * ) ;
   66 }info_t ;
   67 
   68 typedef struct{
   69     const char * device ;
   70     const char * plain_dm_properties ;
   71     const char * mapper_name ;
   72     const char * mapper_path ;
   73     const char * key ;
   74     const char * m_point ;
   75     const char * fs_opts ;
   76     const char * m_opts ;
   77     const char * luks_detached_header ;
   78 
   79     size_t       key_len ;
   80     uid_t        uid ;
   81     int          volume_type ;
   82     int          key_source ;
   83     int iteration_count ;
   84     int tcrypt_keyfiles_count ;
   85     int veraCrypt_volume ;
   86     int trueCrypt_volume ;
   87     int bitlocker_volume ;
   88     int system_volume ;
   89     int use_cryptsetup_for_bitlocker ;
   90     const char * const * tcrypt_keyfiles ;
   91     unsigned long m_flags ;
   92     int use_backup_header ;
   93     int use_hidden_header ;
   94     void * variables ;
   95 }open_struct_t ;
   96 
   97 typedef struct{
   98     const char * device ;
   99     const char * passphrase ;
  100     size_t       passphrase_size ;
  101     const char * const * keyfiles ;
  102     size_t       keyfiles_number ;
  103     const char * passphrase_h ;
  104     size_t       passphrase_h_size ;
  105     const char * const * keyfiles_h ;
  106     size_t       keyfiles_h_number ;
  107     const char *  encryption_options ;
  108     u_int64_t    hidden_volume_size ;
  109     const char * fs ;
  110     const char * fs_h ;
  111     int veraCrypt_volume ;
  112 }create_tcrypt_t ;
  113 
  114 typedef struct{
  115     const char * device ;
  116     int          error_value ;
  117     char       * error_value_1 ;
  118     int          open_mode ;
  119     const void * args ;
  120 }resolve_path_t ;
  121 
  122 /*
  123  * we only support whirlpool with cryptsetup >= 1.6.4 and libgcrypt >= 1.6.1
  124  *
  125  * read section 8.3  of cryptsetup FAQ for more info.
  126  */
  127 
  128 static inline int zuluCryptWhirlpoolIsSupported( void )
  129 {
  130 #ifdef GCRYPT_VERSION_NUMBER
  131     return GCRYPT_VERSION_NUMBER >= 0x010601 && SUPPORT_WHIRLPOOL ;
  132 #else
  133     return SUPPORT_WHIRLPOOL ;
  134 #endif
  135 }
  136 
  137 /*
  138  * zuluCryptVeraCryptPIM() is defined in volume_type.c
  139  */
  140 const char * zuluCryptBitLockerType( void ) ;
  141 
  142 /*
  143  * zuluCryptVeraCryptPIM() is defined in volume_type.c
  144  */
  145 const char * zuluCryptBitLockerFolderPrefix( void ) ;
  146 
  147 /*
  148  * zuluCryptVeraCryptPIM() is defined in create_tcrypt.c
  149  */
  150 int zuluCryptVeraCryptPIM( int e ) ;
  151 
  152 /*
  153  * zuluCryptSystemVeraCryptPIM() is defined in create_tcrypt.c
  154  */
  155 int zuluCryptSystemVeraCryptPIM( int e ) ;
  156 
  157 /*
  158  * zuluCryptResolveDevicePath() is defined in resolve_path.c
  159  */
  160 int zuluCryptResolveDevicePath( int( * )( const char *,const resolve_path_t * ),
  161                 const resolve_path_t * ) ;
  162 
  163 /*
  164  * zuluCryptResolveDevicePath_1() is defined in resolve_path.c
  165  */
  166 char * zuluCryptResolveDevicePath_1( char *( * )( const char *,const resolve_path_t * ),
  167                      const resolve_path_t * ) ;
  168 /*
  169  * zuluCryptResolveDevicePath_0() is defined in resolve_path.c
  170  */
  171 int zuluCryptResolveDevicePath_0( int( * )( const char *,const resolve_path_t * ),
  172                   const open_struct_t *,int ) ;
  173 
  174 /*
  175  * zuluCryptCreateTCryptVolume() is defined in create_tcrypt.c
  176  */
  177 int zuluCryptCreateTCryptVolume( const create_tcrypt_t * ) ;
  178 
  179 /*
  180  * zuluCryptOpenVolume_1() is defined in open_volume.c
  181  */
  182 int zuluCryptOpenVolume_1( const open_struct_t * ) ;
  183 
  184 /*
  185  * zuluCryptOpenVolume_1() is defined in open_volume.c
  186  */
  187 int zuluCryptOpenVolume_2( const open_struct_t * ) ;
  188 
  189 /*
  190  * zuluCryptOpenPlain_1() is defined in open_plain.c
  191  */
  192 int zuluCryptOpenPlain_1( const open_struct_t * ) ;
  193 
  194 /*
  195  * zuluCryptOpenLuks_1() is defined in open_luks.c
  196  */
  197 int zuluCryptOpenLuks_1( const open_struct_t * ) ;
  198 
  199 /*
  200  * zuluCryptOpenLuks_2() is defined in open_luks.c
  201  */
  202 int zuluCryptOpenLuks_2( const open_struct_t * ) ;
  203 
  204 /*
  205  * zuluCryptOpenTcrypt_1() is defined in open_tcrypt.c
  206  */
  207 int zuluCryptOpenTcrypt_1( const open_struct_t * ) ;
  208 
  209 /*
  210  * zuluCryptOpenVolume_0() is defined in open_volume.c
  211  */
  212 int zuluCryptOpenVolume_0( int( *function )( const open_struct_t * ),const open_struct_t * ) ;
  213 
  214 /*
  215  * this function is defined in create_loop_device.c
  216  */
  217 int zuluCryptAttachLoopDeviceToFileUsingFileDescriptor( int fd_path,int * fd_loop,int mode,string_t * loop_device ) ;
  218 
  219 /*
  220  * this function is defined in status.c
  221  */
  222 int zuluCryptVolumeManagedByTcplay( const char * mapper ) ;
  223 
  224 /*
  225  * this function is defined in status.c
  226  */
  227 void zuluCryptFileSystemProperties( string_t p,const char * mapper,const char * m_point ) ;
  228 
  229 /*
  230  * this function is defined in create_mapper_name.c
  231  */
  232 const char * zuluCryptMapperPrefix( void ) ;
  233 
  234 /*
  235  * zuluCryptConvertCipher() is defined in create_tcrypt.c
  236  */
  237 const char * zuluCryptConvertCipher( const char * ) ;
  238 
  239 /*
  240  * this function is defined in create_mapper_name.c
  241  */
  242 string_t zuluCryptCreateMapperName( const char * device,const char * mapping_name,uid_t uid,int i ) ;
  243 
  244 /*
  245  * this function checks if path exists or not.
  246  * return 1 if the path exists
  247  * return 0 if it does not
  248  */
  249 int zuluCryptPathIsValid( const char * path ) ;
  250 
  251 /*
  252  * this function checks if a path exists or not
  253  * return 1 if the path does not exists
  254  * return 0 if the path exist
  255  */
  256 int zuluCryptPathIsNotValid( const char * path ) ;
  257 
  258 /*
  259  * this function checks if a path exists or not
  260  * return 1 if the path does not exists
  261  * return 0 if the path exist
  262  */
  263 int zuluCryptPathIsNotValid_0( string_t path ) ;
  264 
  265 /*
  266  * zuluCryptDecodeMountEntry() is defined in mount_volume.c
  267  */
  268 const char * zuluCryptDecodeMountEntry( string_t ) ;
  269 
  270 /*
  271  * zuluCryptDecodeMountEntry() is defined in mount_volume.c
  272  */
  273 const char * zuluCryptEncodeMountEntry( string_t ) ;
  274 
  275 /*
  276  *this function is deined in ../lib/process_mountinfo.c
  277  */
  278 stringList_t zuluCryptOpenedVolumesList( uid_t ) ;
  279 
  280 /*
  281  * this is defined in print_mounted_volumes.c
  282  */
  283 int zuluCryptPartitionIsMounted( const char * device ) ;
  284 
  285 /*
  286  *  parse "/etc/fstab" and return a field at position "pos" on a line
  287  *  that corresponds to device "device".
  288  */
  289 #define MOUNTPOINT   1
  290 #define FILESYSTEM   2
  291 #define MOUNTOPTIONS 3
  292 #define DUMPOPTION   4
  293 #define FSCKOPTION   5
  294 
  295 string_t zuluCryptGetMountOptionsFromFstab( const char * device,int pos,uid_t uid ) ;
  296 
  297 /*
  298  * this function is defined in process_mountinfo.c
  299  */
  300 
  301 string_t zuluCryptGetMountEntry( const char * path ) ;
  302 
  303 /*
  304  * this function is defined in process_mountinfo.c
  305  */
  306 string_t zuluCryptGetMountEntry_1( stringList_t stl,const char * path ) ;
  307 
  308 /*
  309  * this function is defined in is_luks.c
  310  */
  311 int zuluCryptVolumeIsNotLuks( const char * dev ) ;
  312 
  313 /*
  314  * this function is defined in ./create_loop_device.c
  315  */
  316 int zuluCryptAttachLoopDeviceToFile( const char * path,int mode,int * fd,string_t * loop_device ) ;
  317 
  318 /*
  319  * this function is defined in ./blkid_evaluate_tag.c
  320  */
  321 string_t zuluCryptGetFileSystemFromDevice( const char * device ) ;
  322 
  323 /*
  324  * this function is defined in ./blkid_evaluate_tag.c
  325  */
  326 int zuluCryptDeviceHasEncryptedFileSystem( const char * device ) ;
  327 
  328 /*
  329  * this function is defined in ./blkid_evaluate_tag.c
  330  */
  331 const char * zuluCryptVolumeType( blkid_probe blkid,const char * device ) ;
  332 
  333 /*
  334  * this function is defined in ./blkid_evaluate_tag.c
  335  */
  336 int zuluCryptDeviceHasAgivenFileSystem( const char * device,const char * fs ) ;
  337 
  338 /*
  339  * this function is defined in ./blkid_evaluate_tag.c
  340  */
  341 int zuluCryptMultiPartitionLoopDevice( const char * e ) ;
  342 
  343 /*
  344  * this function is defined in ./blkid_evaluate_tag.c
  345  */
  346 int zuluCryptNoPartitionLoopDevice( const char * e ) ;
  347 
  348 /*
  349  * this function is defined in ./create_loop_device.c
  350  */
  351 char * zuluCryptLoopDeviceAddress( const char * device ) ;
  352 
  353 /*
  354  * this function is defined in ./create_loop_device.c
  355  */
  356 char * zuluCryptLoopDeviceAddress_1( const char * device ) ;
  357 
  358 /*
  359  * this function is defined in ./create_luks.c
  360  */
  361 void zuluCryptDisableMetadataLocking( void ) ;
  362 
  363 /*
  364  * this function is defined in ./create_luks.c
  365  */
  366 void zuluCryptPrintLogOutPut( void * ) ;
  367 
  368 /*
  369  * this function is defined in ./create_loop_device.c
  370  */
  371 string_t zuluCryptLoopDeviceAddress_2( const char * device ) ;
  372 
  373 /*
  374  * this function is defined in ./create_loop_device.c
  375  */
  376 char * zuluCryptGetLoopDeviceAddress( const char * device ) ;
  377 
  378 /*
  379  * this function is defined in ./process_mountinfo.c
  380  */
  381 char * zuluCryptGetMountPointFromPath( const char * path ) ;
  382 
  383 /*
  384  * this function is defined in ./process_mountinfo.c
  385  */
  386 char * zuluCryptGetMountPointFromPath_1( const char * path ) ;
  387 
  388 /*
  389  * this function is defined in ./process_mountinfo.c
  390  */
  391 char * zuluCryptResolveDevRoot( void ) ;
  392 
  393 /*
  394  * this function is defined in ./process_mountinfo.c
  395  */
  396 stringList_t zuluCryptGetFstabEntryList( const char * device,uid_t uid ) ;
  397 
  398 /*
  399  * this function is defined in blkid_evaluate_tag.c
  400  */
  401 char * zuluCryptDeviceFromUUID( const char * uuid ) ;
  402 
  403 /*
  404  * this function is defined in blkid_evaluate_tag.c
  405  */
  406 char * zuluCryptDeviceFromLabel( const char * label ) ;
  407 
  408 /*
  409  * this function is defined in blkid_evaluate_tag.c
  410  */
  411 char * zuluCryptDeviceFromPARTUUID( const char * p_uuid ) ;
  412 
  413 /*
  414  * this function is defined in blkid_evaluate_tag.c
  415  */
  416 char * zuluCryptDeviceFromPARTLABEL( const char * p_label ) ;
  417 
  418 /*
  419  * this function is defined in blkid_evaluate_tag.c
  420  */
  421 char * zuluCryptUUIDFromPath_1( const char * device ) ;
  422 
  423 /*
  424  * this function is defined in volume_types.c
  425  */
  426 int zuluCryptGetVolumeType( const char * device,const char * pass,size_t pass_size ) ;
  427 
  428 /*
  429  * this function is defined in open_tcrypt.c
  430  */
  431 int zuluCryptVolumeIsTcrypt( const char * device,const char * key,int key_source ) ;
  432 
  433 /*
  434  * this function is defined in mount_fs_options.c
  435  */
  436 int zuluCryptMountHasNotAllowedFileSystemOptions( uid_t uid,const char * fs_opts,string_t s ) ;
  437 
  438 /*
  439  * this functioon is defined in ./real_path.c
  440  */
  441 int zuluCryptPathDidNotChange( const char * path ) ;
  442 
  443 /*
  444  * this functioon is defined in ./real_path.c
  445  */
  446 int zuluCryptPathDeviceIsBlockDevice( const char * device ) ;
  447 
  448 /*
  449  * this function is defined in mount_fs_options
  450  */
  451 int zulucryptFileSystemIsSupported( const char * fs ) ;
  452 
  453 /*
  454  * this function is defined in user_home_path.c
  455  */
  456 string_t zuluCryptGetUserName( uid_t uid ) ;
  457 
  458 /*
  459  * this function is defined in bitlocker.c
  460  */
  461 string_t zuluCryptBitLockerMapperPath( uid_t uid ) ;
  462 
  463 /*
  464  * this function is defined in bitlocker.c
  465  */
  466 string_t zuluCryptBitLockerFullMapperPath( uid_t uid,const char * e ) ;
  467 
  468 /*
  469  * this function is defined in bitlocker.c
  470  */
  471 string_t zuluCryptBitLockerMapperName( const char * ) ;
  472 
  473 /*
  474  * this function is defined in bitlocker.c
  475  */
  476 string_t zuluCryptBitLockerResolveMapperPath( const char * e,uid_t ) ;
  477 
  478 /*
  479  * this function is defined in bitlocker.c
  480  */
  481 int zuluCryptBitLockerUnlock( const open_struct_t * opts,string_t * st ) ;
  482 
  483 /*
  484  * this function is defined in bitlocker.c
  485  */
  486 int zuluCryptBitLockerlock( string_t mapperPath,char ** mount_point ) ;
  487 
  488 /*
  489  * this function is defined in bitlocker.c
  490  */
  491 int zuluCryptBitLockerlock_1( const char * ) ;
  492 
  493 /*
  494  * this function is defined in bitlocker.c
  495  */
  496 const char * zuluCryptBitLockerCreateMapperPath( string_t e,uid_t uid ) ;
  497 
  498 /*
  499  * this function is defined in bitlocker.c
  500  */
  501 int zuluCryptBitLockerVolume( const char * e ) ;
  502 
  503 /*
  504  * this function is defined in bitlocker.c
  505  */
  506 char * zuluCryptBitLockerUnmountPath( const char * e ) ;
  507 
  508 /*
  509  * this function is defined in bitlocker.c
  510  */
  511 string_t zuluCryptBitLockerVolumeFS( const char * e ) ;
  512 
  513 /*
  514  * this function is defined in blkid_evaluate_tag.c
  515  */
  516 string_t zulucryptGetBlkidFileSystem( const char * device ) ;
  517 
  518 /*
  519  * this function is defined in bitlocker.c
  520  */
  521 int zuluCryptBitLockerVolume_1( const char * e ) ;
  522 
  523 /*
  524  * this function is defined in real_path.c
  525  */
  526 char * zuluCryptRealPath( const char * path ) ;
  527 
  528 /*
  529  * this function is defined in create_loop_device.c
  530  */
  531 char * zuluCryptGetFileNameFromFileDescriptor( int fd ) ;
  532 
  533 /*
  534  * this function is defined in file_path_security.c
  535  */
  536 int zuluCryptGetDeviceFileProperties( const char * file,int * fd_path,int * fd_loop,char ** dev,uid_t uid ) ;
  537 
  538 /*
  539  * this function is defined in file_path_security.c
  540  */
  541 int zuluCryptSecureOpenFile( const char * path,int * fd_path,string_t * file,uid_t uid ) ;
  542 
  543 /*
  544  * this function is defined in mount_volume.c
  545  */
  546 stringList_t zuluCryptGetFstabList( uid_t ) ;
  547 
  548 /*
  549  * this function is defined in process_mountinfo.c
  550  */
  551 stringList_t zuluCryptGetMountInfoList( void ) ;
  552 
  553 /*
  554  * this function is defined in process_mountinfo.c
  555  */
  556 stringList_t zuluCryptGetMountInfoList_1( void ) ;
  557 
  558 /*
  559  * this function is defined in status.c
  560  */
  561 char * zuluCryptGetVolumeTypeFromMapperPath( const char * mapper ) ;
  562 
  563 /*
  564  * this function is defined in status.c
  565  */
  566 char * zuluCryptGetVolumeType_1( const char * m ) ;
  567 
  568 /*
  569  * this function is defined in create_volume.c
  570  */
  571 int zuluCryptCreateFileSystemInAVolume( const char * fs,const char * device_mapper ) ;
  572 
  573 /*
  574  * this function is defined in resolve_paths.c
  575  */
  576 string_t zuluCryptConvertIfPathIsLVM( const char * path ) ;
  577 
  578 /*
  579  * this function is defined in resolve_paths.c
  580  */
  581 char * zuluCryptResolveMDPath( const char * path ) ;
  582 
  583 /*
  584  * this function is defined in resolve_paths.c
  585  */
  586 string_t zuluCryptResolveMDPath_1( const char * path ) ;
  587 
  588 /*
  589  * this function is defined in file_path_security.c
  590  */
  591 void zuluCryptDeleteFile( const char * file ) ;
  592 
  593 /*
  594  * this function is defined in file_path_security.c
  595  */
  596 void zuluCryptDeleteFile_1( string_t file ) ;
  597 
  598 /*
  599  * this function is defined in blkid_evaluate_tag.c
  600  */
  601 int zuluCryptFileSystemIsFUSEbased( const char * device ) ;
  602 
  603 /*
  604  * this function is defined in status.c
  605  */
  606 void zuluCryptFormatSize( u_int64_t number,char * buffer,size_t buffer_size ) ;
  607 
  608 /*
  609  * zuluCryptCreateKeyFile() is defined in open_tcrypt.c
  610  */
  611 string_t zuluCryptCreateKeyFile( const char * key,size_t key_len,const char * fileName ) ;
  612 
  613 /*
  614  * zuluCryptCreateKeyFile_1() is defined in open_tcrypt.c
  615  */
  616 string_t zuluCryptCreateKeyFile_1( string_t key,const char * fileName ) ;
  617 
  618 /*
  619  * zuluCryptResolvePath_2() is defined in resolve_paths.c
  620  */
  621 string_t zuluCryptResolvePath_2( const char * path ) ;
  622 
  623 /*
  624  * zuluCryptResolvePath_1() is defined in resolve_paths.c
  625  */
  626 string_t zuluCryptResolvePath_1( const char * path ) ;
  627 
  628 /*
  629  * zuluCryptResolvePath_3() is defined in resolve_paths.c
  630  */
  631 char * zuluCryptResolvePath_3( const char * path ) ;
  632 
  633 /*
  634  * zuluCryptResolvePath_4() is defined in resolve_paths.c
  635  */
  636 char * zuluCryptResolvePath_4( const char * path ) ;
  637 
  638 /*
  639  * zuluCryptResolvePath() is defined in resolve_paths.c
  640  */
  641 char * zuluCryptResolvePath( const char * path ) ;
  642 
  643 /*
  644  * zuluCryptGetMoutedList_1() is defined in process_mountinfo.c
  645  */
  646 stringList_t zuluCryptGetMoutedList_1( void ) ;
  647 
  648 /*
  649  * zuluCryptGetMoutedList() is defined in process_mountinfo.c
  650  */
  651 stringList_t zuluCryptGetMoutedList( void ) ;
  652 
  653 /*
  654  * zuluCryptMountPointIsActive() is defined in process_mountinfo.c
  655  */
  656 int zuluCryptMountPointIsActive( const char * ) ;
  657 
  658 /*
  659  * zuluCryptGetALoopDeviceAssociatedWithAnImageFile() is defined in create_loop_device.c
  660  */
  661 char * zuluCryptGetALoopDeviceAssociatedWithAnImageFile( const char * path ) ;
  662 
  663 /*
  664  * zuluCryptGetAListOfMountedVolumes() is defined in process_mountinfo.c
  665  */
  666 stringList_t zuluCryptGetAListOfMountedVolumes( void ) ;
  667 
  668 /*
  669  * zuluCryptModifyTcryptHeader() is defined in create_tcplay.c
  670  */
  671 int zuluCryptModifyTcryptHeader( const info_t * info ) ;
  672 
  673 /*
  674  * this function is defined in mount_fs_options.c
  675  */
  676 int zuluCryptUserIsAMemberOfAGroup( uid_t uid,const char * groupname ) ;
  677 
  678 /*
  679  * this function is defined in open_tcrypt.c
  680  */
  681 int zuluCryptUseZuluPlayVCRYPT( void ) ;
  682 
  683 /*
  684  * this function is defined in open_tcrypt.c
  685  */
  686 int zuluCryptUseZuluPlayTCRYPT( void ) ;
  687 
  688 /*
  689  * this function is defined in bitlocker.c
  690  */
  691 int zuluCryptUseCryptsetupBitLocker( int ) ;
  692 
  693 /*
  694  * this function is defined in bitlocker.c
  695  */
  696 int zuluCryptUseDislockerBitLocker( int ) ;
  697 
  698 /*
  699  * this function is defined in open_tcrypt.c
  700  */
  701 void * zuluCryptCryptsetupTCryptVCrypt( const open_struct_t * opt ) ;
  702 
  703 /*
  704  * this function is defined in bitlocker.c
  705  */
  706 const char * zuluCryptCryptsetupBitLockerType( void ) ;
  707 
  708 /*
  709  * this function is defined in open_tcrypt.c
  710  */
  711 const char * zuluCryptCryptsetupTCRYPTType( void ) ;
  712 
  713 /*
  714  * this function is defined in bitlocker.c
  715  */
  716 int zuluCryptIsDislockerMapperPath( const char * ) ;
  717 
  718 /*
  719  * this function is defined in bitlocker.c
  720  */
  721 int zuluCryptDeviceManagedByDislocker( const char * device,uid_t ) ;
  722 
  723 #endif