ashmem.h revision dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0
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
13dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#ifdef __cplusplus
14dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectextern "C" {
15dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif
16dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
17dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_create_region(const char *name, size_t size);
18dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_set_prot_region(int fd, int prot);
19dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_pin_region(int fd, size_t offset, size_t len);
20dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint ashmem_unpin_region(int fd, size_t offset, size_t len);
21dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
22dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#ifdef __cplusplus
23dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project}
24dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif
25dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
26dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#ifndef __ASHMEMIOC	/* in case someone included <linux/ashmem.h> too */
27dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
28dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_NAME_LEN		256
29dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
30dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_NAME_DEF		"dev/ashmem"
31dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
32dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project/* Return values from ASHMEM_PIN: Was the mapping purged while unpinned? */
33dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_NOT_PURGED	0
34dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_WAS_PURGED	1
35dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
36dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project/* Return values from ASHMEM_UNPIN: Is the mapping now pinned or unpinned? */
37dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_IS_UNPINNED	0
38dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#define ASHMEM_IS_PINNED	1
39dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
40dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif	/* ! __ASHMEMIOC */
41dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
42dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#endif	/* _CUTILS_ASHMEM_H */
43