diff options
author | Dees Troy <dees_troy@teamw.in> | 2013-09-12 16:10:49 +0200 |
---|---|---|
committer | Gerrit Code Review <gerrit@198.50.184.117> | 2013-09-12 16:10:49 +0200 |
commit | 893136dc457c72a2557949da561b3dd50c3a0f29 (patch) | |
tree | b2164fc5d68f815fbd8b41ffc4009c0b17a97c74 /minzipold/SysUtil.h | |
parent | Merge "print out md5s to recovery.log" into twrp2.7 (diff) | |
parent | Kang in older minzip for building in CM9 & CM7 (diff) | |
download | android_bootable_recovery-893136dc457c72a2557949da561b3dd50c3a0f29.tar android_bootable_recovery-893136dc457c72a2557949da561b3dd50c3a0f29.tar.gz android_bootable_recovery-893136dc457c72a2557949da561b3dd50c3a0f29.tar.bz2 android_bootable_recovery-893136dc457c72a2557949da561b3dd50c3a0f29.tar.lz android_bootable_recovery-893136dc457c72a2557949da561b3dd50c3a0f29.tar.xz android_bootable_recovery-893136dc457c72a2557949da561b3dd50c3a0f29.tar.zst android_bootable_recovery-893136dc457c72a2557949da561b3dd50c3a0f29.zip |
Diffstat (limited to 'minzipold/SysUtil.h')
-rw-r--r-- | minzipold/SysUtil.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/minzipold/SysUtil.h b/minzipold/SysUtil.h new file mode 100644 index 000000000..ec3a4bcfb --- /dev/null +++ b/minzipold/SysUtil.h @@ -0,0 +1,61 @@ +/* + * Copyright 2006 The Android Open Source Project + * + * System utilities. + */ +#ifndef _MINZIP_SYSUTIL +#define _MINZIP_SYSUTIL + +#include "inline_magic.h" + +#include <sys/types.h> + +/* + * Use this to keep track of mapped segments. + */ +typedef struct MemMapping { + void* addr; /* start of data */ + size_t length; /* length of data */ + + void* baseAddr; /* page-aligned base address */ + size_t baseLength; /* length of mapping */ +} MemMapping; + +/* copy a map */ +INLINE void sysCopyMap(MemMapping* dst, const MemMapping* src) { + *dst = *src; +} + +/* + * Load a file into a new shared memory segment. All data from the current + * offset to the end of the file is pulled in. + * + * The segment is read-write, allowing VM fixups. (It should be modified + * to support .gz/.zip compressed data.) + * + * On success, "pMap" is filled in, and zero is returned. + */ +int sysLoadFileInShmem(int fd, MemMapping* pMap); + +/* + * Map a file (from fd's current offset) into a shared, + * read-only memory segment. + * + * On success, "pMap" is filled in, and zero is returned. + */ +int sysMapFileInShmem(int fd, MemMapping* pMap); + +/* + * Like sysMapFileInShmem, but on only part of a file. + */ +int sysMapFileSegmentInShmem(int fd, off_t start, long length, + MemMapping* pMap); + +/* + * Release the pages associated with a shared memory segment. + * + * This does not free "pMap"; it just releases the memory. + */ +void sysReleaseShmem(MemMapping* pMap); + +#endif /*_MINZIP_SYSUTIL*/ |