diff options
author | Tianjie Xu <xunchang@google.com> | 2016-09-09 05:10:11 +0200 |
---|---|---|
committer | Tianjie Xu <xunchang@google.com> | 2016-10-18 02:41:51 +0200 |
commit | 8cf5c8f60f51049278b08ae4cbc31df397b651fd (patch) | |
tree | a49e8f62581f0fbc8f7e352ee780220130435a6f /otautil/SysUtil.h | |
parent | Merge "Change StringValue to use std::string" (diff) | |
download | android_bootable_recovery-8cf5c8f60f51049278b08ae4cbc31df397b651fd.tar android_bootable_recovery-8cf5c8f60f51049278b08ae4cbc31df397b651fd.tar.gz android_bootable_recovery-8cf5c8f60f51049278b08ae4cbc31df397b651fd.tar.bz2 android_bootable_recovery-8cf5c8f60f51049278b08ae4cbc31df397b651fd.tar.lz android_bootable_recovery-8cf5c8f60f51049278b08ae4cbc31df397b651fd.tar.xz android_bootable_recovery-8cf5c8f60f51049278b08ae4cbc31df397b651fd.tar.zst android_bootable_recovery-8cf5c8f60f51049278b08ae4cbc31df397b651fd.zip |
Diffstat (limited to 'otautil/SysUtil.h')
-rw-r--r-- | otautil/SysUtil.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/otautil/SysUtil.h b/otautil/SysUtil.h new file mode 100644 index 000000000..7adff1e54 --- /dev/null +++ b/otautil/SysUtil.h @@ -0,0 +1,52 @@ +/* + * Copyright 2006 The Android Open Source Project + * + * System utilities. + */ +#ifndef _MINZIP_SYSUTIL +#define _MINZIP_SYSUTIL + +#include <stdio.h> +#include <sys/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct MappedRange { + void* addr; + size_t length; +} MappedRange; + +/* + * Use this to keep track of mapped segments. + */ +typedef struct MemMapping { + unsigned char* addr; /* start of data */ + size_t length; /* length of data */ + + int range_count; + MappedRange* ranges; +} MemMapping; + +/* + * Map a file into a private, read-only memory segment. If 'fn' + * begins with an '@' character, it is a map of blocks to be mapped, + * otherwise it is treated as an ordinary file. + * + * On success, "pMap" is filled in, and zero is returned. + */ +int sysMapFile(const char* fn, MemMapping* pMap); + +/* + * Release the pages associated with a shared memory segment. + * + * This does not free "pMap"; it just releases the memory. + */ +void sysReleaseMap(MemMapping* pMap); + +#ifdef __cplusplus +} +#endif + +#endif /*_MINZIP_SYSUTIL*/ |