1*fbb0de79SGerd Hoffmann /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*fbb0de79SGerd Hoffmann #ifndef _UAPI_LINUX_UDMABUF_H 3*fbb0de79SGerd Hoffmann #define _UAPI_LINUX_UDMABUF_H 4*fbb0de79SGerd Hoffmann 5*fbb0de79SGerd Hoffmann #include <linux/types.h> 6*fbb0de79SGerd Hoffmann #include <linux/ioctl.h> 7*fbb0de79SGerd Hoffmann 8*fbb0de79SGerd Hoffmann #define UDMABUF_FLAGS_CLOEXEC 0x01 9*fbb0de79SGerd Hoffmann 10*fbb0de79SGerd Hoffmann struct udmabuf_create { 11*fbb0de79SGerd Hoffmann __u32 memfd; 12*fbb0de79SGerd Hoffmann __u32 flags; 13*fbb0de79SGerd Hoffmann __u64 offset; 14*fbb0de79SGerd Hoffmann __u64 size; 15*fbb0de79SGerd Hoffmann }; 16*fbb0de79SGerd Hoffmann 17*fbb0de79SGerd Hoffmann struct udmabuf_create_item { 18*fbb0de79SGerd Hoffmann __u32 memfd; 19*fbb0de79SGerd Hoffmann __u32 __pad; 20*fbb0de79SGerd Hoffmann __u64 offset; 21*fbb0de79SGerd Hoffmann __u64 size; 22*fbb0de79SGerd Hoffmann }; 23*fbb0de79SGerd Hoffmann 24*fbb0de79SGerd Hoffmann struct udmabuf_create_list { 25*fbb0de79SGerd Hoffmann __u32 flags; 26*fbb0de79SGerd Hoffmann __u32 count; 27*fbb0de79SGerd Hoffmann struct udmabuf_create_item list[]; 28*fbb0de79SGerd Hoffmann }; 29*fbb0de79SGerd Hoffmann 30*fbb0de79SGerd Hoffmann #define UDMABUF_CREATE _IOW('u', 0x42, struct udmabuf_create) 31*fbb0de79SGerd Hoffmann #define UDMABUF_CREATE_LIST _IOW('u', 0x43, struct udmabuf_create_list) 32*fbb0de79SGerd Hoffmann 33*fbb0de79SGerd Hoffmann #endif /* _UAPI_LINUX_UDMABUF_H */ 34