C bindings: typedef struct conflicts with method
Rikki Cattermole via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jul 20 23:07:07 PDT 2015
On 21/07/2015 5:53 p.m., yawniek wrote:
> i tried to automagically create bindings for librdkafka
> (https://github.com/edenhill/librdkafka)
> with dstep.
>
> now the code contains typedefs structs with the same name as methods:
>
> ```
> typedef struct rd_kafka_metadata {
> int broker_cnt; /* Number of brokers in 'brokers' */
> struct rd_kafka_metadata_broker *brokers; /* Brokers */
>
> int topic_cnt; /* Number of topics in 'topics' */
> struct rd_kafka_metadata_topic *topics; /* Topics */
>
> int32_t orig_broker_id; /* Broker originating this metadata */
> char *orig_broker_name; /* Name of originating broker */
> } rd_kafka_metadata_t;
>
>
> rd_kafka_metadata (rd_kafka_t *rk, int all_topics,
> rd_kafka_topic_t *only_rkt,
> const struct rd_kafka_metadata **metadatap,
> int timeout_ms);
> ```
>
> what the correct way to bind these?
The c function matters. The struct's two names do not. Just use the
struct's _t name.
More information about the Digitalmars-d-learn
mailing list