mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-02-05 10:39:41 +00:00
53 lines
1.3 KiB
C
53 lines
1.3 KiB
C
#ifdef __clang__
|
|
#define CBINDGEN_NONNULL _Nonnull
|
|
#else
|
|
#define CBINDGEN_NONNULL
|
|
#endif
|
|
|
|
|
|
#include <stdarg.h>
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
|
|
typedef struct Opaque Opaque;
|
|
|
|
typedef struct References {
|
|
const struct Opaque *CBINDGEN_NONNULL a;
|
|
struct Opaque *CBINDGEN_NONNULL b;
|
|
const struct Opaque *c;
|
|
struct Opaque *d;
|
|
} References;
|
|
|
|
typedef struct Pointers_u64 {
|
|
float *CBINDGEN_NONNULL a;
|
|
uint64_t *CBINDGEN_NONNULL b;
|
|
struct Opaque *CBINDGEN_NONNULL c;
|
|
uint64_t *CBINDGEN_NONNULL *CBINDGEN_NONNULL d;
|
|
float *CBINDGEN_NONNULL *CBINDGEN_NONNULL e;
|
|
struct Opaque *CBINDGEN_NONNULL *CBINDGEN_NONNULL f;
|
|
uint64_t *g;
|
|
int32_t *h;
|
|
int32_t *CBINDGEN_NONNULL *i;
|
|
const uint64_t *j;
|
|
uint64_t *k;
|
|
} Pointers_u64;
|
|
|
|
void value_arg(struct References arg);
|
|
|
|
void mutltiple_args(int32_t *CBINDGEN_NONNULL arg,
|
|
struct Pointers_u64 *foo,
|
|
struct Opaque *CBINDGEN_NONNULL *CBINDGEN_NONNULL d);
|
|
|
|
void ref_arg(const struct Pointers_u64 *CBINDGEN_NONNULL arg);
|
|
|
|
void mut_ref_arg(struct Pointers_u64 *CBINDGEN_NONNULL arg);
|
|
|
|
void optional_ref_arg(const struct Pointers_u64 *arg);
|
|
|
|
void optional_mut_ref_arg(struct Pointers_u64 *arg);
|
|
|
|
void nullable_const_ptr(const struct Pointers_u64 *arg);
|
|
|
|
void nullable_mut_ptr(struct Pointers_u64 *arg);
|