1 /* 2 * Brian Carrier [carrier <at> sleuthkit [dot] org] 3 * Copyright (c) 2006-2016 Brian Carrier, Basis Technology. All rights reserved 4 * Copyright (c) 2005 Brian Carrier. All rights reserved 5 * 6 * This software is distributed under the Common Public License 1.0 7 * 8 */ 9 10 /* 11 * Header files for VHD-specific data structures and functions. 12 */ 13 14 #ifndef _TSK_IMG_VHDI_H 15 #define _TSK_IMG_VHDI_H 16 17 #if HAVE_LIBVHDI 18 19 #if defined( TSK_WIN32 ) 20 #define LIBVHDI_HAVE_WIDE_CHARACTER_TYPE 1 21 #endif 22 23 #include <libvhdi.h> 24 25 #ifdef __cplusplus 26 extern "C" { getError(libvhdi_error_t * vhdi_error,char error_string[TSK_VHDI_ERROR_STRING_SIZE])27#endif 28 29 extern TSK_IMG_INFO *vhdi_open(int, const TSK_TCHAR * const images[], 30 unsigned int a_ssize); 31 32 typedef struct { 33 TSK_IMG_INFO img_info; 34 libvhdi_file_t *handle; 35 tsk_lock_t read_lock; // Lock for reads since according to documentation libvhdi is not fully thread safe yet 36 } IMG_VHDI_INFO; 37 38 #ifdef __cplusplus 39 } 40 #endif vhdi_image_read(TSK_IMG_INFO * img_info,TSK_OFF_T offset,char * buf,size_t len)41#endif 42 #endif // _TSK_IMG_VHDI_H 43