3 * Copyright 2016 gRPC authors.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 #include <grpc/byte_buffer.h>
20 #include <grpc/byte_buffer_reader.h>
21 #include <grpc/census.h>
22 #include <grpc/compression.h>
23 #include <grpc/fork.h>
24 #include <grpc/grpc.h>
25 #include <grpc/grpc_security.h>
26 #include <grpc/grpc_security_constants.h>
27 #include <grpc/impl/codegen/atm.h>
28 #include <grpc/impl/codegen/byte_buffer.h>
29 #include <grpc/impl/codegen/byte_buffer_reader.h>
30 #include <grpc/impl/codegen/compression_types.h>
31 #include <grpc/impl/codegen/connectivity_state.h>
32 #include <grpc/impl/codegen/fork.h>
33 #include <grpc/impl/codegen/gpr_slice.h>
34 #include <grpc/impl/codegen/gpr_types.h>
35 #include <grpc/impl/codegen/grpc_types.h>
36 #include <grpc/impl/codegen/log.h>
37 #include <grpc/impl/codegen/port_platform.h>
38 #include <grpc/impl/codegen/propagation_bits.h>
39 #include <grpc/impl/codegen/slice.h>
40 #include <grpc/impl/codegen/status.h>
41 #include <grpc/impl/codegen/sync.h>
42 #include <grpc/impl/codegen/sync_abseil.h>
43 #include <grpc/impl/codegen/sync_custom.h>
44 #include <grpc/impl/codegen/sync_generic.h>
45 #include <grpc/load_reporting.h>
46 #include <grpc/slice.h>
47 #include <grpc/slice_buffer.h>
48 #include <grpc/status.h>
49 #include <grpc/support/alloc.h>
50 #include <grpc/support/atm.h>
51 #include <grpc/support/cpu.h>
52 #include <grpc/support/log.h>
53 #include <grpc/support/port_platform.h>
54 #include <grpc/support/string_util.h>
55 #include <grpc/support/sync.h>
56 #include <grpc/support/sync_abseil.h>
57 #include <grpc/support/sync_custom.h>
58 #include <grpc/support/sync_generic.h>
59 #include <grpc/support/thd_id.h>
60 #include <grpc/support/time.h>
61 #include <grpc/support/workaround_list.h>
65 int main(int argc, char **argv) {
66 /* Use the parameters to avoid unused-parameter warning.
67 (C89 parameters must be named.) */
71 printf("%lx", (unsigned long) grpc_compression_algorithm_is_message);
72 printf("%lx", (unsigned long) grpc_compression_algorithm_is_stream);
73 printf("%lx", (unsigned long) grpc_compression_algorithm_parse);
74 printf("%lx", (unsigned long) grpc_compression_algorithm_name);
75 printf("%lx", (unsigned long) grpc_compression_algorithm_for_level);
76 printf("%lx", (unsigned long) grpc_compression_options_init);
77 printf("%lx", (unsigned long) grpc_compression_options_enable_algorithm);
78 printf("%lx", (unsigned long) grpc_compression_options_disable_algorithm);
79 printf("%lx", (unsigned long) grpc_compression_options_is_algorithm_enabled);
80 printf("%lx", (unsigned long) grpc_metadata_array_init);
81 printf("%lx", (unsigned long) grpc_metadata_array_destroy);
82 printf("%lx", (unsigned long) grpc_call_details_init);
83 printf("%lx", (unsigned long) grpc_call_details_destroy);
84 printf("%lx", (unsigned long) grpc_register_plugin);
85 printf("%lx", (unsigned long) grpc_init);
86 printf("%lx", (unsigned long) grpc_shutdown);
87 printf("%lx", (unsigned long) grpc_is_initialized);
88 printf("%lx", (unsigned long) grpc_shutdown_blocking);
89 printf("%lx", (unsigned long) grpc_version_string);
90 printf("%lx", (unsigned long) grpc_g_stands_for);
91 printf("%lx", (unsigned long) grpc_completion_queue_factory_lookup);
92 printf("%lx", (unsigned long) grpc_completion_queue_create_for_next);
93 printf("%lx", (unsigned long) grpc_completion_queue_create_for_pluck);
94 printf("%lx", (unsigned long) grpc_completion_queue_create_for_callback);
95 printf("%lx", (unsigned long) grpc_completion_queue_create);
96 printf("%lx", (unsigned long) grpc_completion_queue_next);
97 printf("%lx", (unsigned long) grpc_completion_queue_pluck);
98 printf("%lx", (unsigned long) grpc_completion_queue_shutdown);
99 printf("%lx", (unsigned long) grpc_completion_queue_destroy);
100 printf("%lx", (unsigned long) grpc_completion_queue_thread_local_cache_init);
101 printf("%lx", (unsigned long) grpc_completion_queue_thread_local_cache_flush);
102 printf("%lx", (unsigned long) grpc_channel_check_connectivity_state);
103 printf("%lx", (unsigned long) grpc_channel_num_external_connectivity_watchers);
104 printf("%lx", (unsigned long) grpc_channel_watch_connectivity_state);
105 printf("%lx", (unsigned long) grpc_channel_support_connectivity_watcher);
106 printf("%lx", (unsigned long) grpc_channel_create_call);
107 printf("%lx", (unsigned long) grpc_channel_register_call);
108 printf("%lx", (unsigned long) grpc_channel_create_registered_call);
109 printf("%lx", (unsigned long) grpc_call_arena_alloc);
110 printf("%lx", (unsigned long) grpc_call_start_batch);
111 printf("%lx", (unsigned long) grpc_call_get_peer);
112 printf("%lx", (unsigned long) grpc_census_call_set_context);
113 printf("%lx", (unsigned long) grpc_census_call_get_context);
114 printf("%lx", (unsigned long) grpc_channel_get_target);
115 printf("%lx", (unsigned long) grpc_channel_get_info);
116 printf("%lx", (unsigned long) grpc_channel_reset_connect_backoff);
117 printf("%lx", (unsigned long) grpc_insecure_channel_create);
118 printf("%lx", (unsigned long) grpc_lame_client_channel_create);
119 printf("%lx", (unsigned long) grpc_channel_destroy);
120 printf("%lx", (unsigned long) grpc_call_cancel);
121 printf("%lx", (unsigned long) grpc_call_cancel_with_status);
122 printf("%lx", (unsigned long) grpc_call_ref);
123 printf("%lx", (unsigned long) grpc_call_unref);
124 printf("%lx", (unsigned long) grpc_server_request_call);
125 printf("%lx", (unsigned long) grpc_server_register_method);
126 printf("%lx", (unsigned long) grpc_server_request_registered_call);
127 printf("%lx", (unsigned long) grpc_server_create);
128 printf("%lx", (unsigned long) grpc_server_register_completion_queue);
129 printf("%lx", (unsigned long) grpc_server_add_insecure_http2_port);
130 printf("%lx", (unsigned long) grpc_server_start);
131 printf("%lx", (unsigned long) grpc_server_shutdown_and_notify);
132 printf("%lx", (unsigned long) grpc_server_cancel_all_calls);
133 printf("%lx", (unsigned long) grpc_server_destroy);
134 printf("%lx", (unsigned long) grpc_tracer_set_enabled);
135 printf("%lx", (unsigned long) grpc_header_key_is_legal);
136 printf("%lx", (unsigned long) grpc_header_nonbin_value_is_legal);
137 printf("%lx", (unsigned long) grpc_is_binary_header);
138 printf("%lx", (unsigned long) grpc_call_error_to_string);
139 printf("%lx", (unsigned long) grpc_resource_quota_create);
140 printf("%lx", (unsigned long) grpc_resource_quota_ref);
141 printf("%lx", (unsigned long) grpc_resource_quota_unref);
142 printf("%lx", (unsigned long) grpc_resource_quota_resize);
143 printf("%lx", (unsigned long) grpc_resource_quota_set_max_threads);
144 printf("%lx", (unsigned long) grpc_resource_quota_arg_vtable);
145 printf("%lx", (unsigned long) grpc_channelz_get_top_channels);
146 printf("%lx", (unsigned long) grpc_channelz_get_servers);
147 printf("%lx", (unsigned long) grpc_channelz_get_server);
148 printf("%lx", (unsigned long) grpc_channelz_get_server_sockets);
149 printf("%lx", (unsigned long) grpc_channelz_get_channel);
150 printf("%lx", (unsigned long) grpc_channelz_get_subchannel);
151 printf("%lx", (unsigned long) grpc_channelz_get_socket);
152 printf("%lx", (unsigned long) grpc_auth_property_iterator_next);
153 printf("%lx", (unsigned long) grpc_auth_context_property_iterator);
154 printf("%lx", (unsigned long) grpc_auth_context_peer_identity);
155 printf("%lx", (unsigned long) grpc_auth_context_find_properties_by_name);
156 printf("%lx", (unsigned long) grpc_auth_context_peer_identity_property_name);
157 printf("%lx", (unsigned long) grpc_auth_context_peer_is_authenticated);
158 printf("%lx", (unsigned long) grpc_call_auth_context);
159 printf("%lx", (unsigned long) grpc_auth_context_release);
160 printf("%lx", (unsigned long) grpc_auth_context_add_property);
161 printf("%lx", (unsigned long) grpc_auth_context_add_cstring_property);
162 printf("%lx", (unsigned long) grpc_auth_context_set_peer_identity_property_name);
163 printf("%lx", (unsigned long) grpc_ssl_session_cache_create_lru);
164 printf("%lx", (unsigned long) grpc_ssl_session_cache_destroy);
165 printf("%lx", (unsigned long) grpc_ssl_session_cache_create_channel_arg);
166 printf("%lx", (unsigned long) grpc_call_credentials_release);
167 printf("%lx", (unsigned long) grpc_channel_credentials_release);
168 printf("%lx", (unsigned long) grpc_google_default_credentials_create);
169 printf("%lx", (unsigned long) grpc_set_ssl_roots_override_callback);
170 printf("%lx", (unsigned long) grpc_ssl_credentials_create);
171 printf("%lx", (unsigned long) grpc_ssl_credentials_create_ex);
172 printf("%lx", (unsigned long) grpc_composite_channel_credentials_create);
173 printf("%lx", (unsigned long) grpc_composite_call_credentials_create);
174 printf("%lx", (unsigned long) grpc_google_compute_engine_credentials_create);
175 printf("%lx", (unsigned long) grpc_max_auth_token_lifetime);
176 printf("%lx", (unsigned long) grpc_service_account_jwt_access_credentials_create);
177 printf("%lx", (unsigned long) grpc_google_refresh_token_credentials_create);
178 printf("%lx", (unsigned long) grpc_access_token_credentials_create);
179 printf("%lx", (unsigned long) grpc_google_iam_credentials_create);
180 printf("%lx", (unsigned long) grpc_sts_credentials_create);
181 printf("%lx", (unsigned long) grpc_auth_metadata_context_copy);
182 printf("%lx", (unsigned long) grpc_auth_metadata_context_reset);
183 printf("%lx", (unsigned long) grpc_metadata_credentials_create_from_plugin);
184 printf("%lx", (unsigned long) grpc_secure_channel_create);
185 printf("%lx", (unsigned long) grpc_server_credentials_release);
186 printf("%lx", (unsigned long) grpc_ssl_server_certificate_config_create);
187 printf("%lx", (unsigned long) grpc_ssl_server_certificate_config_destroy);
188 printf("%lx", (unsigned long) grpc_ssl_server_credentials_create);
189 printf("%lx", (unsigned long) grpc_ssl_server_credentials_create_ex);
190 printf("%lx", (unsigned long) grpc_ssl_server_credentials_create_options_using_config);
191 printf("%lx", (unsigned long) grpc_ssl_server_credentials_create_options_using_config_fetcher);
192 printf("%lx", (unsigned long) grpc_ssl_server_credentials_options_destroy);
193 printf("%lx", (unsigned long) grpc_ssl_server_credentials_create_with_options);
194 printf("%lx", (unsigned long) grpc_server_add_secure_http2_port);
195 printf("%lx", (unsigned long) grpc_call_set_credentials);
196 printf("%lx", (unsigned long) grpc_server_credentials_set_auth_metadata_processor);
197 printf("%lx", (unsigned long) grpc_alts_credentials_client_options_create);
198 printf("%lx", (unsigned long) grpc_alts_credentials_server_options_create);
199 printf("%lx", (unsigned long) grpc_alts_credentials_client_options_add_target_service_account);
200 printf("%lx", (unsigned long) grpc_alts_credentials_options_destroy);
201 printf("%lx", (unsigned long) grpc_alts_credentials_create);
202 printf("%lx", (unsigned long) grpc_alts_server_credentials_create);
203 printf("%lx", (unsigned long) grpc_local_credentials_create);
204 printf("%lx", (unsigned long) grpc_local_server_credentials_create);
205 printf("%lx", (unsigned long) grpc_tls_identity_pairs_create);
206 printf("%lx", (unsigned long) grpc_tls_identity_pairs_add_pair);
207 printf("%lx", (unsigned long) grpc_tls_identity_pairs_destroy);
208 printf("%lx", (unsigned long) grpc_tls_certificate_provider_static_data_create);
209 printf("%lx", (unsigned long) grpc_tls_certificate_provider_release);
210 printf("%lx", (unsigned long) grpc_tls_credentials_options_create);
211 printf("%lx", (unsigned long) grpc_tls_credentials_options_set_cert_request_type);
212 printf("%lx", (unsigned long) grpc_tls_credentials_options_set_server_verification_option);
213 printf("%lx", (unsigned long) grpc_tls_credentials_options_set_certificate_provider);
214 printf("%lx", (unsigned long) grpc_tls_credentials_options_watch_root_certs);
215 printf("%lx", (unsigned long) grpc_tls_credentials_options_set_root_cert_name);
216 printf("%lx", (unsigned long) grpc_tls_credentials_options_watch_identity_key_cert_pairs);
217 printf("%lx", (unsigned long) grpc_tls_credentials_options_set_identity_cert_name);
218 printf("%lx", (unsigned long) grpc_tls_credentials_options_set_server_authorization_check_config);
219 printf("%lx", (unsigned long) grpc_tls_server_authorization_check_config_create);
220 printf("%lx", (unsigned long) grpc_tls_server_authorization_check_config_release);
221 printf("%lx", (unsigned long) grpc_xds_credentials_create);
222 printf("%lx", (unsigned long) grpc_raw_byte_buffer_create);
223 printf("%lx", (unsigned long) grpc_raw_compressed_byte_buffer_create);
224 printf("%lx", (unsigned long) grpc_byte_buffer_copy);
225 printf("%lx", (unsigned long) grpc_byte_buffer_length);
226 printf("%lx", (unsigned long) grpc_byte_buffer_destroy);
227 printf("%lx", (unsigned long) grpc_byte_buffer_reader_init);
228 printf("%lx", (unsigned long) grpc_byte_buffer_reader_destroy);
229 printf("%lx", (unsigned long) grpc_byte_buffer_reader_next);
230 printf("%lx", (unsigned long) grpc_byte_buffer_reader_peek);
231 printf("%lx", (unsigned long) grpc_byte_buffer_reader_readall);
232 printf("%lx", (unsigned long) grpc_raw_byte_buffer_from_reader);
233 printf("%lx", (unsigned long) gpr_log_severity_string);
234 printf("%lx", (unsigned long) gpr_log);
235 printf("%lx", (unsigned long) gpr_should_log);
236 printf("%lx", (unsigned long) gpr_log_message);
237 printf("%lx", (unsigned long) gpr_set_log_verbosity);
238 printf("%lx", (unsigned long) gpr_log_verbosity_init);
239 printf("%lx", (unsigned long) gpr_set_log_function);
240 printf("%lx", (unsigned long) grpc_slice_ref);
241 printf("%lx", (unsigned long) grpc_slice_unref);
242 printf("%lx", (unsigned long) grpc_slice_copy);
243 printf("%lx", (unsigned long) grpc_slice_new);
244 printf("%lx", (unsigned long) grpc_slice_new_with_user_data);
245 printf("%lx", (unsigned long) grpc_slice_new_with_len);
246 printf("%lx", (unsigned long) grpc_slice_malloc);
247 printf("%lx", (unsigned long) grpc_slice_malloc_large);
248 printf("%lx", (unsigned long) grpc_slice_intern);
249 printf("%lx", (unsigned long) grpc_slice_from_copied_string);
250 printf("%lx", (unsigned long) grpc_slice_from_copied_buffer);
251 printf("%lx", (unsigned long) grpc_slice_from_static_string);
252 printf("%lx", (unsigned long) grpc_slice_from_static_buffer);
253 printf("%lx", (unsigned long) grpc_slice_sub);
254 printf("%lx", (unsigned long) grpc_slice_sub_no_ref);
255 printf("%lx", (unsigned long) grpc_slice_split_tail);
256 printf("%lx", (unsigned long) grpc_slice_split_tail_maybe_ref);
257 printf("%lx", (unsigned long) grpc_slice_split_head);
258 printf("%lx", (unsigned long) grpc_empty_slice);
259 printf("%lx", (unsigned long) grpc_slice_default_hash_impl);
260 printf("%lx", (unsigned long) grpc_slice_default_eq_impl);
261 printf("%lx", (unsigned long) grpc_slice_eq);
262 printf("%lx", (unsigned long) grpc_slice_cmp);
263 printf("%lx", (unsigned long) grpc_slice_str_cmp);
264 printf("%lx", (unsigned long) grpc_slice_buf_start_eq);
265 printf("%lx", (unsigned long) grpc_slice_rchr);
266 printf("%lx", (unsigned long) grpc_slice_chr);
267 printf("%lx", (unsigned long) grpc_slice_slice);
268 printf("%lx", (unsigned long) grpc_slice_hash);
269 printf("%lx", (unsigned long) grpc_slice_is_equivalent);
270 printf("%lx", (unsigned long) grpc_slice_dup);
271 printf("%lx", (unsigned long) grpc_slice_to_c_string);
272 printf("%lx", (unsigned long) grpc_slice_buffer_init);
273 printf("%lx", (unsigned long) grpc_slice_buffer_destroy);
274 printf("%lx", (unsigned long) grpc_slice_buffer_add);
275 printf("%lx", (unsigned long) grpc_slice_buffer_add_indexed);
276 printf("%lx", (unsigned long) grpc_slice_buffer_addn);
277 printf("%lx", (unsigned long) grpc_slice_buffer_tiny_add);
278 printf("%lx", (unsigned long) grpc_slice_buffer_pop);
279 printf("%lx", (unsigned long) grpc_slice_buffer_reset_and_unref);
280 printf("%lx", (unsigned long) grpc_slice_buffer_swap);
281 printf("%lx", (unsigned long) grpc_slice_buffer_move_into);
282 printf("%lx", (unsigned long) grpc_slice_buffer_trim_end);
283 printf("%lx", (unsigned long) grpc_slice_buffer_move_first);
284 printf("%lx", (unsigned long) grpc_slice_buffer_move_first_no_ref);
285 printf("%lx", (unsigned long) grpc_slice_buffer_move_first_into_buffer);
286 printf("%lx", (unsigned long) grpc_slice_buffer_take_first);
287 printf("%lx", (unsigned long) grpc_slice_buffer_undo_take_first);
288 printf("%lx", (unsigned long) gpr_malloc);
289 printf("%lx", (unsigned long) gpr_zalloc);
290 printf("%lx", (unsigned long) gpr_free);
291 printf("%lx", (unsigned long) gpr_realloc);
292 printf("%lx", (unsigned long) gpr_malloc_aligned);
293 printf("%lx", (unsigned long) gpr_free_aligned);
294 printf("%lx", (unsigned long) gpr_cpu_num_cores);
295 printf("%lx", (unsigned long) gpr_cpu_current_cpu);
296 printf("%lx", (unsigned long) gpr_strdup);
297 printf("%lx", (unsigned long) gpr_asprintf);
298 printf("%lx", (unsigned long) gpr_mu_init);
299 printf("%lx", (unsigned long) gpr_mu_destroy);
300 printf("%lx", (unsigned long) gpr_mu_lock);
301 printf("%lx", (unsigned long) gpr_mu_unlock);
302 printf("%lx", (unsigned long) gpr_mu_trylock);
303 printf("%lx", (unsigned long) gpr_cv_init);
304 printf("%lx", (unsigned long) gpr_cv_destroy);
305 printf("%lx", (unsigned long) gpr_cv_wait);
306 printf("%lx", (unsigned long) gpr_cv_signal);
307 printf("%lx", (unsigned long) gpr_cv_broadcast);
308 printf("%lx", (unsigned long) gpr_once_init);
309 printf("%lx", (unsigned long) gpr_event_init);
310 printf("%lx", (unsigned long) gpr_event_set);
311 printf("%lx", (unsigned long) gpr_event_get);
312 printf("%lx", (unsigned long) gpr_event_wait);
313 printf("%lx", (unsigned long) gpr_ref_init);
314 printf("%lx", (unsigned long) gpr_ref);
315 printf("%lx", (unsigned long) gpr_ref_non_zero);
316 printf("%lx", (unsigned long) gpr_refn);
317 printf("%lx", (unsigned long) gpr_unref);
318 printf("%lx", (unsigned long) gpr_ref_is_unique);
319 printf("%lx", (unsigned long) gpr_stats_init);
320 printf("%lx", (unsigned long) gpr_stats_inc);
321 printf("%lx", (unsigned long) gpr_stats_read);
322 printf("%lx", (unsigned long) gpr_thd_currentid);
323 printf("%lx", (unsigned long) gpr_time_0);
324 printf("%lx", (unsigned long) gpr_inf_future);
325 printf("%lx", (unsigned long) gpr_inf_past);
326 printf("%lx", (unsigned long) gpr_time_init);
327 printf("%lx", (unsigned long) gpr_now);
328 printf("%lx", (unsigned long) gpr_convert_clock_type);
329 printf("%lx", (unsigned long) gpr_time_cmp);
330 printf("%lx", (unsigned long) gpr_time_max);
331 printf("%lx", (unsigned long) gpr_time_min);
332 printf("%lx", (unsigned long) gpr_time_add);
333 printf("%lx", (unsigned long) gpr_time_sub);
334 printf("%lx", (unsigned long) gpr_time_from_micros);
335 printf("%lx", (unsigned long) gpr_time_from_nanos);
336 printf("%lx", (unsigned long) gpr_time_from_millis);
337 printf("%lx", (unsigned long) gpr_time_from_seconds);
338 printf("%lx", (unsigned long) gpr_time_from_minutes);
339 printf("%lx", (unsigned long) gpr_time_from_hours);
340 printf("%lx", (unsigned long) gpr_time_to_millis);
341 printf("%lx", (unsigned long) gpr_time_similar);
342 printf("%lx", (unsigned long) gpr_sleep_until);
343 printf("%lx", (unsigned long) gpr_timespec_to_micros);