#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const OH_QOS_GEWU_INVALID_SESSION_ID: OH_QoS_GewuSession = 0xffff_ffff;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const OH_QOS_GEWU_INVALID_REQUEST_ID: OH_QoS_GewuRequest = 0xffff_ffff;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl QoS_Level {
pub const QOS_BACKGROUND: QoS_Level = QoS_Level(0);
pub const QOS_UTILITY: QoS_Level = QoS_Level(1);
pub const QOS_DEFAULT: QoS_Level = QoS_Level(2);
pub const QOS_USER_INITIATED: QoS_Level = QoS_Level(3);
pub const QOS_DEADLINE_REQUEST: QoS_Level = QoS_Level(4);
pub const QOS_USER_INTERACTIVE: QoS_Level = QoS_Level(5);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct QoS_Level(pub ::core::ffi::c_uint);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_QoS_GewuSession = ::core::ffi::c_uint;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_QoS_GewuRequest = ::core::ffi::c_uint;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_QoS_GewuResult = Result<(), OH_QoS_GewuErrorCode>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
impl OH_QoS_GewuErrorCode {
pub const NOPERM: OH_QoS_GewuErrorCode =
OH_QoS_GewuErrorCode(const { core::num::NonZero::new(201).unwrap() });
pub const NOMEM: OH_QoS_GewuErrorCode =
OH_QoS_GewuErrorCode(const { core::num::NonZero::new(203).unwrap() });
pub const INVAL: OH_QoS_GewuErrorCode =
OH_QoS_GewuErrorCode(const { core::num::NonZero::new(401).unwrap() });
pub const EXIST: OH_QoS_GewuErrorCode =
OH_QoS_GewuErrorCode(const { core::num::NonZero::new(501).unwrap() });
pub const NOENT: OH_QoS_GewuErrorCode =
OH_QoS_GewuErrorCode(const { core::num::NonZero::new(502).unwrap() });
pub const NOSYS: OH_QoS_GewuErrorCode =
OH_QoS_GewuErrorCode(const { core::num::NonZero::new(801).unwrap() });
pub const FAULT: OH_QoS_GewuErrorCode =
OH_QoS_GewuErrorCode(const { core::num::NonZero::new(901).unwrap() });
}
#[repr(transparent)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_QoS_GewuErrorCode(pub core::num::NonZero<::core::ffi::c_uint>);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_QoS_GewuCreateSessionResult {
pub session: OH_QoS_GewuSession,
pub error: OH_QoS_GewuResult,
}
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_QoS_GewuSubmitRequestResult {
pub request: OH_QoS_GewuRequest,
pub error: OH_QoS_GewuResult,
}
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_QoS_GewuOnResponse = ::core::option::Option<
unsafe extern "C" fn(context: *mut ::core::ffi::c_void, response: *const ::core::ffi::c_char),
>;
extern "C" {
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_QoS_SetThreadQoS(level: QoS_Level) -> ::core::ffi::c_int;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_QoS_ResetThreadQoS() -> ::core::ffi::c_int;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_QoS_GetThreadQoS(level: *mut QoS_Level) -> ::core::ffi::c_int;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_QoS_GewuCreateSession(
attributes: *const ::core::ffi::c_char,
) -> OH_QoS_GewuCreateSessionResult;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_QoS_GewuDestroySession(session: OH_QoS_GewuSession) -> OH_QoS_GewuResult;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_QoS_GewuAbortRequest(
session: OH_QoS_GewuSession,
request: OH_QoS_GewuRequest,
) -> OH_QoS_GewuResult;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_QoS_GewuSubmitRequest(
session: OH_QoS_GewuSession,
request: *const ::core::ffi::c_char,
callback: OH_QoS_GewuOnResponse,
context: *mut ::core::ffi::c_void,
) -> OH_QoS_GewuSubmitRequestResult;
}