diff dyncall/dyncall_signature.h @ 358:30aae7371373

- extended signature with calling convention mode switches for fastcall (gnu), default, cdecl, stdcall, arm (arm), arm (thumb), syscall - made formatted call (dcV?{Call,Arg}F) interface use those calling convention mode signature specifications to begin with - extended callf testcode with one standard and one vararg call to test those cc mode switches
author Tassilo Philipp
date Mon, 13 Apr 2020 15:12:01 +0200
parents f5577f6bf97a
children 78dfa2f9783a
line wrap: on
line diff
--- a/dyncall/dyncall_signature.h	Tue Feb 25 18:16:13 2020 +0100
+++ b/dyncall/dyncall_signature.h	Mon Apr 13 15:12:01 2020 +0200
@@ -59,14 +59,21 @@
 #define DC_SIGCHAR_STRUCT       'T'
 #define DC_SIGCHAR_ENDARG       ')' /* also works for end struct */
 
-/* callback signatures */
+/* calling convention / mode signatures */
 
-#define DC_SIGCHAR_CC_PREFIX        '_'
-#define DC_SIGCHAR_CC_ELLIPSIS      'e'
-#define DC_SIGCHAR_CC_STDCALL       's'
-#define DC_SIGCHAR_CC_FASTCALL_GNU  'f'
-#define DC_SIGCHAR_CC_FASTCALL_MS   'F'
-#define DC_SIGCHAR_CC_THISCALL_MS   '+'
+#define DC_SIGCHAR_CC_PREFIX           '_'
+#define DC_SIGCHAR_CC_DEFAULT          ':'
+#define DC_SIGCHAR_CC_ELLIPSIS         'e'
+#define DC_SIGCHAR_CC_ELLIPSIS_VARARGS '.'
+#define DC_SIGCHAR_CC_CDECL            'c'
+#define DC_SIGCHAR_CC_STDCALL          's'
+#define DC_SIGCHAR_CC_FASTCALL_MS      'F'
+#define DC_SIGCHAR_CC_FASTCALL_GNU     'f'
+#define DC_SIGCHAR_CC_THISCALL_MS      '+'
+#define DC_SIGCHAR_CC_THISCALL_GNU     '#'
+#define DC_SIGCHAR_CC_ARM_ARM          'A'
+#define DC_SIGCHAR_CC_ARM_THUMB        'a'
+#define DC_SIGCHAR_CC_SYSCALL          '$'
 
 #endif /* DYNCALL_SIGNATURE_H */