1dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project/* cutils/ashmem.h 2dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project ** 3dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project ** Copyright 2008 The Android Open Source Project 4dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project ** 5dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project ** This file is dual licensed. It may be redistributed and/or modified 6dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project ** under the terms of the Apache 2.0 License OR version 2 of the GNU 7dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project ** General Public License. 8dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project */ 9dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 10dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#ifndef _CUTILS_ASHMEM_H 11dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define _CUTILS_ASHMEM_H 12dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 13143b370748150000fb54b676213470e736488766Carl Shapiro#include <stddef.h> 141d3faaf72f28c9d71dde067b74b1351cdbc9a758Mathias Agopian 15dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#ifdef __cplusplus 16dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectextern "C" { 17dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif 18dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 19dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_create_region(const char *name, size_t size); 20dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_set_prot_region(int fd, int prot); 21dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_pin_region(int fd, size_t offset, size_t len); 22dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_unpin_region(int fd, size_t offset, size_t len); 237be52b1a0e052635b361f9d8c186adbbcc981b7eBjorn Bringertint ashmem_get_size_region(int fd); 24dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 25dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#ifdef __cplusplus 26dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project} 27dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif 28dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 29dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#ifndef __ASHMEMIOC /* in case someone included <linux/ashmem.h> too */ 30dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 31dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_NAME_LEN 256 32dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 33dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_NAME_DEF "dev/ashmem" 34dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 35dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project/* Return values from ASHMEM_PIN: Was the mapping purged while unpinned? */ 36dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_NOT_PURGED 0 37dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_WAS_PURGED 1 38dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 39dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project/* Return values from ASHMEM_UNPIN: Is the mapping now pinned or unpinned? */ 40dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_IS_UNPINNED 0 41dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_IS_PINNED 1 42dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 43dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif /* ! __ASHMEMIOC */ 44dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 45dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif /* _CUTILS_ASHMEM_H */ 46