From cf193c66d988637d9ddfb0acee82608a04f96402 Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Thu, 19 Apr 2007 19:54:07 +0000 Subject: Kickoff --- mystdlib.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 mystdlib.h (limited to 'mystdlib.h') diff --git a/mystdlib.h b/mystdlib.h new file mode 100644 index 0000000..2e9499f --- /dev/null +++ b/mystdlib.h @@ -0,0 +1,32 @@ +#include +#include + +typedef struct { int fh; unsigned char *addr; size_t size; } *MAP; + +/* Mapps a file into memory + returns pointer to the mapping struct, + containing the file's size, the mapped + address and its file handle. + + If readonly is true, the file will be + opened and mapped read only. File is + opened and mapped writable, if false. + + Returns NULL if memory could not be + allocated, file could not be opened or + mapped. Gives out an diagnostic message + on stderr +*/ +MAP map_file( char *filename, int readonly ); + +/* Unmapps a file from memory. NULL pointer + checks are being done, so this is safe + to be called from cleanup without knowing + whether there actually is a map. +*/ +void unmap_file ( MAP *pMap ); + +/* Gets file size of open file + returns != 0 in case of error */ +inline int getfilesize( int fd, unsigned long *size ); + -- cgit v1.2.3