blob: 08483ae7bc4c8648d8685523f10ebc01c478c93c [file] [log] [blame]
/*
* 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