Skip to main content

ohos_sys/
lib.rs

1//! Ohos-sys
2//!
3//! This crate provides Raw FFI bindings to the native API of OpenHarmonyOS (`target_env = "ohos"`).
4//! Each module corresponds to one OpenHarmony API feature, and is gated behind a cargo feature.
5//! If you are an application developer, you probably do not want to use this crate directly,
6//! and instead want to use a higher-level API built on top of this crate.
7//!
8//! Note: There are currently still quite a few missing bindings, which will slowly be added.
9//!
10//! ## Feature flags
11#![cfg_attr(
12    feature = "document-features",
13    cfg_attr(doc, doc = ::document_features::document_features!())
14)]
15#![cfg_attr(docsrs, feature(doc_cfg))]
16
17#[cfg(feature = "arkui")]
18#[cfg_attr(docsrs, doc(cfg(feature = "arkui")))]
19pub use arkui_sys as arkui;
20
21#[cfg(feature = "asset-store")]
22#[cfg_attr(docsrs, doc(cfg(feature = "asset-store")))]
23pub use ohos_asset_store_sys as asset_store;
24
25#[cfg(feature = "basic-services-kit")]
26#[cfg_attr(docsrs, doc(cfg(feature = "basic-services-kit")))]
27pub use ohos_basic_services_kit_sys as basic_services_kit;
28
29#[cfg(feature = "crypto")]
30#[cfg_attr(docsrs, doc(cfg(feature = "crypto")))]
31pub use ohos_crypto_sys as crypto;
32
33#[cfg(feature = "deviceinfo")]
34#[cfg_attr(docsrs, doc(cfg(feature = "deviceinfo")))]
35pub use ohos_deviceinfo_sys as deviceinfo;
36
37#[cfg(feature = "drawing")]
38#[cfg_attr(docsrs, doc(cfg(feature = "drawing")))]
39pub use ohos_drawing_sys as drawing;
40
41#[cfg(feature = "hilog")]
42#[cfg_attr(docsrs, doc(cfg(feature = "hilog")))]
43pub use hilog_sys as hilog;
44
45#[cfg(feature = "huks")]
46#[cfg_attr(docsrs, doc(cfg(feature = "huks")))]
47pub use ohos_huks_sys as huks;
48
49#[cfg(feature = "hitrace")]
50#[cfg_attr(docsrs, doc(cfg(feature = "hitrace")))]
51pub use hitrace_sys as hitrace;
52
53#[cfg(feature = "inputmethod")]
54#[cfg_attr(docsrs, doc(cfg(feature = "inputmethod")))]
55pub use ohos_ime_sys as inputmethod;
56
57#[cfg(feature = "ohaudio")]
58#[cfg_attr(docsrs, doc(cfg(feature = "ohaudio")))]
59pub use ohaudio_sys as ohaudio;
60
61#[cfg(feature = "web")]
62#[cfg_attr(docsrs, doc(cfg(feature = "web")))]
63pub use arkweb_sys as web;
64
65#[cfg(feature = "ipckit")]
66#[cfg_attr(docsrs, doc(cfg(feature = "ipckit")))]
67pub use ohos_ipckit_sys as ipckit;
68
69#[cfg(feature = "locationkit")]
70#[cfg_attr(docsrs, doc(cfg(feature = "locationkit")))]
71pub use ohos_locationkit_sys as locationkit;
72
73#[cfg(feature = "netmanager")]
74#[cfg_attr(docsrs, doc(cfg(feature = "netmanager")))]
75pub use ohos_netmanager_sys as netmanager;
76
77#[cfg(feature = "net_ssl")]
78#[cfg_attr(docsrs, doc(cfg(feature = "net_ssl")))]
79pub use ohos_net_ssl_sys as net_ssl;
80
81#[cfg(feature = "netstack")]
82#[cfg_attr(docsrs, doc(cfg(feature = "netstack")))]
83pub use ohos_netstack_sys as netstack;
84
85#[cfg(feature = "multimodal-input")]
86#[cfg_attr(docsrs, doc(cfg(feature = "multimodal-input")))]
87pub use ohos_input_sys as multimodal_input;
88
89pub mod multimedia;
90
91#[cfg(feature = "napi")]
92#[cfg_attr(docsrs, doc(cfg(feature = "napi")))]
93pub mod napi;
94
95#[cfg(feature = "abilitykit")]
96#[cfg_attr(docsrs, doc(cfg(feature = "abilitykit")))]
97pub use ohos_abilitykit_sys as abilitykit;
98
99#[cfg(feature = "pasteboard")]
100#[cfg_attr(docsrs, doc(cfg(feature = "pasteboard")))]
101pub use ohos_pasteboard_sys as pasteboard;
102
103#[cfg(feature = "rawfile")]
104#[cfg_attr(docsrs, doc(cfg(feature = "rawfile")))]
105pub use ohos_rawfile_sys as rawfile;
106
107#[cfg(feature = "rdb")]
108#[cfg_attr(docsrs, doc(cfg(feature = "rdb")))]
109pub use ohos_rdb_sys as rdb;
110
111#[cfg(feature = "sensors")]
112#[cfg_attr(docsrs, doc(cfg(feature = "sensors")))]
113pub use ohos_sensors_sys as sensors;
114
115#[cfg(feature = "udmf")]
116#[cfg_attr(docsrs, doc(cfg(feature = "udmf")))]
117pub use udmf_sys as udmf;
118
119#[cfg(feature = "native_buffer")]
120#[cfg_attr(docsrs, doc(cfg(feature = "native_buffer")))]
121pub use ohos_window_sys::native_buffer;
122
123#[cfg(feature = "native_image")]
124#[cfg_attr(docsrs, doc(cfg(feature = "native_image")))]
125pub use ohos_window_sys::native_image;
126
127#[cfg(feature = "native_window")]
128#[cfg_attr(docsrs, doc(cfg(feature = "native_window")))]
129pub use ohos_window_sys::native_window;
130
131// It's just one function, so we don't feature guard this.
132pub mod syscap;
133
134#[cfg(feature = "vsync")]
135#[cfg_attr(docsrs, doc(cfg(feature = "vsync")))]
136pub use ohos_vsync_sys as vsync;
137
138#[cfg(feature = "xcomponent")]
139#[cfg_attr(docsrs, doc(cfg(feature = "xcomponent")))]
140pub use xcomponent_sys as xcomponent;
141
142#[cfg(feature = "window_manager")]
143#[cfg_attr(docsrs, doc(cfg(feature = "window_manager")))]
144pub use ohos_window_manager_sys as window_manager;