xref: /aosp_15_r20/frameworks/native/libs/binder/rust/sys/lib.rs (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 //! Generated Rust bindings to libbinder_ndk
18 
19 use std::error::Error;
20 use std::fmt;
21 
22 #[cfg(not(target_os = "trusty"))]
23 #[allow(bad_style)]
24 mod bindings {
25     include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
26 }
27 
28 // Trusty puts the full path to the auto-generated file in BINDGEN_INC_FILE
29 // and builds it with warnings-as-errors, so we need to use #[allow(bad_style)].
30 // We need to use cfg(target_os) instead of cfg(trusty) here because of
31 // the difference between the two build systems, which we cannot mock.
32 #[cfg(target_os = "trusty")]
33 #[allow(bad_style)]
34 mod bindings {
35     include!(env!("BINDGEN_INC_FILE"));
36 }
37 
38 pub use bindings::*;
39 
40 impl Error for android_c_interface_StatusCode {}
41 
42 impl fmt::Display for android_c_interface_StatusCode {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result43     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
44         write!(f, "StatusCode::{:?}", self)
45     }
46 }
47