1 /* 2 * The Sleuth Kit 3 * 4 * Brian Carrier [carrier <at> sleuthkit [dot] org] 5 * Copyright (c) 2003-2011 Brian Carrier. All rights reserved 6 * 7 * This software is distributed under the Common Public License 1.0 8 */ 9 10 /** 11 * \file tsk_vs_i.h 12 * Contains the internal library definitions for the volume system functions. This should 13 * be included by the code in the volume system library. 14 */ 15 #ifndef _TSK_VS_I_H 16 #define _TSK_VS_I_H 17 18 // Include the other internal TSK header files 19 #include "tsk/base/tsk_base_i.h" 20 #include "tsk/img/tsk_img_i.h" 21 22 // include the external vs header file 23 #include "tsk_vs.h" 24 25 #include <sys/types.h> 26 27 extern TSK_VS_INFO *tsk_vs_dos_open(TSK_IMG_INFO *, TSK_DADDR_T, uint8_t); 28 extern TSK_VS_INFO *tsk_vs_mac_open(TSK_IMG_INFO *, TSK_DADDR_T); 29 extern TSK_VS_INFO *tsk_vs_bsd_open(TSK_IMG_INFO *, TSK_DADDR_T); 30 extern TSK_VS_INFO *tsk_vs_sun_open(TSK_IMG_INFO *, TSK_DADDR_T); 31 extern TSK_VS_INFO *tsk_vs_gpt_open(TSK_IMG_INFO *, TSK_DADDR_T); 32 33 extern uint8_t tsk_vs_part_unused(TSK_VS_INFO *); 34 extern TSK_VS_PART_INFO *tsk_vs_part_add(TSK_VS_INFO *, TSK_DADDR_T, 35 TSK_DADDR_T, TSK_VS_PART_FLAG_ENUM, char *, int8_t, int8_t); 36 extern void tsk_vs_part_free(TSK_VS_INFO *); 37 38 // Endian macros - actual functions in misc/ 39 #define tsk_vs_guessu16(vs, x, mag) \ 40 tsk_guess_end_u16(&(vs->endian), (x), (mag)) 41 42 #define tsk_vs_guessu32(vs, x, mag) \ 43 tsk_guess_end_u32(&(vs->endian), (x), (mag)) 44 45 #define tsk_vs_guessu64(vs, x, mag) \ 46 tsk_guess_end_u64(&(vs->endian), (x), (mag)) 47 48 #endif 49