1 /* automatically generated by tools/bindgen-all-the-things */ 2 3 #![allow(non_upper_case_globals)] 4 #![allow(non_camel_case_types)] 5 #![allow(non_snake_case)] 6 #![allow(dead_code)] 7 8 #[repr(C)] 9 #[derive(Default)] 10 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]); 11 impl<T> __IncompleteArrayField<T> { 12 #[inline] new() -> Self13 pub const fn new() -> Self { 14 __IncompleteArrayField(::std::marker::PhantomData, []) 15 } 16 #[inline] as_ptr(&self) -> *const T17 pub fn as_ptr(&self) -> *const T { 18 self as *const _ as *const T 19 } 20 #[inline] as_mut_ptr(&mut self) -> *mut T21 pub fn as_mut_ptr(&mut self) -> *mut T { 22 self as *mut _ as *mut T 23 } 24 #[inline] as_slice(&self, len: usize) -> &[T]25 pub unsafe fn as_slice(&self, len: usize) -> &[T] { 26 ::std::slice::from_raw_parts(self.as_ptr(), len) 27 } 28 #[inline] as_mut_slice(&mut self, len: usize) -> &mut [T]29 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { 30 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) 31 } 32 } 33 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> { fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result34 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { 35 fmt.write_str("__IncompleteArrayField") 36 } 37 } 38 pub const UDMABUF_FLAGS_CLOEXEC: u32 = 1; 39 #[repr(C)] 40 #[derive(Debug, Default, Copy, Clone)] 41 pub struct udmabuf_create { 42 pub memfd: u32, 43 pub flags: u32, 44 pub offset: u64, 45 pub size: u64, 46 } 47 #[repr(C)] 48 #[derive(Debug, Default, Copy, Clone)] 49 pub struct udmabuf_create_item { 50 pub memfd: u32, 51 pub __pad: u32, 52 pub offset: u64, 53 pub size: u64, 54 } 55 #[repr(C)] 56 #[derive(Debug, Default)] 57 pub struct udmabuf_create_list { 58 pub flags: u32, 59 pub count: u32, 60 pub list: __IncompleteArrayField<udmabuf_create_item>, 61 } 62