linux/drivers/android/binder_internal.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2
   3#ifndef _LINUX_BINDER_INTERNAL_H
   4#define _LINUX_BINDER_INTERNAL_H
   5
   6#include <linux/export.h>
   7#include <linux/fs.h>
   8#include <linux/list.h>
   9#include <linux/miscdevice.h>
  10#include <linux/mutex.h>
  11#include <linux/stddef.h>
  12#include <linux/types.h>
  13#include <linux/uidgid.h>
  14
  15struct binder_context {
  16        struct binder_node *binder_context_mgr_node;
  17        struct mutex context_mgr_node_lock;
  18        kuid_t binder_context_mgr_uid;
  19        const char *name;
  20};
  21
  22/**
  23 * struct binder_device - information about a binder device node
  24 * @hlist:          list of binder devices (only used for devices requested via
  25 *                  CONFIG_ANDROID_BINDER_DEVICES)
  26 * @miscdev:        information about a binder character device node
  27 * @context:        binder context information
  28 * @binderfs_inode: This is the inode of the root dentry of the super block
  29 *                  belonging to a binderfs mount.
  30 */
  31struct binder_device {
  32        struct hlist_node hlist;
  33        struct miscdevice miscdev;
  34        struct binder_context context;
  35        struct inode *binderfs_inode;
  36};
  37
  38extern const struct file_operations binder_fops;
  39
  40#ifdef CONFIG_ANDROID_BINDERFS
  41extern bool is_binderfs_device(const struct inode *inode);
  42#else
  43static inline bool is_binderfs_device(const struct inode *inode)
  44{
  45        return false;
  46}
  47#endif
  48
  49#ifdef CONFIG_ANDROID_BINDERFS
  50extern int __init init_binderfs(void);
  51#else
  52static inline int __init init_binderfs(void)
  53{
  54        return 0;
  55}
  56#endif
  57
  58#endif /* _LINUX_BINDER_INTERNAL_H */
  59