#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_ErrorCode {
pub const PRINT_ERROR_NONE: Print_ErrorCode = Print_ErrorCode(0);
pub const PRINT_ERROR_NO_PERMISSION: Print_ErrorCode = Print_ErrorCode(201);
pub const PRINT_ERROR_INVALID_PARAMETER: Print_ErrorCode = Print_ErrorCode(401);
pub const PRINT_ERROR_GENERIC_FAILURE: Print_ErrorCode = Print_ErrorCode(24300001);
pub const PRINT_ERROR_RPC_FAILURE: Print_ErrorCode = Print_ErrorCode(24300002);
pub const PRINT_ERROR_SERVER_FAILURE: Print_ErrorCode = Print_ErrorCode(24300003);
pub const PRINT_ERROR_INVALID_EXTENSION: Print_ErrorCode = Print_ErrorCode(24300004);
pub const PRINT_ERROR_INVALID_PRINTER: Print_ErrorCode = Print_ErrorCode(24300005);
pub const PRINT_ERROR_INVALID_PRINT_JOB: Print_ErrorCode = Print_ErrorCode(24300006);
pub const PRINT_ERROR_FILE_IO: Print_ErrorCode = Print_ErrorCode(24300007);
pub const PRINT_ERROR_UNKNOWN: Print_ErrorCode = Print_ErrorCode(24300255);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_ErrorCode(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_PrinterState {
pub const PRINTER_IDLE: Print_PrinterState = Print_PrinterState(0);
pub const PRINTER_BUSY: Print_PrinterState = Print_PrinterState(1);
pub const PRINTER_UNAVAILABLE: Print_PrinterState = Print_PrinterState(2);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_PrinterState(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_DiscoveryEvent {
pub const PRINTER_DISCOVERED: Print_DiscoveryEvent = Print_DiscoveryEvent(0);
pub const PRINTER_LOST: Print_DiscoveryEvent = Print_DiscoveryEvent(1);
pub const PRINTER_CONNECTING: Print_DiscoveryEvent = Print_DiscoveryEvent(2);
pub const PRINTER_CONNECTED: Print_DiscoveryEvent = Print_DiscoveryEvent(3);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_DiscoveryEvent(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_PrinterEvent {
pub const PRINTER_ADDED: Print_PrinterEvent = Print_PrinterEvent(0);
pub const PRINTER_DELETED: Print_PrinterEvent = Print_PrinterEvent(1);
pub const PRINTER_STATE_CHANGED: Print_PrinterEvent = Print_PrinterEvent(2);
pub const PRINTER_INFO_CHANGED: Print_PrinterEvent = Print_PrinterEvent(3);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_PrinterEvent(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_StringList {
pub count: u32,
pub list: *mut *mut ::core::ffi::c_char,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_Property {
pub key: *mut ::core::ffi::c_char,
pub value: *mut ::core::ffi::c_char,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_PropertyList {
pub count: u32,
pub list: *mut Print_Property,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_Resolution {
pub horizontalDpi: u32,
pub verticalDpi: u32,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_Margin {
pub leftMargin: u32,
pub topMargin: u32,
pub rightMargin: u32,
pub bottomMargin: u32,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_PageSize {
pub id: *mut ::core::ffi::c_char,
pub name: *mut ::core::ffi::c_char,
pub width: u32,
pub height: u32,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_DuplexMode {
pub const DUPLEX_MODE_ONE_SIDED: Print_DuplexMode = Print_DuplexMode(0);
pub const DUPLEX_MODE_TWO_SIDED_LONG_EDGE: Print_DuplexMode = Print_DuplexMode(1);
pub const DUPLEX_MODE_TWO_SIDED_SHORT_EDGE: Print_DuplexMode = Print_DuplexMode(2);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_DuplexMode(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_ColorMode {
pub const COLOR_MODE_MONOCHROME: Print_ColorMode = Print_ColorMode(0);
pub const COLOR_MODE_COLOR: Print_ColorMode = Print_ColorMode(1);
pub const COLOR_MODE_AUTO: Print_ColorMode = Print_ColorMode(2);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_ColorMode(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_OrientationMode {
pub const ORIENTATION_MODE_PORTRAIT: Print_OrientationMode = Print_OrientationMode(0);
pub const ORIENTATION_MODE_LANDSCAPE: Print_OrientationMode = Print_OrientationMode(1);
pub const ORIENTATION_MODE_REVERSE_LANDSCAPE: Print_OrientationMode = Print_OrientationMode(2);
pub const ORIENTATION_MODE_REVERSE_PORTRAIT: Print_OrientationMode = Print_OrientationMode(3);
pub const ORIENTATION_MODE_NONE: Print_OrientationMode = Print_OrientationMode(4);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_OrientationMode(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_Quality {
pub const PRINT_QUALITY_DRAFT: Print_Quality = Print_Quality(3);
pub const PRINT_QUALITY_NORMAL: Print_Quality = Print_Quality(4);
pub const PRINT_QUALITY_HIGH: Print_Quality = Print_Quality(5);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_Quality(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl Print_DocumentFormat {
pub const DOCUMENT_FORMAT_AUTO: Print_DocumentFormat = Print_DocumentFormat(0);
pub const DOCUMENT_FORMAT_JPEG: Print_DocumentFormat = Print_DocumentFormat(1);
pub const DOCUMENT_FORMAT_PDF: Print_DocumentFormat = Print_DocumentFormat(2);
pub const DOCUMENT_FORMAT_POSTSCRIPT: Print_DocumentFormat = Print_DocumentFormat(3);
pub const DOCUMENT_FORMAT_TEXT: Print_DocumentFormat = Print_DocumentFormat(4);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_DocumentFormat(pub ::core::ffi::c_uint);
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
impl Print_JobDocAdapterState {
pub const PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY: Print_JobDocAdapterState =
Print_JobDocAdapterState(0);
pub const PRINT_DOC_ADAPTER_PRINT_TASK_SUCCEED: Print_JobDocAdapterState =
Print_JobDocAdapterState(1);
pub const PRINT_DOC_ADAPTER_PRINT_TASK_FAIL: Print_JobDocAdapterState =
Print_JobDocAdapterState(2);
pub const PRINT_DOC_ADAPTER_PRINT_TASK_CANCEL: Print_JobDocAdapterState =
Print_JobDocAdapterState(3);
pub const PRINT_DOC_ADAPTER_PRINT_TASK_BLOCK: Print_JobDocAdapterState =
Print_JobDocAdapterState(4);
pub const PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_CANCELED: Print_JobDocAdapterState =
Print_JobDocAdapterState(5);
pub const PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_STARTED: Print_JobDocAdapterState =
Print_JobDocAdapterState(6);
}
#[repr(transparent)]
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct Print_JobDocAdapterState(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_PrinterCapability {
pub supportedColorModes: *mut Print_ColorMode,
pub supportedColorModesCount: u32,
pub supportedDuplexModes: *mut Print_DuplexMode,
pub supportedDuplexModesCount: u32,
pub supportedPageSizes: *mut Print_PageSize,
pub supportedPageSizesCount: u32,
pub supportedMediaTypes: *mut ::core::ffi::c_char,
pub supportedQualities: *mut Print_Quality,
pub supportedQualitiesCount: u32,
pub supportedPaperSources: *mut ::core::ffi::c_char,
pub supportedCopies: u32,
pub supportedResolutions: *mut Print_Resolution,
pub supportedResolutionsCount: u32,
pub supportedOrientations: *mut Print_OrientationMode,
pub supportedOrientationsCount: u32,
pub advancedCapability: *mut ::core::ffi::c_char,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_DefaultValue {
pub defaultColorMode: Print_ColorMode,
pub defaultDuplexMode: Print_DuplexMode,
pub defaultMediaType: *mut ::core::ffi::c_char,
pub defaultPageSizeId: *mut ::core::ffi::c_char,
pub defaultMargin: Print_Margin,
pub defaultPaperSource: *mut ::core::ffi::c_char,
pub defaultPrintQuality: Print_Quality,
pub defaultCopies: u32,
pub defaultResolution: Print_Resolution,
pub defaultOrientation: Print_OrientationMode,
pub otherDefaultValues: *mut ::core::ffi::c_char,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_PrinterInfo {
pub printerState: Print_PrinterState,
pub capability: Print_PrinterCapability,
pub defaultValue: Print_DefaultValue,
pub isDefaultPrinter: bool,
pub printerId: *mut ::core::ffi::c_char,
pub printerName: *mut ::core::ffi::c_char,
pub description: *mut ::core::ffi::c_char,
pub location: *mut ::core::ffi::c_char,
pub makeAndModel: *mut ::core::ffi::c_char,
pub printerUri: *mut ::core::ffi::c_char,
pub detailInfo: *mut ::core::ffi::c_char,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_PrintJob {
pub jobName: *mut ::core::ffi::c_char,
pub fdList: *mut u32,
pub fdListCount: u32,
pub printerId: *mut ::core::ffi::c_char,
pub copyNumber: u32,
pub paperSource: *mut ::core::ffi::c_char,
pub mediaType: *mut ::core::ffi::c_char,
pub pageSizeId: *mut ::core::ffi::c_char,
pub colorMode: Print_ColorMode,
pub duplexMode: Print_DuplexMode,
pub resolution: Print_Resolution,
pub printMargin: Print_Margin,
pub borderless: bool,
pub orientationMode: Print_OrientationMode,
pub printQuality: Print_Quality,
pub documentFormat: Print_DocumentFormat,
pub advancedOptions: *mut ::core::ffi::c_char,
}
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_Range {
pub startPage: u32,
pub endPage: u32,
pub pagesArrayLen: u32,
pub pagesArray: *mut u32,
}
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_PrintAttributes {
pub pageRange: Print_Range,
pub pageSize: Print_PageSize,
pub pageMargin: Print_Margin,
pub copyNumber: u32,
pub duplexMode: u32,
pub colorMode: u32,
pub isSequential: bool,
pub isLandscape: bool,
pub hasOption: bool,
pub options: [::core::ffi::c_char; 256usize],
}
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
pub type Print_WriteResultCallback =
::core::option::Option<unsafe extern "C" fn(jobId: *const ::core::ffi::c_char, code: u32)>;
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
pub type Print_OnStartLayoutWrite = ::core::option::Option<
unsafe extern "C" fn(
jobId: *const ::core::ffi::c_char,
fd: u32,
oldAttrs: *const Print_PrintAttributes,
newAttrs: *const Print_PrintAttributes,
writeCallback: Print_WriteResultCallback,
),
>;
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
pub type Print_OnJobStateChanged =
::core::option::Option<unsafe extern "C" fn(jobId: *const ::core::ffi::c_char, state: u32)>;
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Print_PrintDocCallback {
pub startLayoutWriteCb: Print_OnStartLayoutWrite,
pub jobStateChangedCb: Print_OnJobStateChanged,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub type Print_PrinterDiscoveryCallback = ::core::option::Option<
unsafe extern "C" fn(event: Print_DiscoveryEvent, printerInfo: *const Print_PrinterInfo),
>;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub type Print_PrinterChangeCallback = ::core::option::Option<
unsafe extern "C" fn(event: Print_PrinterEvent, printerInfo: *const Print_PrinterInfo),
>;
extern "C" {
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_Init() -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_Release() -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_StartPrinterDiscovery(
callback: Print_PrinterDiscoveryCallback,
) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_StopPrinterDiscovery() -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_ConnectPrinter(printerId: *const ::core::ffi::c_char) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_StartPrintJob(printJob: *const Print_PrintJob) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_RegisterPrinterChangeListener(
callback: Print_PrinterChangeCallback,
) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_UnregisterPrinterChangeListener();
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_QueryPrinterList(printerIdList: *mut Print_StringList) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_ReleasePrinterList(printerIdList: *mut Print_StringList);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_QueryPrinterInfo(
printerId: *const ::core::ffi::c_char,
printerInfo: *mut *mut Print_PrinterInfo,
) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_ReleasePrinterInfo(printerInfo: *mut Print_PrinterInfo);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_LaunchPrinterManager() -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_QueryPrinterProperties(
printerId: *const ::core::ffi::c_char,
propertyKeyList: *const Print_StringList,
propertyList: *mut Print_PropertyList,
) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_ReleasePrinterProperties(propertyList: *mut Print_PropertyList);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_UpdatePrinterProperties(
printerId: *const ::core::ffi::c_char,
propertyList: *const Print_PropertyList,
) -> Print_ErrorCode;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_Print_RestorePrinterProperties(
printerId: *const ::core::ffi::c_char,
propertyKeyList: *const Print_StringList,
) -> Print_ErrorCode;
#[cfg(feature = "api-13")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
pub fn OH_Print_StartPrintByNative(
printJobName: *const ::core::ffi::c_char,
printDocCallback: Print_PrintDocCallback,
context: *mut ::core::ffi::c_void,
) -> Print_ErrorCode;
}