| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef _LINUX_BINDER_INTERNAL_H | |
| #define _LINUX_BINDER_INTERNAL_H | |
| #include <linux/export.h> | |
| #include <linux/fs.h> | |
| #include <linux/list.h> | |
| #include <linux/miscdevice.h> | |
| #include <linux/mutex.h> | |
| #include <linux/stddef.h> | |
| #include <linux/types.h> | |
| #include <linux/uidgid.h> | |
| struct binder_context { | |
| struct binder_node *binder_context_mgr_node; | |
| struct mutex context_mgr_node_lock; | |
| kuid_t binder_context_mgr_uid; | |
| const char *name; | |
| }; | |
| /** | |
| * struct binder_device - information about a binder device node | |
| * @hlist: list of binder devices (only used for devices requested via | |
| * CONFIG_ANDROID_BINDER_DEVICES) | |
| * @miscdev: information about a binder character device node | |
| * @context: binder context information | |
| * @binderfs_inode: This is the inode of the root dentry of the super block | |
| * belonging to a binderfs mount. | |
| */ | |
| struct binder_device { | |
| struct hlist_node hlist; | |
| struct miscdevice miscdev; | |
| struct binder_context context; | |
| struct inode *binderfs_inode; | |
| }; | |
| extern const struct file_operations binder_fops; | |
| #ifdef CONFIG_ANDROID_BINDERFS | |
| extern bool is_binderfs_device(const struct inode *inode); | |
| #else | |
| static inline bool is_binderfs_device(const struct inode *inode) | |
| { | |
| return false; | |
| } | |
| #endif | |
| #ifdef CONFIG_ANDROID_BINDERFS | |
| extern int __init init_binderfs(void); | |
| #else | |
| static inline int __init init_binderfs(void) | |
| { | |
| return 0; | |
| } | |
| #endif | |
| #endif /* _LINUX_BINDER_INTERNAL_H */ |