rknpu_sys/
bindings_docs.rs

1/* automatically generated by rust-bindgen 0.72.0 */
2
3pub const _STDINT_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 0 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 41 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const RKNN_FLAG_PRIOR_HIGH : u32 = 0 ; pub const RKNN_FLAG_PRIOR_MEDIUM : u32 = 1 ; pub const RKNN_FLAG_PRIOR_LOW : u32 = 2 ; pub const RKNN_FLAG_ASYNC_MASK : u32 = 4 ; pub const RKNN_FLAG_COLLECT_PERF_MASK : u32 = 8 ; pub const RKNN_FLAG_MEM_ALLOC_OUTSIDE : u32 = 16 ; pub const RKNN_FLAG_SHARE_WEIGHT_MEM : u32 = 32 ; pub const RKNN_FLAG_FENCE_IN_OUTSIDE : u32 = 64 ; pub const RKNN_FLAG_FENCE_OUT_OUTSIDE : u32 = 128 ; pub const RKNN_FLAG_COLLECT_MODEL_INFO_ONLY : u32 = 256 ; pub const RKNN_FLAG_INTERNAL_ALLOC_OUTSIDE : u32 = 512 ; pub const RKNN_FLAG_EXECUTE_FALLBACK_PRIOR_DEVICE_GPU : u32 = 1024 ; pub const RKNN_FLAG_ENABLE_SRAM : u32 = 2048 ; pub const RKNN_FLAG_SHARE_SRAM : u32 = 4096 ; pub const RKNN_FLAG_DISABLE_PROC_HIGH_PRIORITY : u32 = 8192 ; pub const RKNN_FLAG_DISABLE_FLUSH_INPUT_MEM_CACHE : u32 = 16384 ; pub const RKNN_FLAG_DISABLE_FLUSH_OUTPUT_MEM_CACHE : u32 = 32768 ; pub const RKNN_FLAG_MODEL_BUFFER_ZERO_COPY : u32 = 65536 ; pub const RKNN_MEM_FLAG_ALLOC_NO_CONTEXT : u32 = 131072 ; pub const RKNN_SUCC : u32 = 0 ; pub const RKNN_ERR_FAIL : i32 = - 1 ; pub const RKNN_ERR_TIMEOUT : i32 = - 2 ; pub const RKNN_ERR_DEVICE_UNAVAILABLE : i32 = - 3 ; pub const RKNN_ERR_MALLOC_FAIL : i32 = - 4 ; pub const RKNN_ERR_PARAM_INVALID : i32 = - 5 ; pub const RKNN_ERR_MODEL_INVALID : i32 = - 6 ; pub const RKNN_ERR_CTX_INVALID : i32 = - 7 ; pub const RKNN_ERR_INPUT_INVALID : i32 = - 8 ; pub const RKNN_ERR_OUTPUT_INVALID : i32 = - 9 ; pub const RKNN_ERR_DEVICE_UNMATCH : i32 = - 10 ; pub const RKNN_ERR_INCOMPATILE_PRE_COMPILE_MODEL : i32 = - 11 ; pub const RKNN_ERR_INCOMPATILE_OPTIMIZATION_LEVEL_VERSION : i32 = - 12 ; pub const RKNN_ERR_TARGET_PLATFORM_UNMATCH : i32 = - 13 ; pub const RKNN_MAX_DIMS : u32 = 16 ; pub const RKNN_MAX_NUM_CHANNEL : u32 = 15 ; pub const RKNN_MAX_NAME_LEN : u32 = 256 ; pub const RKNN_MAX_DYNAMIC_SHAPE_NUM : u32 = 512 ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_uint ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __fsid_t"] [:: std :: mem :: size_of :: < __fsid_t > () - 8usize] ; ["Alignment of __fsid_t"] [:: std :: mem :: align_of :: < __fsid_t > () - 4usize] ; ["Offset of field: __fsid_t::__val"] [:: std :: mem :: offset_of ! (__fsid_t , __val) - 0usize] ; } ; pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_int ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type rknn_context = u64 ; impl _rknn_query_cmd { pub const RKNN_QUERY_IN_OUT_NUM : _rknn_query_cmd = _rknn_query_cmd (0) ; pub const RKNN_QUERY_INPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (1) ; pub const RKNN_QUERY_OUTPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (2) ; pub const RKNN_QUERY_PERF_DETAIL : _rknn_query_cmd = _rknn_query_cmd (3) ; pub const RKNN_QUERY_PERF_RUN : _rknn_query_cmd = _rknn_query_cmd (4) ; pub const RKNN_QUERY_SDK_VERSION : _rknn_query_cmd = _rknn_query_cmd (5) ; pub const RKNN_QUERY_MEM_SIZE : _rknn_query_cmd = _rknn_query_cmd (6) ; pub const RKNN_QUERY_CUSTOM_STRING : _rknn_query_cmd = _rknn_query_cmd (7) ; pub const RKNN_QUERY_NATIVE_INPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (8) ; pub const RKNN_QUERY_NATIVE_OUTPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (9) ; pub const RKNN_QUERY_NATIVE_NC1HWC2_INPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (8) ; pub const RKNN_QUERY_NATIVE_NC1HWC2_OUTPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (9) ; pub const RKNN_QUERY_NATIVE_NHWC_INPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (10) ; pub const RKNN_QUERY_NATIVE_NHWC_OUTPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (11) ; pub const RKNN_QUERY_DEVICE_MEM_INFO : _rknn_query_cmd = _rknn_query_cmd (12) ; pub const RKNN_QUERY_INPUT_DYNAMIC_RANGE : _rknn_query_cmd = _rknn_query_cmd (13) ; pub const RKNN_QUERY_CURRENT_INPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (14) ; pub const RKNN_QUERY_CURRENT_OUTPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (15) ; pub const RKNN_QUERY_CURRENT_NATIVE_INPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (16) ; pub const RKNN_QUERY_CURRENT_NATIVE_OUTPUT_ATTR : _rknn_query_cmd = _rknn_query_cmd (17) ; pub const RKNN_QUERY_CMD_MAX : _rknn_query_cmd = _rknn_query_cmd (18) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_query_cmd (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_query_cmd as rknn_query_cmd ; impl _rknn_tensor_type { pub const RKNN_TENSOR_FLOAT32 : _rknn_tensor_type = _rknn_tensor_type (0) ; pub const RKNN_TENSOR_FLOAT16 : _rknn_tensor_type = _rknn_tensor_type (1) ; pub const RKNN_TENSOR_INT8 : _rknn_tensor_type = _rknn_tensor_type (2) ; pub const RKNN_TENSOR_UINT8 : _rknn_tensor_type = _rknn_tensor_type (3) ; pub const RKNN_TENSOR_INT16 : _rknn_tensor_type = _rknn_tensor_type (4) ; pub const RKNN_TENSOR_UINT16 : _rknn_tensor_type = _rknn_tensor_type (5) ; pub const RKNN_TENSOR_INT32 : _rknn_tensor_type = _rknn_tensor_type (6) ; pub const RKNN_TENSOR_UINT32 : _rknn_tensor_type = _rknn_tensor_type (7) ; pub const RKNN_TENSOR_INT64 : _rknn_tensor_type = _rknn_tensor_type (8) ; pub const RKNN_TENSOR_BOOL : _rknn_tensor_type = _rknn_tensor_type (9) ; pub const RKNN_TENSOR_INT4 : _rknn_tensor_type = _rknn_tensor_type (10) ; pub const RKNN_TENSOR_BFLOAT16 : _rknn_tensor_type = _rknn_tensor_type (11) ; pub const RKNN_TENSOR_TYPE_MAX : _rknn_tensor_type = _rknn_tensor_type (12) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_tensor_type (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_tensor_type as rknn_tensor_type ; impl _rknn_tensor_qnt_type { pub const RKNN_TENSOR_QNT_NONE : _rknn_tensor_qnt_type = _rknn_tensor_qnt_type (0) ; pub const RKNN_TENSOR_QNT_DFP : _rknn_tensor_qnt_type = _rknn_tensor_qnt_type (1) ; pub const RKNN_TENSOR_QNT_AFFINE_ASYMMETRIC : _rknn_tensor_qnt_type = _rknn_tensor_qnt_type (2) ; pub const RKNN_TENSOR_QNT_MAX : _rknn_tensor_qnt_type = _rknn_tensor_qnt_type (3) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_tensor_qnt_type (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_tensor_qnt_type as rknn_tensor_qnt_type ; impl _rknn_tensor_format { pub const RKNN_TENSOR_NCHW : _rknn_tensor_format = _rknn_tensor_format (0) ; pub const RKNN_TENSOR_NHWC : _rknn_tensor_format = _rknn_tensor_format (1) ; pub const RKNN_TENSOR_NC1HWC2 : _rknn_tensor_format = _rknn_tensor_format (2) ; pub const RKNN_TENSOR_UNDEFINED : _rknn_tensor_format = _rknn_tensor_format (3) ; pub const RKNN_TENSOR_FORMAT_MAX : _rknn_tensor_format = _rknn_tensor_format (4) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_tensor_format (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_tensor_format as rknn_tensor_format ; impl _rknn_core_mask { pub const RKNN_NPU_CORE_AUTO : _rknn_core_mask = _rknn_core_mask (0) ; pub const RKNN_NPU_CORE_0 : _rknn_core_mask = _rknn_core_mask (1) ; pub const RKNN_NPU_CORE_1 : _rknn_core_mask = _rknn_core_mask (2) ; pub const RKNN_NPU_CORE_2 : _rknn_core_mask = _rknn_core_mask (4) ; pub const RKNN_NPU_CORE_0_1 : _rknn_core_mask = _rknn_core_mask (3) ; pub const RKNN_NPU_CORE_0_1_2 : _rknn_core_mask = _rknn_core_mask (7) ; pub const RKNN_NPU_CORE_ALL : _rknn_core_mask = _rknn_core_mask (65535) ; pub const RKNN_NPU_CORE_UNDEFINED : _rknn_core_mask = _rknn_core_mask (65536) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_core_mask (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_core_mask as rknn_core_mask ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_input_output_num { pub n_input : u32 , pub n_output : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_input_output_num"] [:: std :: mem :: size_of :: < _rknn_input_output_num > () - 8usize] ; ["Alignment of _rknn_input_output_num"] [:: std :: mem :: align_of :: < _rknn_input_output_num > () - 4usize] ; ["Offset of field: _rknn_input_output_num::n_input"] [:: std :: mem :: offset_of ! (_rknn_input_output_num , n_input) - 0usize] ; ["Offset of field: _rknn_input_output_num::n_output"] [:: std :: mem :: offset_of ! (_rknn_input_output_num , n_output) - 4usize] ; } ; pub type rknn_input_output_num = _rknn_input_output_num ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_tensor_attr { pub index : u32 , pub n_dims : u32 , pub dims : [u32 ; 16usize] , pub name : [:: std :: os :: raw :: c_char ; 256usize] , pub n_elems : u32 , pub size : u32 , pub fmt : rknn_tensor_format , pub type_ : rknn_tensor_type , pub qnt_type : rknn_tensor_qnt_type , pub fl : i8 , pub zp : i32 , pub scale : f32 , pub w_stride : u32 , pub size_with_stride : u32 , pub pass_through : u8 , pub h_stride : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_tensor_attr"] [:: std :: mem :: size_of :: < _rknn_tensor_attr > () - 376usize] ; ["Alignment of _rknn_tensor_attr"] [:: std :: mem :: align_of :: < _rknn_tensor_attr > () - 4usize] ; ["Offset of field: _rknn_tensor_attr::index"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , index) - 0usize] ; ["Offset of field: _rknn_tensor_attr::n_dims"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , n_dims) - 4usize] ; ["Offset of field: _rknn_tensor_attr::dims"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , dims) - 8usize] ; ["Offset of field: _rknn_tensor_attr::name"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , name) - 72usize] ; ["Offset of field: _rknn_tensor_attr::n_elems"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , n_elems) - 328usize] ; ["Offset of field: _rknn_tensor_attr::size"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , size) - 332usize] ; ["Offset of field: _rknn_tensor_attr::fmt"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , fmt) - 336usize] ; ["Offset of field: _rknn_tensor_attr::type_"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , type_) - 340usize] ; ["Offset of field: _rknn_tensor_attr::qnt_type"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , qnt_type) - 344usize] ; ["Offset of field: _rknn_tensor_attr::fl"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , fl) - 348usize] ; ["Offset of field: _rknn_tensor_attr::zp"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , zp) - 352usize] ; ["Offset of field: _rknn_tensor_attr::scale"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , scale) - 356usize] ; ["Offset of field: _rknn_tensor_attr::w_stride"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , w_stride) - 360usize] ; ["Offset of field: _rknn_tensor_attr::size_with_stride"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , size_with_stride) - 364usize] ; ["Offset of field: _rknn_tensor_attr::pass_through"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , pass_through) - 368usize] ; ["Offset of field: _rknn_tensor_attr::h_stride"] [:: std :: mem :: offset_of ! (_rknn_tensor_attr , h_stride) - 372usize] ; } ; pub type rknn_tensor_attr = _rknn_tensor_attr ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_input_range { pub index : u32 , pub shape_number : u32 , pub fmt : rknn_tensor_format , pub name : [:: std :: os :: raw :: c_char ; 256usize] , pub dyn_range : [[u32 ; 16usize] ; 512usize] , pub n_dims : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_input_range"] [:: std :: mem :: size_of :: < _rknn_input_range > () - 33040usize] ; ["Alignment of _rknn_input_range"] [:: std :: mem :: align_of :: < _rknn_input_range > () - 4usize] ; ["Offset of field: _rknn_input_range::index"] [:: std :: mem :: offset_of ! (_rknn_input_range , index) - 0usize] ; ["Offset of field: _rknn_input_range::shape_number"] [:: std :: mem :: offset_of ! (_rknn_input_range , shape_number) - 4usize] ; ["Offset of field: _rknn_input_range::fmt"] [:: std :: mem :: offset_of ! (_rknn_input_range , fmt) - 8usize] ; ["Offset of field: _rknn_input_range::name"] [:: std :: mem :: offset_of ! (_rknn_input_range , name) - 12usize] ; ["Offset of field: _rknn_input_range::dyn_range"] [:: std :: mem :: offset_of ! (_rknn_input_range , dyn_range) - 268usize] ; ["Offset of field: _rknn_input_range::n_dims"] [:: std :: mem :: offset_of ! (_rknn_input_range , n_dims) - 33036usize] ; } ; pub type rknn_input_range = _rknn_input_range ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_perf_detail { pub perf_data : * mut :: std :: os :: raw :: c_char , pub data_len : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_perf_detail"] [:: std :: mem :: size_of :: < _rknn_perf_detail > () - 16usize] ; ["Alignment of _rknn_perf_detail"] [:: std :: mem :: align_of :: < _rknn_perf_detail > () - 8usize] ; ["Offset of field: _rknn_perf_detail::perf_data"] [:: std :: mem :: offset_of ! (_rknn_perf_detail , perf_data) - 0usize] ; ["Offset of field: _rknn_perf_detail::data_len"] [:: std :: mem :: offset_of ! (_rknn_perf_detail , data_len) - 8usize] ; } ; pub type rknn_perf_detail = _rknn_perf_detail ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_perf_run { pub run_duration : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_perf_run"] [:: std :: mem :: size_of :: < _rknn_perf_run > () - 8usize] ; ["Alignment of _rknn_perf_run"] [:: std :: mem :: align_of :: < _rknn_perf_run > () - 8usize] ; ["Offset of field: _rknn_perf_run::run_duration"] [:: std :: mem :: offset_of ! (_rknn_perf_run , run_duration) - 0usize] ; } ; pub type rknn_perf_run = _rknn_perf_run ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_sdk_version { pub api_version : [:: std :: os :: raw :: c_char ; 256usize] , pub drv_version : [:: std :: os :: raw :: c_char ; 256usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_sdk_version"] [:: std :: mem :: size_of :: < _rknn_sdk_version > () - 512usize] ; ["Alignment of _rknn_sdk_version"] [:: std :: mem :: align_of :: < _rknn_sdk_version > () - 1usize] ; ["Offset of field: _rknn_sdk_version::api_version"] [:: std :: mem :: offset_of ! (_rknn_sdk_version , api_version) - 0usize] ; ["Offset of field: _rknn_sdk_version::drv_version"] [:: std :: mem :: offset_of ! (_rknn_sdk_version , drv_version) - 256usize] ; } ; pub type rknn_sdk_version = _rknn_sdk_version ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_mem_size { pub total_weight_size : u32 , pub total_internal_size : u32 , pub total_dma_allocated_size : u64 , pub total_sram_size : u32 , pub free_sram_size : u32 , pub reserved : [u32 ; 10usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_mem_size"] [:: std :: mem :: size_of :: < _rknn_mem_size > () - 64usize] ; ["Alignment of _rknn_mem_size"] [:: std :: mem :: align_of :: < _rknn_mem_size > () - 8usize] ; ["Offset of field: _rknn_mem_size::total_weight_size"] [:: std :: mem :: offset_of ! (_rknn_mem_size , total_weight_size) - 0usize] ; ["Offset of field: _rknn_mem_size::total_internal_size"] [:: std :: mem :: offset_of ! (_rknn_mem_size , total_internal_size) - 4usize] ; ["Offset of field: _rknn_mem_size::total_dma_allocated_size"] [:: std :: mem :: offset_of ! (_rknn_mem_size , total_dma_allocated_size) - 8usize] ; ["Offset of field: _rknn_mem_size::total_sram_size"] [:: std :: mem :: offset_of ! (_rknn_mem_size , total_sram_size) - 16usize] ; ["Offset of field: _rknn_mem_size::free_sram_size"] [:: std :: mem :: offset_of ! (_rknn_mem_size , free_sram_size) - 20usize] ; ["Offset of field: _rknn_mem_size::reserved"] [:: std :: mem :: offset_of ! (_rknn_mem_size , reserved) - 24usize] ; } ; pub type rknn_mem_size = _rknn_mem_size ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_custom_string { pub string : [:: std :: os :: raw :: c_char ; 1024usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_custom_string"] [:: std :: mem :: size_of :: < _rknn_custom_string > () - 1024usize] ; ["Alignment of _rknn_custom_string"] [:: std :: mem :: align_of :: < _rknn_custom_string > () - 1usize] ; ["Offset of field: _rknn_custom_string::string"] [:: std :: mem :: offset_of ! (_rknn_custom_string , string) - 0usize] ; } ; pub type rknn_custom_string = _rknn_custom_string ; impl _rknn_tensor_mem_flags { pub const RKNN_TENSOR_MEMORY_FLAGS_ALLOC_INSIDE : _rknn_tensor_mem_flags = _rknn_tensor_mem_flags (1) ; pub const RKNN_TENSOR_MEMORY_FLAGS_FROM_FD : _rknn_tensor_mem_flags = _rknn_tensor_mem_flags (2) ; pub const RKNN_TENSOR_MEMORY_FLAGS_FROM_PHYS : _rknn_tensor_mem_flags = _rknn_tensor_mem_flags (3) ; pub const RKNN_TENSOR_MEMORY_FLAGS_UNKNOWN : _rknn_tensor_mem_flags = _rknn_tensor_mem_flags (4) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_tensor_mem_flags (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_tensor_mem_flags as rknn_tensor_mem_flags ; impl _rknn_mem_alloc_flags { pub const RKNN_FLAG_MEMORY_FLAGS_DEFAULT : _rknn_mem_alloc_flags = _rknn_mem_alloc_flags (0) ; pub const RKNN_FLAG_MEMORY_CACHEABLE : _rknn_mem_alloc_flags = _rknn_mem_alloc_flags (1) ; pub const RKNN_FLAG_MEMORY_NON_CACHEABLE : _rknn_mem_alloc_flags = _rknn_mem_alloc_flags (2) ; pub const RKNN_FLAG_MEMORY_TRY_ALLOC_SRAM : _rknn_mem_alloc_flags = _rknn_mem_alloc_flags (4) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_mem_alloc_flags (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_mem_alloc_flags as rknn_mem_alloc_flags ; impl _rknn_mem_sync_mode { pub const RKNN_MEMORY_SYNC_TO_DEVICE : _rknn_mem_sync_mode = _rknn_mem_sync_mode (1) ; pub const RKNN_MEMORY_SYNC_FROM_DEVICE : _rknn_mem_sync_mode = _rknn_mem_sync_mode (2) ; pub const RKNN_MEMORY_SYNC_BIDIRECTIONAL : _rknn_mem_sync_mode = _rknn_mem_sync_mode (3) ; } # [repr (transparent)] # [derive (Debug , Copy , Clone , Hash , PartialEq , Eq)] pub struct _rknn_mem_sync_mode (pub :: std :: os :: raw :: c_uint) ; pub use self :: _rknn_mem_sync_mode as rknn_mem_sync_mode ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_tensor_memory { pub virt_addr : * mut :: std :: os :: raw :: c_void , pub phys_addr : u64 , pub fd : i32 , pub offset : i32 , pub size : u32 , pub flags : u32 , pub priv_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_tensor_memory"] [:: std :: mem :: size_of :: < _rknn_tensor_memory > () - 40usize] ; ["Alignment of _rknn_tensor_memory"] [:: std :: mem :: align_of :: < _rknn_tensor_memory > () - 8usize] ; ["Offset of field: _rknn_tensor_memory::virt_addr"] [:: std :: mem :: offset_of ! (_rknn_tensor_memory , virt_addr) - 0usize] ; ["Offset of field: _rknn_tensor_memory::phys_addr"] [:: std :: mem :: offset_of ! (_rknn_tensor_memory , phys_addr) - 8usize] ; ["Offset of field: _rknn_tensor_memory::fd"] [:: std :: mem :: offset_of ! (_rknn_tensor_memory , fd) - 16usize] ; ["Offset of field: _rknn_tensor_memory::offset"] [:: std :: mem :: offset_of ! (_rknn_tensor_memory , offset) - 20usize] ; ["Offset of field: _rknn_tensor_memory::size"] [:: std :: mem :: offset_of ! (_rknn_tensor_memory , size) - 24usize] ; ["Offset of field: _rknn_tensor_memory::flags"] [:: std :: mem :: offset_of ! (_rknn_tensor_memory , flags) - 28usize] ; ["Offset of field: _rknn_tensor_memory::priv_data"] [:: std :: mem :: offset_of ! (_rknn_tensor_memory , priv_data) - 32usize] ; } ; pub type rknn_tensor_mem = _rknn_tensor_memory ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_input { pub index : u32 , pub buf : * mut :: std :: os :: raw :: c_void , pub size : u32 , pub pass_through : u8 , pub type_ : rknn_tensor_type , pub fmt : rknn_tensor_format , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_input"] [:: std :: mem :: size_of :: < _rknn_input > () - 32usize] ; ["Alignment of _rknn_input"] [:: std :: mem :: align_of :: < _rknn_input > () - 8usize] ; ["Offset of field: _rknn_input::index"] [:: std :: mem :: offset_of ! (_rknn_input , index) - 0usize] ; ["Offset of field: _rknn_input::buf"] [:: std :: mem :: offset_of ! (_rknn_input , buf) - 8usize] ; ["Offset of field: _rknn_input::size"] [:: std :: mem :: offset_of ! (_rknn_input , size) - 16usize] ; ["Offset of field: _rknn_input::pass_through"] [:: std :: mem :: offset_of ! (_rknn_input , pass_through) - 20usize] ; ["Offset of field: _rknn_input::type_"] [:: std :: mem :: offset_of ! (_rknn_input , type_) - 24usize] ; ["Offset of field: _rknn_input::fmt"] [:: std :: mem :: offset_of ! (_rknn_input , fmt) - 28usize] ; } ; pub type rknn_input = _rknn_input ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_output { pub want_float : u8 , pub is_prealloc : u8 , pub index : u32 , pub buf : * mut :: std :: os :: raw :: c_void , pub size : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_output"] [:: std :: mem :: size_of :: < _rknn_output > () - 24usize] ; ["Alignment of _rknn_output"] [:: std :: mem :: align_of :: < _rknn_output > () - 8usize] ; ["Offset of field: _rknn_output::want_float"] [:: std :: mem :: offset_of ! (_rknn_output , want_float) - 0usize] ; ["Offset of field: _rknn_output::is_prealloc"] [:: std :: mem :: offset_of ! (_rknn_output , is_prealloc) - 1usize] ; ["Offset of field: _rknn_output::index"] [:: std :: mem :: offset_of ! (_rknn_output , index) - 4usize] ; ["Offset of field: _rknn_output::buf"] [:: std :: mem :: offset_of ! (_rknn_output , buf) - 8usize] ; ["Offset of field: _rknn_output::size"] [:: std :: mem :: offset_of ! (_rknn_output , size) - 16usize] ; } ; pub type rknn_output = _rknn_output ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_init_extend { pub ctx : rknn_context , pub real_model_offset : i32 , pub real_model_size : u32 , pub model_buffer_fd : i32 , pub model_buffer_flags : u32 , pub reserved : [u8 ; 112usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_init_extend"] [:: std :: mem :: size_of :: < _rknn_init_extend > () - 136usize] ; ["Alignment of _rknn_init_extend"] [:: std :: mem :: align_of :: < _rknn_init_extend > () - 8usize] ; ["Offset of field: _rknn_init_extend::ctx"] [:: std :: mem :: offset_of ! (_rknn_init_extend , ctx) - 0usize] ; ["Offset of field: _rknn_init_extend::real_model_offset"] [:: std :: mem :: offset_of ! (_rknn_init_extend , real_model_offset) - 8usize] ; ["Offset of field: _rknn_init_extend::real_model_size"] [:: std :: mem :: offset_of ! (_rknn_init_extend , real_model_size) - 12usize] ; ["Offset of field: _rknn_init_extend::model_buffer_fd"] [:: std :: mem :: offset_of ! (_rknn_init_extend , model_buffer_fd) - 16usize] ; ["Offset of field: _rknn_init_extend::model_buffer_flags"] [:: std :: mem :: offset_of ! (_rknn_init_extend , model_buffer_flags) - 20usize] ; ["Offset of field: _rknn_init_extend::reserved"] [:: std :: mem :: offset_of ! (_rknn_init_extend , reserved) - 24usize] ; } ; pub type rknn_init_extend = _rknn_init_extend ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_run_extend { pub frame_id : u64 , pub non_block : i32 , pub timeout_ms : i32 , pub fence_fd : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_run_extend"] [:: std :: mem :: size_of :: < _rknn_run_extend > () - 24usize] ; ["Alignment of _rknn_run_extend"] [:: std :: mem :: align_of :: < _rknn_run_extend > () - 8usize] ; ["Offset of field: _rknn_run_extend::frame_id"] [:: std :: mem :: offset_of ! (_rknn_run_extend , frame_id) - 0usize] ; ["Offset of field: _rknn_run_extend::non_block"] [:: std :: mem :: offset_of ! (_rknn_run_extend , non_block) - 8usize] ; ["Offset of field: _rknn_run_extend::timeout_ms"] [:: std :: mem :: offset_of ! (_rknn_run_extend , timeout_ms) - 12usize] ; ["Offset of field: _rknn_run_extend::fence_fd"] [:: std :: mem :: offset_of ! (_rknn_run_extend , fence_fd) - 16usize] ; } ; pub type rknn_run_extend = _rknn_run_extend ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _rknn_output_extend { pub frame_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _rknn_output_extend"] [:: std :: mem :: size_of :: < _rknn_output_extend > () - 8usize] ; ["Alignment of _rknn_output_extend"] [:: std :: mem :: align_of :: < _rknn_output_extend > () - 8usize] ; ["Offset of field: _rknn_output_extend::frame_id"] [:: std :: mem :: offset_of ! (_rknn_output_extend , frame_id) - 0usize] ; } ; pub type rknn_output_extend = _rknn_output_extend ; unsafe extern "C" { pub fn rknn_init (context : * mut rknn_context , model : * mut :: std :: os :: raw :: c_void , size : u32 , flag : u32 , extend : * mut rknn_init_extend) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_dup_context (context_in : * mut rknn_context , context_out : * mut rknn_context) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_destroy (context : rknn_context) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_query (context : rknn_context , cmd : rknn_query_cmd , info : * mut :: std :: os :: raw :: c_void , size : u32) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_inputs_set (context : rknn_context , n_inputs : u32 , inputs : * mut rknn_input) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_set_batch_core_num (context : rknn_context , core_num : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_set_core_mask (context : rknn_context , core_mask : rknn_core_mask) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_run (context : rknn_context , extend : * mut rknn_run_extend) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_wait (context : rknn_context , extend : * mut rknn_run_extend) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_outputs_get (context : rknn_context , n_outputs : u32 , outputs : * mut rknn_output , extend : * mut rknn_output_extend) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_outputs_release (context : rknn_context , n_ouputs : u32 , outputs : * mut rknn_output) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_create_mem_from_phys (ctx : rknn_context , phys_addr : u64 , virt_addr : * mut :: std :: os :: raw :: c_void , size : u32) -> * mut rknn_tensor_mem ; } unsafe extern "C" { pub fn rknn_create_mem_from_fd (ctx : rknn_context , fd : i32 , virt_addr : * mut :: std :: os :: raw :: c_void , size : u32 , offset : i32) -> * mut rknn_tensor_mem ; } unsafe extern "C" { pub fn rknn_create_mem_from_mb_blk (ctx : rknn_context , mb_blk : * mut :: std :: os :: raw :: c_void , offset : i32) -> * mut rknn_tensor_mem ; } unsafe extern "C" { pub fn rknn_create_mem (ctx : rknn_context , size : u32) -> * mut rknn_tensor_mem ; } unsafe extern "C" { pub fn rknn_create_mem2 (ctx : rknn_context , size : u64 , alloc_flags : u64) -> * mut rknn_tensor_mem ; } unsafe extern "C" { pub fn rknn_destroy_mem (ctx : rknn_context , mem : * mut rknn_tensor_mem) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_set_weight_mem (ctx : rknn_context , mem : * mut rknn_tensor_mem) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_set_internal_mem (ctx : rknn_context , mem : * mut rknn_tensor_mem) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_set_io_mem (ctx : rknn_context , mem : * mut rknn_tensor_mem , attr : * mut rknn_tensor_attr) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_set_input_shape (ctx : rknn_context , attr : * mut rknn_tensor_attr) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_set_input_shapes (ctx : rknn_context , n_inputs : u32 , attr : * mut rknn_tensor_attr) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn rknn_mem_sync (context : rknn_context , mem : * mut rknn_tensor_mem , mode : rknn_mem_sync_mode) -> :: std :: os :: raw :: c_int ; }