1 //
2 // Copyright (C) 2020 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 // clang-format off
18 #include "native_bridge_support/vdso/interceptable_functions.h"
19 
20 DEFINE_INTERCEPTABLE_STUB_FUNCTION(ABinderProcess_handlePolledCommands);
21 DEFINE_INTERCEPTABLE_STUB_FUNCTION(ABinderProcess_joinThreadPool);
22 DEFINE_INTERCEPTABLE_STUB_FUNCTION(ABinderProcess_setThreadPoolMaxThreadCount);
23 DEFINE_INTERCEPTABLE_STUB_FUNCTION(ABinderProcess_setupPolling);
24 DEFINE_INTERCEPTABLE_STUB_FUNCTION(ABinderProcess_startThreadPool);
25 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Class_define);
26 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Class_getDescriptor);
27 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Class_setHandleShellCommand);
28 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Class_setOnDump);
29 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_DeathRecipient_delete);
30 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_DeathRecipient_new);
31 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Weak_clone);
32 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Weak_delete);
33 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Weak_lt);
34 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Weak_new);
35 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_Weak_promote);
36 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_associateClass);
37 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_debugGetRefCount);
38 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_decStrong);
39 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_dump);
40 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_forceDowngradeToSystemStability);
41 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_forceDowngradeToVendorStability);
42 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_fromJavaBinder);
43 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_getCallingPid);
44 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_getCallingSid);
45 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_getCallingUid);
46 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_getClass);
47 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_getExtension);
48 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_getUserData);
49 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_incStrong);
50 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_isAlive);
51 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_isRemote);
52 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_linkToDeath);
53 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_lt);
54 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_markSystemStability);
55 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_markVendorStability);
56 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_markVintfStability);
57 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_new);
58 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_ping);
59 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_prepareTransaction);
60 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_setExtension);
61 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_setRequestingSid);
62 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_toJavaBinder);
63 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_transact);
64 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AIBinder_unlinkToDeath);
65 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_appendFrom);
66 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_create);
67 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_delete);
68 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_fromJavaParcel);
69 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_getAllowFds);
70 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_getDataPosition);
71 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_getDataSize);
72 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_markSensitive);
73 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readBool);
74 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readBoolArray);
75 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readByte);
76 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readByteArray);
77 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readChar);
78 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readCharArray);
79 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readDouble);
80 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readDoubleArray);
81 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readFloat);
82 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readFloatArray);
83 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readInt32);
84 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readInt32Array);
85 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readInt64);
86 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readInt64Array);
87 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readParcelFileDescriptor);
88 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readParcelableArray);
89 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readStatusHeader);
90 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readString);
91 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readStringArray);
92 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readStrongBinder);
93 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readUint32);
94 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readUint32Array);
95 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readUint64);
96 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_readUint64Array);
97 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_reset);
98 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_setDataPosition);
99 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeBool);
100 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeBoolArray);
101 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeByte);
102 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeByteArray);
103 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeChar);
104 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeCharArray);
105 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeDouble);
106 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeDoubleArray);
107 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeFloat);
108 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeFloatArray);
109 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeInt32);
110 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeInt32Array);
111 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeInt64);
112 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeInt64Array);
113 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeParcelFileDescriptor);
114 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeParcelableArray);
115 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeStatusHeader);
116 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeString);
117 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeStringArray);
118 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeStrongBinder);
119 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeUint32);
120 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeUint32Array);
121 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeUint64);
122 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AParcel_writeUint64Array);
123 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_addService);
124 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_checkService);
125 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_forEachDeclaredInstance);
126 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_forceLazyServicesPersist);
127 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_getService);
128 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_isDeclared);
129 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_isUpdatableViaApex);
130 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_reRegister);
131 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_registerLazyService);
132 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_setActiveServicesCallback);
133 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_tryUnregister);
134 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AServiceManager_waitForService);
135 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_delete);
136 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_deleteDescription);
137 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_fromExceptionCode);
138 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_fromExceptionCodeWithMessage);
139 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_fromServiceSpecificError);
140 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_fromServiceSpecificErrorWithMessage);
141 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_fromStatus);
142 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_getDescription);
143 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_getExceptionCode);
144 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_getMessage);
145 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_getServiceSpecificError);
146 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_getStatus);
147 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_isOk);
148 DEFINE_INTERCEPTABLE_STUB_FUNCTION(AStatus_newOk);
149 DEFINE_INTERCEPTABLE_STUB_FUNCTION(_Z25AIBinder_toPlatformBinderP8AIBinder);
150 DEFINE_INTERCEPTABLE_STUB_FUNCTION(_Z27AIBinder_fromPlatformBinderRKN7android2spINS_7IBinderEEE);
151 
init_stub_library()152 static void __attribute__((constructor(0))) init_stub_library() {
153   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", ABinderProcess_handlePolledCommands);
154   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", ABinderProcess_joinThreadPool);
155   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", ABinderProcess_setThreadPoolMaxThreadCount);
156   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", ABinderProcess_setupPolling);
157   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", ABinderProcess_startThreadPool);
158   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Class_define);
159   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Class_getDescriptor);
160   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Class_setHandleShellCommand);
161   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Class_setOnDump);
162   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_DeathRecipient_delete);
163   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_DeathRecipient_new);
164   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Weak_clone);
165   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Weak_delete);
166   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Weak_lt);
167   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Weak_new);
168   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_Weak_promote);
169   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_associateClass);
170   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_debugGetRefCount);
171   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_decStrong);
172   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_dump);
173   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_forceDowngradeToSystemStability);
174   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_forceDowngradeToVendorStability);
175   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_fromJavaBinder);
176   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_getCallingPid);
177   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_getCallingSid);
178   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_getCallingUid);
179   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_getClass);
180   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_getExtension);
181   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_getUserData);
182   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_incStrong);
183   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_isAlive);
184   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_isRemote);
185   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_linkToDeath);
186   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_lt);
187   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_markSystemStability);
188   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_markVendorStability);
189   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_markVintfStability);
190   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_new);
191   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_ping);
192   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_prepareTransaction);
193   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_setExtension);
194   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_setRequestingSid);
195   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_toJavaBinder);
196   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_transact);
197   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AIBinder_unlinkToDeath);
198   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_appendFrom);
199   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_create);
200   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_delete);
201   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_fromJavaParcel);
202   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_getAllowFds);
203   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_getDataPosition);
204   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_getDataSize);
205   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_markSensitive);
206   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readBool);
207   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readBoolArray);
208   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readByte);
209   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readByteArray);
210   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readChar);
211   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readCharArray);
212   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readDouble);
213   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readDoubleArray);
214   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readFloat);
215   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readFloatArray);
216   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readInt32);
217   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readInt32Array);
218   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readInt64);
219   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readInt64Array);
220   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readParcelFileDescriptor);
221   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readParcelableArray);
222   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readStatusHeader);
223   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readString);
224   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readStringArray);
225   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readStrongBinder);
226   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readUint32);
227   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readUint32Array);
228   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readUint64);
229   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_readUint64Array);
230   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_reset);
231   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_setDataPosition);
232   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeBool);
233   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeBoolArray);
234   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeByte);
235   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeByteArray);
236   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeChar);
237   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeCharArray);
238   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeDouble);
239   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeDoubleArray);
240   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeFloat);
241   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeFloatArray);
242   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeInt32);
243   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeInt32Array);
244   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeInt64);
245   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeInt64Array);
246   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeParcelFileDescriptor);
247   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeParcelableArray);
248   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeStatusHeader);
249   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeString);
250   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeStringArray);
251   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeStrongBinder);
252   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeUint32);
253   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeUint32Array);
254   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeUint64);
255   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AParcel_writeUint64Array);
256   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_addService);
257   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_checkService);
258   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_forEachDeclaredInstance);
259   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_forceLazyServicesPersist);
260   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_getService);
261   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_isDeclared);
262   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_isUpdatableViaApex);
263   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_reRegister);
264   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_registerLazyService);
265   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_setActiveServicesCallback);
266   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_tryUnregister);
267   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AServiceManager_waitForService);
268   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_delete);
269   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_deleteDescription);
270   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_fromExceptionCode);
271   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_fromExceptionCodeWithMessage);
272   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_fromServiceSpecificError);
273   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_fromServiceSpecificErrorWithMessage);
274   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_fromStatus);
275   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_getDescription);
276   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_getExceptionCode);
277   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_getMessage);
278   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_getServiceSpecificError);
279   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_getStatus);
280   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_isOk);
281   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", AStatus_newOk);
282   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", _Z25AIBinder_toPlatformBinderP8AIBinder);
283   INIT_INTERCEPTABLE_STUB_FUNCTION("libbinder_ndk.so", _Z27AIBinder_fromPlatformBinderRKN7android2spINS_7IBinderEEE);
284 }
285 // clang-format on
286