Home | History | Annotate | Download | only in utils
      1 /* utils/ashmem.h
      2  **
      3  ** Copyright 2008 The Android Open Source Project
      4  **
      5  ** This file is dual licensed.  It may be redistributed and/or modified
      6  ** under the terms of the Apache 2.0 License OR version 2 of the GNU
      7  ** General Public License.
      8  */
      9 
     10 #ifndef _UTILS_ASHMEM_H
     11 #define _UTILS_ASHMEM_H
     12 
     13 #include <linux/limits.h>
     14 #include <linux/ioctl.h>
     15 
     16 #define ASHMEM_NAME_LEN		256
     17 
     18 #define ASHMEM_NAME_DEF		"dev/ashmem"
     19 
     20 /* Return values from ASHMEM_PIN: Was the mapping purged while unpinned? */
     21 #define ASHMEM_NOT_REAPED	0
     22 #define ASHMEM_WAS_REAPED	1
     23 
     24 /* Return values from ASHMEM_UNPIN: Is the mapping now pinned or unpinned? */
     25 #define ASHMEM_NOW_UNPINNED	0
     26 #define ASHMEM_NOW_PINNED	1
     27 
     28 #define __ASHMEMIOC		0x77
     29 
     30 #define ASHMEM_SET_NAME		_IOW(__ASHMEMIOC, 1, char[ASHMEM_NAME_LEN])
     31 #define ASHMEM_GET_NAME		_IOR(__ASHMEMIOC, 2, char[ASHMEM_NAME_LEN])
     32 #define ASHMEM_SET_SIZE		_IOW(__ASHMEMIOC, 3, size_t)
     33 #define ASHMEM_GET_SIZE		_IO(__ASHMEMIOC, 4)
     34 #define ASHMEM_SET_PROT_MASK	_IOW(__ASHMEMIOC, 5, unsigned long)
     35 #define ASHMEM_GET_PROT_MASK	_IO(__ASHMEMIOC, 6)
     36 #define ASHMEM_PIN		_IO(__ASHMEMIOC, 7)
     37 #define ASHMEM_UNPIN		_IO(__ASHMEMIOC, 8)
     38 #define ASHMEM_ISPINNED		_IO(__ASHMEMIOC, 9)
     39 #define ASHMEM_PURGE_ALL_CACHES	_IO(__ASHMEMIOC, 10)
     40 
     41 #endif	/* _UTILS_ASHMEM_H */
     42