Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  binder.h

  Sprache: C
 

/*
 * This file is auto-generated. Modifications will be lost.
 *
 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
 * for more information.
 */

#ifndef _UAPI_LINUX_BINDER_H
#define _UAPI_LINUX_BINDER_H
#include <linux/types.h>
#include <linux/ioctl.h>
#define B_PACK_CHARS(c1,c2,c3,c4) ((((c1) << 24)) | (((c2) << 16)) | (((c3) << 8)) | (c4))
#define B_TYPE_LARGE 0x85
enum {
  BINDER_TYPE_BINDER = B_PACK_CHARS('s''b''*', B_TYPE_LARGE),
  BINDER_TYPE_WEAK_BINDER = B_PACK_CHARS('w''b''*', B_TYPE_LARGE),
  BINDER_TYPE_HANDLE = B_PACK_CHARS('s''h''*', B_TYPE_LARGE),
  BINDER_TYPE_WEAK_HANDLE = B_PACK_CHARS('w''h''*', B_TYPE_LARGE),
  BINDER_TYPE_FD = B_PACK_CHARS('f''d''*', B_TYPE_LARGE),
  BINDER_TYPE_FDA = B_PACK_CHARS('f''d''a', B_TYPE_LARGE),
  BINDER_TYPE_PTR = B_PACK_CHARS('p''t''*', B_TYPE_LARGE),
};
enum flat_binder_object_shifts {
  FLAT_BINDER_FLAG_SCHED_POLICY_SHIFT = 9,
};
enum flat_binder_object_flags {
  FLAT_BINDER_FLAG_PRIORITY_MASK = 0xff,
  FLAT_BINDER_FLAG_ACCEPTS_FDS = 0x100,
  FLAT_BINDER_FLAG_SCHED_POLICY_MASK = 3U << FLAT_BINDER_FLAG_SCHED_POLICY_SHIFT,
  FLAT_BINDER_FLAG_INHERIT_RT = 0x800,
  FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 0x1000,
};
#ifdef BINDER_IPC_32BIT
typedef __u32 binder_size_t;
typedef __u32 binder_uintptr_t;
#else
typedef __u64 binder_size_t;
typedef __u64 binder_uintptr_t;
#endif
struct binder_object_header {
  __u32 type;
};
struct flat_binder_object {
  struct binder_object_header hdr;
  __u32 flags;
  union {
    binder_uintptr_t binder;
    __u32 handle;
  };
  binder_uintptr_t cookie;
};
struct binder_fd_object {
  struct binder_object_header hdr;
  __u32 pad_flags;
  union {
    binder_uintptr_t pad_binder;
    __u32 fd;
  };
  binder_uintptr_t cookie;
};
struct binder_buffer_object {
  struct binder_object_header hdr;
  __u32 flags;
  binder_uintptr_t buffer;
  binder_size_t length;
  binder_size_t parent;
  binder_size_t parent_offset;
};
enum {
  BINDER_BUFFER_FLAG_HAS_PARENT = 0x01,
};
struct binder_fd_array_object {
  struct binder_object_header hdr;
  __u32 pad;
  binder_size_t num_fds;
  binder_size_t parent;
  binder_size_t parent_offset;
};
struct binder_write_read {
  binder_size_t write_size;
  binder_size_t write_consumed;
  binder_uintptr_t write_buffer;
  binder_size_t read_size;
  binder_size_t read_consumed;
  binder_uintptr_t read_buffer;
};
struct binder_version {
  __s32 protocol_version;
};
#ifdef BINDER_IPC_32BIT
#define BINDER_CURRENT_PROTOCOL_VERSION 7
#else
#define BINDER_CURRENT_PROTOCOL_VERSION 8
#endif
struct binder_node_debug_info {
  binder_uintptr_t ptr;
  binder_uintptr_t cookie;
  __u32 has_strong_ref;
  __u32 has_weak_ref;
};
struct binder_node_info_for_ref {
  __u32 handle;
  __u32 strong_count;
  __u32 weak_count;
  __u32 reserved1;
  __u32 reserved2;
  __u32 reserved3;
};
struct binder_freeze_info {
  __u32 pid;
  __u32 enable;
  __u32 timeout_ms;
};
struct binder_frozen_status_info {
  __u32 pid;
  __u32 sync_recv;
  __u32 async_recv;
};
struct binder_frozen_state_info {
  binder_uintptr_t cookie;
  __u32 is_frozen;
  __u32 reserved;
};
struct binder_extended_error {
  __u32 id;
  __u32 command;
  __s32 param;
};
enum {
  BINDER_WRITE_READ = _IOWR('b'1struct binder_write_read),
  BINDER_SET_IDLE_TIMEOUT = _IOW('b'3, __s64),
  BINDER_SET_MAX_THREADS = _IOW('b'5, __u32),
  BINDER_SET_IDLE_PRIORITY = _IOW('b'6, __s32),
  BINDER_SET_CONTEXT_MGR = _IOW('b'7, __s32),
  BINDER_THREAD_EXIT = _IOW('b'8, __s32),
  BINDER_VERSION = _IOWR('b'9struct binder_version),
  BINDER_GET_NODE_DEBUG_INFO = _IOWR('b'11struct binder_node_debug_info),
  BINDER_GET_NODE_INFO_FOR_REF = _IOWR('b'12struct binder_node_info_for_ref),
  BINDER_SET_CONTEXT_MGR_EXT = _IOW('b'13struct flat_binder_object),
  BINDER_FREEZE = _IOW('b'14struct binder_freeze_info),
  BINDER_GET_FROZEN_INFO = _IOWR('b'15struct binder_frozen_status_info),
  BINDER_ENABLE_ONEWAY_SPAM_DETECTION = _IOW('b'16, __u32),
  BINDER_GET_EXTENDED_ERROR = _IOWR('b'17struct binder_extended_error),
};
enum transaction_flags {
  TF_ONE_WAY = 0x01,
  TF_ROOT_OBJECT = 0x04,
  TF_STATUS_CODE = 0x08,
  TF_ACCEPT_FDS = 0x10,
  TF_CLEAR_BUF = 0x20,
  TF_UPDATE_TXN = 0x40,
};
struct binder_transaction_data {
  union {
    __u32 handle;
    binder_uintptr_t ptr;
  } target;
  binder_uintptr_t cookie;
  __u32 code;
  __u32 flags;
  __kernel_pid_t sender_pid;
  __kernel_uid32_t sender_euid;
  binder_size_t data_size;
  binder_size_t offsets_size;
  union {
    struct {
      binder_uintptr_t buffer;
      binder_uintptr_t offsets;
    } ptr;
    __u8 buf[8];
  } data;
};
struct binder_transaction_data_secctx {
  struct binder_transaction_data transaction_data;
  binder_uintptr_t secctx;
};
struct binder_transaction_data_sg {
  struct binder_transaction_data transaction_data;
  binder_size_t buffers_size;
};
struct binder_ptr_cookie {
  binder_uintptr_t ptr;
  binder_uintptr_t cookie;
};
struct binder_handle_cookie {
  __u32 handle;
  binder_uintptr_t cookie;
} __attribute__((__packed__));
struct binder_pri_desc {
  __s32 priority;
  __u32 desc;
};
struct binder_pri_ptr_cookie {
  __s32 priority;
  binder_uintptr_t ptr;
  binder_uintptr_t cookie;
};
enum binder_driver_return_protocol {
  BR_ERROR = _IOR('r'0, __s32),
  BR_OK = _IO('r'1),
  BR_TRANSACTION_SEC_CTX = _IOR('r'2struct binder_transaction_data_secctx),
  BR_TRANSACTION = _IOR('r'2struct binder_transaction_data),
  BR_REPLY = _IOR('r'3struct binder_transaction_data),
  BR_ACQUIRE_RESULT = _IOR('r'4, __s32),
  BR_DEAD_REPLY = _IO('r'5),
  BR_TRANSACTION_COMPLETE = _IO('r'6),
  BR_INCREFS = _IOR('r'7struct binder_ptr_cookie),
  BR_ACQUIRE = _IOR('r'8struct binder_ptr_cookie),
  BR_RELEASE = _IOR('r'9struct binder_ptr_cookie),
  BR_DECREFS = _IOR('r'10struct binder_ptr_cookie),
  BR_ATTEMPT_ACQUIRE = _IOR('r'11struct binder_pri_ptr_cookie),
  BR_NOOP = _IO('r'12),
  BR_SPAWN_LOOPER = _IO('r'13),
  BR_FINISHED = _IO('r'14),
  BR_DEAD_BINDER = _IOR('r'15, binder_uintptr_t),
  BR_CLEAR_DEATH_NOTIFICATION_DONE = _IOR('r'16, binder_uintptr_t),
  BR_FAILED_REPLY = _IO('r'17),
  BR_FROZEN_REPLY = _IO('r'18),
  BR_ONEWAY_SPAM_SUSPECT = _IO('r'19),
  BR_TRANSACTION_PENDING_FROZEN = _IO('r'20),
  BR_FROZEN_BINDER = _IOR('r'21struct binder_frozen_state_info),
  BR_CLEAR_FREEZE_NOTIFICATION_DONE = _IOR('r'22, binder_uintptr_t),
};
enum binder_driver_command_protocol {
  BC_TRANSACTION = _IOW('c'0struct binder_transaction_data),
  BC_REPLY = _IOW('c'1struct binder_transaction_data),
  BC_ACQUIRE_RESULT = _IOW('c'2, __s32),
  BC_FREE_BUFFER = _IOW('c'3, binder_uintptr_t),
  BC_INCREFS = _IOW('c'4, __u32),
  BC_ACQUIRE = _IOW('c'5, __u32),
  BC_RELEASE = _IOW('c'6, __u32),
  BC_DECREFS = _IOW('c'7, __u32),
  BC_INCREFS_DONE = _IOW('c'8struct binder_ptr_cookie),
  BC_ACQUIRE_DONE = _IOW('c'9struct binder_ptr_cookie),
  BC_ATTEMPT_ACQUIRE = _IOW('c'10struct binder_pri_desc),
  BC_REGISTER_LOOPER = _IO('c'11),
  BC_ENTER_LOOPER = _IO('c'12),
  BC_EXIT_LOOPER = _IO('c'13),
  BC_REQUEST_DEATH_NOTIFICATION = _IOW('c'14struct binder_handle_cookie),
  BC_CLEAR_DEATH_NOTIFICATION = _IOW('c'15struct binder_handle_cookie),
  BC_DEAD_BINDER_DONE = _IOW('c'16, binder_uintptr_t),
  BC_TRANSACTION_SG = _IOW('c'17struct binder_transaction_data_sg),
  BC_REPLY_SG = _IOW('c'18struct binder_transaction_data_sg),
  BC_REQUEST_FREEZE_NOTIFICATION = _IOW('c'19struct binder_handle_cookie),
  BC_CLEAR_FREEZE_NOTIFICATION = _IOW('c'20struct binder_handle_cookie),
  BC_FREEZE_NOTIFICATION_DONE = _IOW('c'21, binder_uintptr_t),
};
#endif

Messung V0.5 in Prozent
C=93 H=98 G=95

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-06-28) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik