Pin
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions | Variables
util.cpp File Reference
#include "level_base.H"
#include <sys/times.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <errno.h>
#include "my_unistd.H"

Functions

CHAR * LEVEL_BASE::GetCmdArg (const CHAR *cmdPtr, BOOL isFile, CHAR *buf, size_t bufSize, size_t *pArgSize, const CHAR **pNextPtr)
 
CHAR * LEVEL_BASE::GetAppCmdLine (const CHAR *pinCmdLine)
 
string LEVEL_BASE::SplitString (string *input, const string &delimiter=" ")
 
VOID LEVEL_BASE::SetAddress0x (BOOL val)
 
BOOL LEVEL_BASE::CharIsSpace (CHAR c)
 
CHAR LEVEL_BASE::CharToUpper (CHAR c)
 
string LEVEL_BASE::ptrstr (const VOID *val)
 
string LEVEL_BASE::StringFromAddrint (ADDRINT l)
 
string LEVEL_BASE::StringDec (UINT64 l, UINT32 digits, CHAR padding)
 
string LEVEL_BASE::StringDecSigned (INT64 l, UINT32 digits, CHAR padding)
 
string LEVEL_BASE::StringBignum (INT64 l, UINT32 digits, CHAR padding)
 
string LEVEL_BASE::Reformat (const string &s, const string &prefix, UINT32 min_line, UINT32 max_line)
 
string LEVEL_BASE::StringHex32 (UINT32 l, UINT32 digits, BOOL prefix_0x)
 
LOCALFUN VOID LEVEL_BASE::InsertCommas (CHAR *buffer, INT32 width)
 
string LEVEL_BASE::StringFlt (FLT64 val, UINT32 precision, UINT32 width)
 
string LEVEL_BASE::StringBool (BOOL b)
 
string LEVEL_BASE::StringTri (TRI t)
 
INT32 LEVEL_BASE::Int32FromString (const string &s)
 
UINT32 LEVEL_BASE::Uint32FromString (const string &s)
 
UINT64 LEVEL_BASE::Uint64FromString (const string &s)
 
FLT64 LEVEL_BASE::FLT64FromString (const string &s)
 
INT LEVEL_BASE::CharToHexDigit (CHAR c)
 
ADDRINT LEVEL_BASE::AddrintFromString (const string &str)
 
UINT32 LEVEL_BASE::BitCount (ADDRINT val)
 
string LEVEL_BASE::ReadLine (istream &inputFile, UINT32 *lineNum)
 
UINT32 LEVEL_BASE::Tokenize (const string &line, string *array, UINT32 n)
 
string LEVEL_BASE::StringHex (UINT32 l, UINT32 digits, BOOL prefix_0x=TRUE)
 
string LEVEL_BASE::decstr (INT64 val, UINT32 width=0)
 
string LEVEL_BASE::decstr (INT32 val, UINT32 width=0)
 
string LEVEL_BASE::decstr (INT16 val, UINT32 width=0)
 
string LEVEL_BASE::decstr (UINT64 val, UINT32 width=0)
 
string LEVEL_BASE::decstr (UINT32 val, UINT32 width=0)
 
string LEVEL_BASE::decstr (UINT16 val, UINT32 width=0)
 
string LEVEL_BASE::hexstr (INT64 val, UINT32 width=0)
 
string LEVEL_BASE::hexstr (INT32 val, UINT32 width=0)
 
string LEVEL_BASE::hexstr (INT16 val, UINT32 width=0)
 
string LEVEL_BASE::hexstr (UINT64 val, UINT32 width=0)
 
string LEVEL_BASE::hexstr (VOID *p, UINT32 width=0)
 
string LEVEL_BASE::hexstr (const VOID *p, UINT32 width=0)
 
string LEVEL_BASE::hexstr (UINT32 val, UINT32 width=0)
 
string LEVEL_BASE::hexstr (UINT16 val, UINT32 width=0)
 
string LEVEL_BASE::fltstr (FLT64 val, UINT32 prec=0, UINT32 width=0)
 
string LEVEL_BASE::ljstr (const string &s, UINT32 width, CHAR padding= ' ')
 
template<typename ITER , typename CONV >
GLOBALTEMPLATEFUN string LEVEL_BASE::StringSequence (ITER begin, ITER end, const CONV &conv, const string &delimiter=string(" "))
 
VOID * LEVEL_BASE::Addrint2VoidStar (ADDRINT addr)
 
ADDRINT LEVEL_BASE::VoidStar2Addrint (const VOID *addr)
 
ADDRINT LEVEL_BASE::VoidStar2Addrint (VOID *addr)
 
template<typename T >
GLOBALTEMPLATEFUN BOOL LEVEL_BASE::IsPowerOf2 (T value)
 
template<typename T >
GLOBALTEMPLATEFUN T LEVEL_BASE::RoundToNextPower2 (T value)
 
