⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tsk_os.h

📁 linux下开发的针对所有磁盘的数据恢复的源码
💻 H
字号:
/*** The Sleuth Kit **** Brian Carrier [carrier <at> sleuthkit [dot] org]** Copyright (c) 2004-2005 Brian Carrier.  All rights reserved*//** \file tsk_os.h * Contains some OS-specific type settings. */#ifndef _TSK_OS_H#define _TSK_OS_H    /*     * Solaris 2.x. Build for large files when dealing with filesystems > 2GB.     * With the 32-bit file model, needs pread() to access filesystems > 2GB.     */#if defined(sun)#include <sys/sysmacros.h>#endif#if defined(__CYGWIN__)#ifndef roundup#define roundup(x, y)	\	( ( ((x)+((y) - 1)) / (y)) * (y) )#endif#endif#if defined(__INTERNIX)#define roundup(x, y)	\	( ( ((x)+((y) - 1)) / (y)) * (y) )#endif// mingw Windows cross compile#ifdef __MINGW32__#ifndef UNICODE#define UNICODE#endif#ifndef _UNICODE#define _UNICODE#endif#include <windows.h>#include <wchar.h>#define TSK_WIN32#define roundup(x, y)   \    ( ( ((x)+((y) - 1)) / (y)) * (y) )#define fseeko fseek#define daddr_t int#endif// Visual Studio / Windows#ifdef _MSC_VER#define TSK_WIN32#ifndef UNICODE#define UNICODE#endif#ifndef _UNICODE#define _UNICODE#endif#define WIN32_LEAN_AND_MEAN     /* somewhat limit Win32 pollution */#define _CRT_SECURE_NO_DEPRECATE	1#include <windows.h>#include <shellapi.h>#include <tchar.h>#include <io.h>#include "intrin.h"// define the sized int typestypedef unsigned __int8 uint8_t;typedef __int8 int8_t;typedef unsigned __int16 uint16_t;typedef __int16 int16_t;typedef unsigned __int32 uint32_t;typedef __int32 int32_t;typedef unsigned __int64 uint64_t;typedef __int64 int64_t;// define the typical unix typestypedef int mode_t;typedef int ssize_t;// remap some of the POSIX functions#define snprintf   _snprintf#define strcasecmp(string1, string2)	_stricmp(string1, string2)#define roundup(x, y)	\	( ( ((x)+((y) - 1)) / (y)) * (y) )#define fseeko _fseeki64#endif/* When TSK deals with the outside world (printing / input), the data will  * be in either UTF-16 or UTF-8 (Windows or Unix).  TSK_TCHAR is defined  * as the data type needed and the following function map to the required  * function.  */#ifdef TSK_WIN32/* TSK_TCHAR is a wide 2-byte character */typedef WCHAR TSK_TCHAR;        ///< Character data type that is UTF-16 (wchar_t) in Windows and UTF-8 (char) in Unix#define _TSK_T(x)      L ## x#define TSTRTOK	wcstok#define TSTRLEN	wcslen#define TSTRCMP	wcscmp#define TSTRNCMP	wcsncmp#define TSTRNCPY wcsncpy#define TSTRNCAT wcsncat#define TSTRCHR	wcschr#define TSTRTOUL wcstoul#define TATOI	_wtoi#define TFPRINTF fwprintf#define TSNPRINTF _snwprintf#define PUTENV	_wputenv#define TZSET	_tzset#define TSTAT _wstat#if defined(_MSC_VER)#define TSTRTOULL _wcstoui64#define STAT_STR    _stat64i32#elif defined(__MINGW32__)#define TSTRTOULL wcstoull#define STAT_STR    _stat#endif#define PRIcTSK _TSK_T("S")     ///< sprintf macro to print a UTF-8 char string to TSK_TCHAR buffer#define PRIwTSK _TSK_T("s")     ///< sprintf macro to print a UTF-16 wchar_t string to TSK_TCHAR buffer#define PRIttocTSK  "S"         ///< printf macro to print a TSK_TCHAR string to stderr or other char device#define PRIuSIZE "Iu"           ///< printf macro to print a size_t value in Windows printf codes#define unlink _unlink#define GETOPT tsk_getopt       // points to local wchar version#define OPTIND tsk_optind#define OPTARG tsk_optarg#define strtok_r(a,b,c) strtok(a,b)// Non-Win32#else/* TSK_TCHAR is a 1-byte character */typedef char TSK_TCHAR;         ///< Character data type that is UTF-16 (wchar_t) in Windows and UTF-8 (char) in Unix#define _TSK_T(x)	x#define TSTAT	stat#define STAT_STR    stat#define TSTRTOK	strtok#define TSTRLEN	strlen#define TSTRCMP	strcmp#define TSTRNCMP strncmp#define TSTRNCPY strncpy#define TSTRNCAT strncat#define TSTRCHR	strchr#define TSTRTOUL strtoul#define TSTRTOULL strtoull#define TATOI	atoi#define TFPRINTF fprintf#define TSNPRINTF snprintf#define PUTENV	putenv#define TZSET	tzset#define PRIcTSK _TSK_T("s")     ///< sprintf macro to print a UTF-8 char string to TSK_TCHAR buffer#define PRIwTSK _TSK_T("S")     ///< sprintf macro to print a UTF-16 wchar_t string to TSK_TCHAR buffer#define PRIttocTSK  "s"         ///< printf macro to print a TSK_TCHAR string to stderr or other char device#define PRIuSIZE "zu"           ///< printf macro to print a size_t value in non-Windows printf codes#define GETOPT getopt           // points to system char * version#define OPTIND optind           // points to system char * variable#define OPTARG optarg           // points to system char * variable#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -