1 /*
2  * librdkafka - Apache Kafka C library
3  *
4  * Copyright (c) 2012-2013, Magnus Edenhill
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright notice,
11  *    this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright notice,
13  *    this list of conditions and the following disclaimer in the documentation
14  *    and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 /**
30  * Makes sure all symbols in the public API actually resolves during linking.
31  * This test needs to be updated manually when new symbols are added.
32  */
33 
34 #include "test.h"
35 
36 /* Typical include path would be <librdkafka/rdkafka.h>, but this program
37  * is built from within the librdkafka source tree and thus differs. */
38 #include "rdkafka.h"  /* for Kafka driver */
39 
40 
rd_kafka_zstd_decompress(rd_kafka_broker_t * rkb,char * inbuf,size_t inlen,void ** outbuf,size_t * outlenp)41 int main_0006_symbols (int argc, char **argv) {
42 
43         if (argc < 0 /* always false */) {
44                 rd_kafka_version();
45                 rd_kafka_version_str();
46 		rd_kafka_get_debug_contexts();
47 		rd_kafka_get_err_descs(NULL, NULL);
48                 rd_kafka_err2str(RD_KAFKA_RESP_ERR_NO_ERROR);
49 		rd_kafka_err2name(RD_KAFKA_RESP_ERR_NO_ERROR);
50 		rd_kafka_last_error();
51                 rd_kafka_conf_new();
52                 rd_kafka_conf_destroy(NULL);
53                 rd_kafka_conf_dup(NULL);
54                 rd_kafka_conf_set(NULL, NULL, NULL, NULL, 0);
55                 rd_kafka_conf_set_dr_cb(NULL, NULL);
56                 rd_kafka_conf_set_dr_msg_cb(NULL, NULL);
57                 rd_kafka_conf_set_error_cb(NULL, NULL);
58                 rd_kafka_conf_set_stats_cb(NULL, NULL);
59                 rd_kafka_conf_set_log_cb(NULL, NULL);
60                 rd_kafka_conf_set_socket_cb(NULL, NULL);
61 		rd_kafka_conf_set_rebalance_cb(NULL, NULL);
62 		rd_kafka_conf_set_offset_commit_cb(NULL, NULL);
63 		rd_kafka_conf_set_throttle_cb(NULL, NULL);
64 		rd_kafka_conf_set_default_topic_conf(NULL, NULL);
65 		rd_kafka_conf_get(NULL, NULL, NULL, NULL);
66 #ifndef _WIN32
67 		rd_kafka_conf_set_open_cb(NULL, NULL);
68 #endif
69 		rd_kafka_conf_set_opaque(NULL, NULL);
70                 rd_kafka_opaque(NULL);
71                 rd_kafka_conf_dump(NULL, NULL);
72                 rd_kafka_topic_conf_dump(NULL, NULL);
73                 rd_kafka_conf_dump_free(NULL, 0);
74                 rd_kafka_conf_properties_show(NULL);
75                 rd_kafka_topic_conf_new();
76                 rd_kafka_topic_conf_dup(NULL);
77                 rd_kafka_topic_conf_destroy(NULL);
78                 rd_kafka_topic_conf_set(NULL, NULL, NULL, NULL, 0);
79                 rd_kafka_topic_conf_set_opaque(NULL, NULL);
80 		rd_kafka_topic_conf_get(NULL, NULL, NULL, NULL);
81                 rd_kafka_topic_conf_set_partitioner_cb(NULL, NULL);
82                 rd_kafka_topic_partition_available(NULL, 0);
83 		rd_kafka_topic_opaque(NULL);
84                 rd_kafka_msg_partitioner_random(NULL, NULL, 0, 0, NULL, NULL);
85                 rd_kafka_msg_partitioner_consistent(NULL, NULL, 0, 0, NULL, NULL);
86                 rd_kafka_msg_partitioner_consistent_random(NULL, NULL, 0, 0, NULL, NULL);
87                 rd_kafka_new(0, NULL, NULL, 0);
88                 rd_kafka_destroy(NULL);
89 		rd_kafka_flush(NULL, 0);
90                 rd_kafka_name(NULL);
91 		rd_kafka_memberid(NULL);
92                 rd_kafka_topic_new(NULL, NULL, NULL);
93                 rd_kafka_topic_destroy(NULL);
94                 rd_kafka_topic_name(NULL);
95                 rd_kafka_message_destroy(NULL);
96                 rd_kafka_message_errstr(NULL);
97 		rd_kafka_message_timestamp(NULL, NULL);
98                 rd_kafka_consume_start(NULL, 0, 0);
99                 rd_kafka_consume_stop(NULL, 0);
100                 rd_kafka_consume(NULL, 0, 0);
101                 rd_kafka_consume_batch(NULL, 0, 0, NULL, 0);
102                 rd_kafka_consume_callback(NULL, 0, 0, NULL, NULL);
103                 rd_kafka_offset_store(NULL, 0, 0);
104                 rd_kafka_produce(NULL, 0, 0, NULL, 0, NULL, 0, NULL);
105                 rd_kafka_produce_batch(NULL, 0, 0, NULL, 0);
106                 rd_kafka_poll(NULL, 0);
107                 rd_kafka_brokers_add(NULL, NULL);
108                 /* DEPRECATED: rd_kafka_set_logger(NULL, NULL); */
109                 rd_kafka_set_log_level(NULL, 0);
110                 rd_kafka_log_print(NULL, 0, NULL, NULL);
111 #ifndef _WIN32
112                 rd_kafka_log_syslog(NULL, 0, NULL, NULL);
113 #endif
114                 rd_kafka_outq_len(NULL);
115                 rd_kafka_dump(NULL, NULL);
116                 rd_kafka_thread_cnt();
117                 rd_kafka_wait_destroyed(0);
118                 rd_kafka_metadata(NULL, 0, NULL, NULL, 0);
119                 rd_kafka_metadata_destroy(NULL);
120                 rd_kafka_queue_get_partition(NULL, NULL, 0);
121                 rd_kafka_queue_destroy(NULL);
122                 rd_kafka_consume_start_queue(NULL, 0, 0, NULL);
123                 rd_kafka_consume_queue(NULL, 0);
124                 rd_kafka_consume_batch_queue(NULL, 0, NULL, 0);
125                 rd_kafka_consume_callback_queue(NULL, 0, NULL, NULL);
126                 rd_kafka_seek(NULL, 0, 0, 0);
127                 rd_kafka_yield(NULL);
128                 rd_kafka_mem_free(NULL, NULL);
129                 rd_kafka_list_groups(NULL, NULL, NULL, 0);
130                 rd_kafka_group_list_destroy(NULL);
131 
132 		/* KafkaConsumer API */
133 		rd_kafka_subscribe(NULL, NULL);
134 		rd_kafka_unsubscribe(NULL);
135 		rd_kafka_subscription(NULL, NULL);
136 		rd_kafka_consumer_poll(NULL, 0);
137 		rd_kafka_consumer_close(NULL);
138 		rd_kafka_assign(NULL, NULL);
139 		rd_kafka_assignment(NULL, NULL);
140 		rd_kafka_commit(NULL, NULL, 0);
141 		rd_kafka_commit_message(NULL, NULL, 0);
142                 rd_kafka_committed(NULL, NULL, 0);
143 		rd_kafka_position(NULL, NULL);
144 
145 		/* TopicPartition */
146 		rd_kafka_topic_partition_list_new(0);
147 		rd_kafka_topic_partition_list_destroy(NULL);
148 		rd_kafka_topic_partition_list_add(NULL, NULL, 0);
149 		rd_kafka_topic_partition_list_add_range(NULL, NULL, 0, 0);
150 		rd_kafka_topic_partition_list_del(NULL, NULL, 0);
151 		rd_kafka_topic_partition_list_del_by_idx(NULL, 0);
152 		rd_kafka_topic_partition_list_copy(NULL);
153 		rd_kafka_topic_partition_list_set_offset(NULL, NULL, 0, 0);
154 		rd_kafka_topic_partition_list_find(NULL, NULL, 0);
155 		rd_kafka_query_watermark_offsets(NULL, NULL, 0, NULL, NULL, 0);
156 		rd_kafka_get_watermark_offsets(NULL, NULL, 0, NULL, NULL);
157         }
158 
159 
160 	return 0;
161 }
162