1252190Srpaulo/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2252190Srpaulo#ifndef _UAPI_LINUX_UDMABUF_H
3252190Srpaulo#define _UAPI_LINUX_UDMABUF_H
4252190Srpaulo
5252190Srpaulo#include <linux/types.h>
6252190Srpaulo#include <linux/ioctl.h>
7252190Srpaulo
8252190Srpaulo#define UDMABUF_FLAGS_CLOEXEC	0x01
9252190Srpaulo
10252190Srpaulostruct udmabuf_create {
11252190Srpaulo	__u32 memfd;
12252190Srpaulo	__u32 flags;
13252190Srpaulo	__u64 offset;
14252190Srpaulo	__u64 size;
15252190Srpaulo};
16252190Srpaulo
17252190Srpaulostruct udmabuf_create_item {
18252190Srpaulo	__u32 memfd;
19252190Srpaulo	__u32 __pad;
20252190Srpaulo	__u64 offset;
21252190Srpaulo	__u64 size;
22252190Srpaulo};
23252190Srpaulo
24252190Srpaulostruct udmabuf_create_list {
25252190Srpaulo	__u32 flags;
26252190Srpaulo	__u32 count;
27252190Srpaulo	struct udmabuf_create_item list[];
28252190Srpaulo};
29252190Srpaulo
30252190Srpaulo#define UDMABUF_CREATE       _IOW('u', 0x42, struct udmabuf_create)
31252190Srpaulo#define UDMABUF_CREATE_LIST  _IOW('u', 0x43, struct udmabuf_create_list)
32252190Srpaulo
33252190Srpaulo#endif /* _UAPI_LINUX_UDMABUF_H */
34252190Srpaulo