#ifdef __clang__ #define CBINDGEN_NONNULL _Nonnull #else #define CBINDGEN_NONNULL #endif #include #include #include #include #include struct Opaque; struct References { const Opaque *CBINDGEN_NONNULL a; Opaque *CBINDGEN_NONNULL b; const Opaque *c; Opaque *d; }; template struct Pointers { float *CBINDGEN_NONNULL a; T *CBINDGEN_NONNULL b; Opaque *CBINDGEN_NONNULL c; T *CBINDGEN_NONNULL *CBINDGEN_NONNULL d; float *CBINDGEN_NONNULL *CBINDGEN_NONNULL e; Opaque *CBINDGEN_NONNULL *CBINDGEN_NONNULL f; T *g; int32_t *h; int32_t *CBINDGEN_NONNULL *i; const T *j; T *k; }; extern "C" { void value_arg(References arg); void mutltiple_args(int32_t *CBINDGEN_NONNULL arg, Pointers *foo, Opaque *CBINDGEN_NONNULL *CBINDGEN_NONNULL d); void ref_arg(const Pointers *CBINDGEN_NONNULL arg); void mut_ref_arg(Pointers *CBINDGEN_NONNULL arg); void optional_ref_arg(const Pointers *arg); void optional_mut_ref_arg(Pointers *arg); void nullable_const_ptr(const Pointers *arg); void nullable_mut_ptr(Pointers *arg); } // extern "C"