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