/* * Copyright 2006 The Android Open Source Project * * System utilities. */ #ifndef _MINZIP_SYSUTIL #define _MINZIP_SYSUTIL #include "inline_magic.h" #include /* * 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; } /* * 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); /* * 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*/