img_tools.h

Go to the documentation of this file.
00001 /*
00002  * The Sleuth Kit
00003  *
00004  * $Date: 2007/11/29 02:21:43 $
00005  *
00006  * Brian Carrier [carrier@sleuthkit.org]
00007  * Copyright (c) 2005 Brian Carrier.  All rights reserved 
00008  */
00009 #ifndef _IMG_TOOLS_H
00010 #define _IMG_TOOLS_H
00011 
00012 #include "aux_tools.h"
00013 
00014 #include <string.h>
00015 #include <fcntl.h>
00016 #include <errno.h>
00017 
00018 
00024 #ifdef HAVE_UNISTD
00025 #include <unistd.h>
00026 #endif
00027 
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031 
00032 
00038     enum TSK_IMG_INFO_TYPE_ENUM {
00039         TSK_IMG_INFO_TYPE_IMG_MASK = 0xf0,      
00040         TSK_IMG_INFO_TYPE_SUB_MASK = 0x0f,      
00041 
00042         TSK_IMG_INFO_TYPE_UNSUPP = 0x00,        
00043 
00044         /* RAW */
00045         TSK_IMG_INFO_TYPE_RAW_TYPE = 0x10,      
00046         TSK_IMG_INFO_TYPE_RAW_SING = 0x11,      
00047         TSK_IMG_INFO_TYPE_RAW_SPLIT = 0x12,     
00048 
00049         /* AFF */
00050         TSK_IMG_INFO_TYPE_AFF_TYPE = 0x20,      
00051         TSK_IMG_INFO_TYPE_AFF_AFF = 0x21,       
00052         TSK_IMG_INFO_TYPE_AFF_AFD = 0x22,       
00053         TSK_IMG_INFO_TYPE_AFF_AFM = 0x23,       
00054 
00055         /* EWF */
00056         TSK_IMG_INFO_TYPE_EWF_TYPE = 0x30,      
00057         TSK_IMG_INFO_TYPE_EWF_EWF = 0x31        
00058     };
00059     typedef enum TSK_IMG_INFO_TYPE_ENUM TSK_IMG_INFO_TYPE_ENUM;
00060 
00061     typedef struct TSK_IMG_INFO TSK_IMG_INFO;
00062 
00067     struct TSK_IMG_INFO {
00068 
00069         TSK_IMG_INFO *next;     
00070         TSK_IMG_INFO_TYPE_ENUM itype;   
00071         OFF_T size;             
00072 
00074          SSIZE_T(*read_random) (TSK_IMG_INFO *, OFF_T, char *, OFF_T,
00075             OFF_T);
00076 
00077          OFF_T(*get_size) (TSK_IMG_INFO *);
00078         void (*close) (TSK_IMG_INFO *);
00079         void (*imgstat) (TSK_IMG_INFO *, FILE *);
00080     };
00081 
00082 
00083     extern TSK_IMG_INFO *tsk_img_open(const TSK_TCHAR *, const int,
00084         const TSK_TCHAR **);
00085 
00086 
00087 /********* TYPES *******/
00088     extern TSK_IMG_INFO_TYPE_ENUM tsk_img_parse_type(const TSK_TCHAR *);
00089     extern void tsk_img_print_types(FILE *);
00090     extern char *tsk_img_get_type(TSK_IMG_INFO_TYPE_ENUM);
00091 
00092 
00093 
00094 
00095 #ifdef __cplusplus
00096 }
00097 #endif
00098 #endif

Generated on Wed Nov 28 16:11:15 2007 for The Sleuth Kit (Incomplete) by  doxygen 1.5.1