aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/linux-headers/linux/dma-buf.h
blob: 40299024c80107d3b1e0f5672cc75bd09aad39ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 
/* 
 * Framework for buffer objects that can be shared across devices/subsystems. 
 * 
 * Copyright(C) 2015 Intel Ltd 
 * 
 * This program is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU General Public License version 2 as published by 
 * the Free Software Foundation. 
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT 
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
 * more details. 
 * 
 * You should have received a copy of the GNU General Public License along with 
 * this program.  If not, see <http://www.gnu.org/licenses/>. 
 */ 
 
#ifndef _DMA_BUF_UAPI_H_ 
#define _DMA_BUF_UAPI_H_ 
 
#include <linux/types.h> 
 
/* begin/end dma-buf functions used for userspace mmap. */ 
struct dma_buf_sync { 
	__u64 flags; 
}; 
 
#define DMA_BUF_SYNC_READ      (1 << 0) 
#define DMA_BUF_SYNC_WRITE     (2 << 0) 
#define DMA_BUF_SYNC_RW        (DMA_BUF_SYNC_READ | DMA_BUF_SYNC_WRITE) 
#define DMA_BUF_SYNC_START     (0 << 2) 
#define DMA_BUF_SYNC_END       (1 << 2) 
#define DMA_BUF_SYNC_VALID_FLAGS_MASK \ 
	(DMA_BUF_SYNC_RW | DMA_BUF_SYNC_END) 
 
#define DMA_BUF_NAME_LEN	32 
 
#define DMA_BUF_BASE		'b' 
#define DMA_BUF_IOCTL_SYNC	_IOW(DMA_BUF_BASE, 0, struct dma_buf_sync) 
 
/* 32/64bitness of this uapi was botched in android, there's no difference 
 * between them in actual uapi, they're just different numbers. 
 */ 
#define DMA_BUF_SET_NAME	_IOW(DMA_BUF_BASE, 1, const char *) 
#define DMA_BUF_SET_NAME_A	_IOW(DMA_BUF_BASE, 1, u32) 
#define DMA_BUF_SET_NAME_B	_IOW(DMA_BUF_BASE, 1, u64) 
 
#endif