| /* |
| * Copyright (C) 2016 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef ANDROID_HARDWARE_BINDER_KERNEL_H |
| #define ANDROID_HARDWARE_BINDER_KERNEL_H |
| |
| #include <linux/android/binder.h> |
| |
| /** |
| * This file exists because the uapi kernel headers in bionic are built |
| * from upstream kernel headers only, and not all of the hwbinder kernel changes |
| * have made it upstream yet. Therefore, the modifications to the |
| * binder header are added locally in this file. |
| */ |
| |
| enum { |
| BINDER_BUFFER_FLAG_REF = 1U << 1, |
| }; |
| |
| enum { |
| FLAT_BINDER_FLAG_SCHEDPOLICY_MASK = 0x600, |
| FLAT_BINDER_FLAG_SCHEDPOLICY_SHIFT = 9, |
| FLAT_BINDER_FLAG_INHERIT_RT = 0x800, |
| FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 0x1000, |
| }; |
| |
| struct binder_node_info_for_ref { |
| __u32 handle; |
| __u32 strong_count; |
| __u32 weak_count; |
| __u32 reserved1; |
| __u32 reserved2; |
| __u32 reserved3; |
| }; |
| |
| #define BINDER_GET_NODE_INFO_FOR_REF _IOWR('b', 12, struct binder_node_info_for_ref) |
| #define BINDER_SET_CONTEXT_MGR_EXT _IOW('b', 13, struct flat_binder_object) |
| |
| struct binder_transaction_data_secctx { |
| struct binder_transaction_data transaction_data; |
| binder_uintptr_t secctx; |
| }; |
| |
| enum { |
| BR_TRANSACTION_SEC_CTX = _IOR('r', 2, |
| struct binder_transaction_data_secctx), |
| }; |
| |
| |
| #endif // ANDROID_HARDWARE_BINDER_KERNEL_H |