Loading libs/binder/aidl/android/content/pm/IPackageManagerNative.aidl +12 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,18 @@ interface IPackageManagerNative { */ @utf8InCpp String[] getNamesForUids(in int[] uids); /** * Return the UID associated with the given package name. * Note that the same package will have different UIDs under different UserHandle on * the same device. * @param packageName The full name (i.e. com.google.apps.contacts) of the desired package. * @param flags Additional option flags to modify the data returned. * @param userId The user handle identifier to look up the package under. * @return Returns an integer UID who owns the given package name, or -1 if no such package is * available to the caller. */ int getPackageUid(in @utf8InCpp String packageName, in long flags, in int userId); /** * Returns the name of the installer (a package) which installed the named * package. Preloaded packages return the string "preload". Sideloaded packages Loading libs/binder/binder_module.h +0 −73 Original line number Diff line number Diff line Loading @@ -32,77 +32,4 @@ #include <linux/android/binder.h> #include <sys/ioctl.h> #ifndef BR_FROZEN_REPLY // Temporary definition of BR_FROZEN_REPLY. For production // this will come from UAPI binder.h #define BR_FROZEN_REPLY _IO('r', 18) #endif // BR_FROZEN_REPLY #ifndef BINDER_FREEZE /* * Temporary definitions for freeze support. For the final version * these will be defined in the UAPI binder.h file from upstream kernel. */ #define BINDER_FREEZE _IOW('b', 14, struct binder_freeze_info) struct binder_freeze_info { // // Group-leader PID of process to be frozen // uint32_t pid; // // Enable(1) / Disable(0) freeze for given PID // uint32_t enable; // // Timeout to wait for transactions to drain. // 0: don't wait (ioctl will return EAGAIN if not drained) // N: number of ms to wait uint32_t timeout_ms; }; #endif // BINDER_FREEZE #ifndef BINDER_GET_FROZEN_INFO #define BINDER_GET_FROZEN_INFO _IOWR('b', 15, struct binder_frozen_status_info) struct binder_frozen_status_info { // // Group-leader PID of process to be queried // __u32 pid; // // Indicates whether the process has received any sync calls since last // freeze (cleared at freeze/unfreeze) // bit 0: received sync transaction after being frozen // bit 1: new pending sync transaction during freezing // __u32 sync_recv; // // Indicates whether the process has received any async calls since last // freeze (cleared at freeze/unfreeze) // __u32 async_recv; }; #endif // BINDER_GET_FROZEN_INFO #ifndef BR_ONEWAY_SPAM_SUSPECT // Temporary definition of BR_ONEWAY_SPAM_SUSPECT. For production // this will come from UAPI binder.h #define BR_ONEWAY_SPAM_SUSPECT _IO('r', 19) #endif // BR_ONEWAY_SPAM_SUSPECT #ifndef BINDER_ENABLE_ONEWAY_SPAM_DETECTION /* * Temporary definitions for oneway spam detection support. For the final version * these will be defined in the UAPI binder.h file from upstream kernel. */ #define BINDER_ENABLE_ONEWAY_SPAM_DETECTION _IOW('b', 16, __u32) #endif // BINDER_ENABLE_ONEWAY_SPAM_DETECTION #ifndef BR_TRANSACTION_PENDING_FROZEN // Temporary definition of BR_TRANSACTION_PENDING_FROZEN until UAPI binder.h includes it. #define BR_TRANSACTION_PENDING_FROZEN _IO('r', 20) #endif // BR_TRANSACTION_PENDING_FROZEN #endif // _BINDER_MODULE_H_ libs/binder/include_rpc_unstable/binder_rpc_unstable.hpp +11 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,17 @@ void ARpcServer_setSupportedFileDescriptorTransportModes( const ARpcSession_FileDescriptorTransportMode modes[], size_t modes_len); // Sets the maximum number of threads that the Server will use for // incoming client connections. // // This must be called before adding a client session. This corresponds // to the number of incoming connections to RpcSession objects in the // server, which will correspond to the number of outgoing connections // in client RpcSession objects. // // If this is not specified, this will be a single-threaded server. void ARpcServer_setMaxThreads(ARpcServer* server, size_t threads); // Runs ARpcServer_join() in a background thread. Immediately returns. void ARpcServer_start(ARpcServer* server); Loading libs/binder/libbinder_rpc_unstable.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,10 @@ void ARpcServer_setSupportedFileDescriptorTransportModes( server->setSupportedFileDescriptorTransportModes(modevec); } void ARpcServer_setMaxThreads(ARpcServer* handle, size_t threads) { handleToStrongPointer<RpcServer>(handle)->setMaxThreads(threads); } void ARpcServer_start(ARpcServer* handle) { handleToStrongPointer<RpcServer>(handle)->start(); } Loading libs/binder/rust/rpcbinder/src/server/android.rs +14 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,20 @@ impl RpcServerRef { } } /// Sets the max number of threads this Server uses for incoming client connections. /// /// This must be called before adding a client session. This corresponds /// to the number of incoming connections to RpcSession objects in the /// server, which will correspond to the number of outgoing connections /// in client RpcSession objects. Specifically this is useful for handling /// client-side callback connections. /// /// If this is not specified, this will be a single-threaded server. pub fn set_max_threads(&self, count: usize) { // SAFETY: RpcServerRef wraps a valid pointer to an ARpcServer. unsafe { binder_rpc_unstable_bindgen::ARpcServer_setMaxThreads(self.as_ptr(), count) }; } /// Starts a new background thread and calls join(). Returns immediately. pub fn start(&self) { // SAFETY: RpcServerRef wraps a valid pointer to an ARpcServer. Loading Loading
libs/binder/aidl/android/content/pm/IPackageManagerNative.aidl +12 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,18 @@ interface IPackageManagerNative { */ @utf8InCpp String[] getNamesForUids(in int[] uids); /** * Return the UID associated with the given package name. * Note that the same package will have different UIDs under different UserHandle on * the same device. * @param packageName The full name (i.e. com.google.apps.contacts) of the desired package. * @param flags Additional option flags to modify the data returned. * @param userId The user handle identifier to look up the package under. * @return Returns an integer UID who owns the given package name, or -1 if no such package is * available to the caller. */ int getPackageUid(in @utf8InCpp String packageName, in long flags, in int userId); /** * Returns the name of the installer (a package) which installed the named * package. Preloaded packages return the string "preload". Sideloaded packages Loading
libs/binder/binder_module.h +0 −73 Original line number Diff line number Diff line Loading @@ -32,77 +32,4 @@ #include <linux/android/binder.h> #include <sys/ioctl.h> #ifndef BR_FROZEN_REPLY // Temporary definition of BR_FROZEN_REPLY. For production // this will come from UAPI binder.h #define BR_FROZEN_REPLY _IO('r', 18) #endif // BR_FROZEN_REPLY #ifndef BINDER_FREEZE /* * Temporary definitions for freeze support. For the final version * these will be defined in the UAPI binder.h file from upstream kernel. */ #define BINDER_FREEZE _IOW('b', 14, struct binder_freeze_info) struct binder_freeze_info { // // Group-leader PID of process to be frozen // uint32_t pid; // // Enable(1) / Disable(0) freeze for given PID // uint32_t enable; // // Timeout to wait for transactions to drain. // 0: don't wait (ioctl will return EAGAIN if not drained) // N: number of ms to wait uint32_t timeout_ms; }; #endif // BINDER_FREEZE #ifndef BINDER_GET_FROZEN_INFO #define BINDER_GET_FROZEN_INFO _IOWR('b', 15, struct binder_frozen_status_info) struct binder_frozen_status_info { // // Group-leader PID of process to be queried // __u32 pid; // // Indicates whether the process has received any sync calls since last // freeze (cleared at freeze/unfreeze) // bit 0: received sync transaction after being frozen // bit 1: new pending sync transaction during freezing // __u32 sync_recv; // // Indicates whether the process has received any async calls since last // freeze (cleared at freeze/unfreeze) // __u32 async_recv; }; #endif // BINDER_GET_FROZEN_INFO #ifndef BR_ONEWAY_SPAM_SUSPECT // Temporary definition of BR_ONEWAY_SPAM_SUSPECT. For production // this will come from UAPI binder.h #define BR_ONEWAY_SPAM_SUSPECT _IO('r', 19) #endif // BR_ONEWAY_SPAM_SUSPECT #ifndef BINDER_ENABLE_ONEWAY_SPAM_DETECTION /* * Temporary definitions for oneway spam detection support. For the final version * these will be defined in the UAPI binder.h file from upstream kernel. */ #define BINDER_ENABLE_ONEWAY_SPAM_DETECTION _IOW('b', 16, __u32) #endif // BINDER_ENABLE_ONEWAY_SPAM_DETECTION #ifndef BR_TRANSACTION_PENDING_FROZEN // Temporary definition of BR_TRANSACTION_PENDING_FROZEN until UAPI binder.h includes it. #define BR_TRANSACTION_PENDING_FROZEN _IO('r', 20) #endif // BR_TRANSACTION_PENDING_FROZEN #endif // _BINDER_MODULE_H_
libs/binder/include_rpc_unstable/binder_rpc_unstable.hpp +11 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,17 @@ void ARpcServer_setSupportedFileDescriptorTransportModes( const ARpcSession_FileDescriptorTransportMode modes[], size_t modes_len); // Sets the maximum number of threads that the Server will use for // incoming client connections. // // This must be called before adding a client session. This corresponds // to the number of incoming connections to RpcSession objects in the // server, which will correspond to the number of outgoing connections // in client RpcSession objects. // // If this is not specified, this will be a single-threaded server. void ARpcServer_setMaxThreads(ARpcServer* server, size_t threads); // Runs ARpcServer_join() in a background thread. Immediately returns. void ARpcServer_start(ARpcServer* server); Loading
libs/binder/libbinder_rpc_unstable.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,10 @@ void ARpcServer_setSupportedFileDescriptorTransportModes( server->setSupportedFileDescriptorTransportModes(modevec); } void ARpcServer_setMaxThreads(ARpcServer* handle, size_t threads) { handleToStrongPointer<RpcServer>(handle)->setMaxThreads(threads); } void ARpcServer_start(ARpcServer* handle) { handleToStrongPointer<RpcServer>(handle)->start(); } Loading
libs/binder/rust/rpcbinder/src/server/android.rs +14 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,20 @@ impl RpcServerRef { } } /// Sets the max number of threads this Server uses for incoming client connections. /// /// This must be called before adding a client session. This corresponds /// to the number of incoming connections to RpcSession objects in the /// server, which will correspond to the number of outgoing connections /// in client RpcSession objects. Specifically this is useful for handling /// client-side callback connections. /// /// If this is not specified, this will be a single-threaded server. pub fn set_max_threads(&self, count: usize) { // SAFETY: RpcServerRef wraps a valid pointer to an ARpcServer. unsafe { binder_rpc_unstable_bindgen::ARpcServer_setMaxThreads(self.as_ptr(), count) }; } /// Starts a new background thread and calls join(). Returns immediately. pub fn start(&self) { // SAFETY: RpcServerRef wraps a valid pointer to an ARpcServer. Loading