template<typename T >
GLOBALTEMPLATEFUN T LEVEL_BASE::RoundUp (T value, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN T * LEVEL_BASE::RoundUp (T *ptr, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN T LEVEL_BASE::RoundUpPowerOf2 (T value, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN T * LEVEL_BASE::RoundUpPowerOf2 (T *ptr, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN T LEVEL_BASE::RoundDown (T value, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN T * LEVEL_BASE::RoundDown (T *ptr, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN T LEVEL_BASE::RoundDownPowerOf2 (T value, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN T * LEVEL_BASE::RoundDownPowerOf2 (T *ptr, size_t alignment)
 
template<typename T >
GLOBALTEMPLATEFUN ADDRINT LEVEL_BASE::PointerToInt (const T *ptr)
 
template<typename T >
GLOBALTEMPLATEFUN T * LEVEL_BASE::IntToPointer (ADDRINT addr)
 
INT64 LEVEL_BASE::VoidStar2Int (VOID *addr)
 
BOOL LEVEL_BASE::UnsignedImmediateFits (const UINT64 value, const UINT32 bits)
 
void LEVEL_BASE::RangeCheck (const UINT32 value, const UINT32 bits)
 
BOOL LEVEL_BASE::SignedImmediateFits (const INT64 value, const UINT32 origSize, const UINT32 extendedSize)
 
BOOL LEVEL_BASE::SignedImmediateFits (const INT64 value, const UINT32 origSize)
 
template<UINT32 size>
GLOBALTEMPLATEFUN UINT32 LEVEL_BASE::internalHashData (UINT32 prevHash, const CHAR *bytes)
 
template<>
GLOBALTEMPLATEFUN UINT32 LEVEL_BASE::internalHashData< 1 > (UINT32 prevHash, const CHAR *bytes)
 
template<>
GLOBALTEMPLATEFUN UINT32 LEVEL_BASE::internalHashData< 2 > (UINT32 prevHash, const CHAR *bytes)
 
template<>
GLOBALTEMPLATEFUN UINT32 LEVEL_BASE::internalHashData< 4 > (UINT32 prevHash, const CHAR *bytes)
 
template<>
GLOBALTEMPLATEFUN UINT32 LEVEL_BASE::internalHashData< 8 > (UINT32 prevHash, const CHAR *bytes)
 
template<typename T >
GLOBALTEMPLATEFUN UINT32 LEVEL_BASE::HashData (UINT32 oldHash, const T &data)
 
BOOL LEVEL_BASE::HasBaseName (const char *fileName, const char *baseNameToCheckFor)
 
INT32 LEVEL_BASE::MEMORY_ReadInt32 (ADDRINT address)
 
VOID LEVEL_BASE::MEMORY_WriteInt32 (ADDRINT address, INT32 value)
 
UINT32 LEVEL_BASE::MEMORY_ReadUint32 (ADDRINT address)
 
VOID LEVEL_BASE::MEMORY_WriteUint32 (ADDRINT address, UINT32 value)
 
INT64 LEVEL_BASE::MEMORY_ReadInt64 (ADDRINT address)
 
VOID LEVEL_BASE::MEMORY_WriteInt64 (ADDRINT address, INT64 value)
 
UINT64 LEVEL_BASE::MEMORY_ReadUint64 (ADDRINT address)
 
VOID LEVEL_BASE::MEMORY_WriteUint64 (ADDRINT address, UINT32 value)
 
ADDRINT LEVEL_BASE::GetPageOfAddr (ADDRINT addr)
 
ADDRINT LEVEL_BASE::ProgramEntry (const ImageLoaderInfo *mainImage, const ImageLoaderInfo *loader)
 
string LEVEL_BASE::Joinpath (string s1, string s2)
 
string LEVEL_BASE::Basename (const string &path)
 
CHAR * LEVEL_BASE::CreateTmpFileName (const CHAR *fnameTemplate)
 
const VOID * LEVEL_BASE::GetSp ()
 
size_t LEVEL_BASE::PtrDiff (const VOID *ptr1, const VOID *ptr2)
 
VOID * LEVEL_BASE::PtrAtOffset (VOID *ptr, size_t offset)
 
const VOID * LEVEL_BASE::PtrAtOffset (const VOID *ptr, size_t offset)
 
template<typename T >
GLOBALTEMPLATEFUN VOID * LEVEL_BASE::PushDataToStack (VOID *stack, const T *data, size_t alignment=1, size_t size=sizeof(T))
 
VOID * LEVEL_BASE::PushAddrintToStack (VOID *stack, ADDRINT value)
 
string LEVEL_BASE::MemRangeToString (const MemRange &range)
 
MemRange LEVEL_BASE::MemPageRange (ADDRINT addr)
 
MemRange LEVEL_BASE::MemPageRange (const VOID *addr)
 
STAT_NORM LEVEL_BASE::StatRawMmapBytes ("mem","bytes","RawMmap","",&StatReservedBytes)
 
STAT_NORM LEVEL_BASE::StatReservedBytes ("mem","bytes","Reserved","", 0)
 
LOCALVAR STAT_NORM LEVEL_BASE::StatOtherBytes ("mem","bytes","other","",&StatRawMmapBytes, TRUE)
 
USIZE LEVEL_BASE::GetRawMmapBytes ()
 
VOID LEVEL_BASE::UpdateRawMmapBytes ()
 
VOID LEVEL_BASE::PullinPinMalloc ()
 
const CHAR * LEVEL_BASE::GetEnvFromArray (const CHAR *envArray[], const CHAR *name)
 

Variables

LOCALVAR BOOL LEVEL_BASE::Address0x = false
 
LOCALVAR const CHAR LEVEL_BASE::HexTab [] = "0123456789abcdef"
 

Detailed Description

This module contains useful utility functions.