diff --git a/src/c.pyi b/src/c.pyi index 7f79f04f..f1cfb7ae 100644 --- a/src/c.pyi +++ b/src/c.pyi @@ -125,4 +125,18 @@ longlong_ = refl("longlong") ulonglong_ = refl("ulonglong") float_ = refl("float") double_ = refl("double") -bool_ = refl("bool") \ No newline at end of file +bool_ = refl("bool") + +char_p = void_p +uchar_p = void_p +short_p = void_p +ushort_p = void_p +int_p = void_p +uint_p = void_p +long_p = void_p +ulong_p = void_p +longlong_p = void_p +ulonglong_p = void_p +float_p = void_p +double_p = void_p +bool_p = void_p \ No newline at end of file diff --git a/src/cffi.h b/src/cffi.h index adc157d7..c8f5d76d 100644 --- a/src/cffi.h +++ b/src/cffi.h @@ -545,8 +545,10 @@ inline void add_module_c(VM* vm){ add_refl_type("bool", sizeof(bool), {}); add_refl_type("void_p", sizeof(void*), {}); + PyObject* void_p_t = mod->attr("void_p"); for(const char* t: {"char", "uchar", "short", "ushort", "int", "uint", "long", "ulong", "longlong", "ulonglong", "float", "double", "bool"}){ mod->attr().set(Str(t) + "_", VAR_T(C99ReflType, _refl_types[t])); + mod->attr().set(Str(t) + "_p", void_p_t); } }