blueloveTH 2 лет назад
Родитель
Сommit
891ce80fb4
2 измененных файлов с 17 добавлено и 1 удалено
  1. 15 1
      src/c.pyi
  2. 2 0
      src/cffi.h

+ 15 - 1
src/c.pyi

@@ -125,4 +125,18 @@ longlong_ = refl("longlong")
 ulonglong_ = refl("ulonglong")
 float_ = refl("float")
 double_ = refl("double")
-bool_ = refl("bool")
+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

+ 2 - 0
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);
     }
 }