annotate dyncall/dyncall.h @ 533:71c884e610f0

- integration of patches from Raphael Luba, Thekla, Inc.: * integration of aggregate-by-value (struct, union) support patch for x64 (win and sysv) * windows/x64 asm additions to specify how stack unwinds (help for debuggers, exception handling, etc.) * see Changelog for details - new calling convention modes for thiscalls (platform agnostic, was specific before) * new signature character for platform agnostic thiscalls ('*' / DC_SIGCHAR_CC_THISCALL) - dcCallF(), dcVCallF(), dcArgF() and dcVArgF(): * added support for aggregates-by-value (wasn't part of patch) * change that those functions don't implicitly call dcReset() anymore, which was unflexible (breaking change) - added macros to feature test implementation for aggregate-by-value and syscall support - changed libdyncall_s.lib and libdyncallback_s.lib order in callback test makefiles, as some toolchains are picky about order - doc: * man page updates to describe aggregate interface * manual overview changes to highlight platforms with aggregate-by-value support - test/plain: replaced tests w/ old/stale sctruct interface with new aggregate one
author Tassilo Philipp
date Thu, 21 Apr 2022 13:35:47 +0200
parents ddfb9577a00e
children 0c8838766866
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 /*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 Package: dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 Library: dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 File: dyncall/dyncall.h
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 Description: public header for library dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 License:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
9 Copyright (c) 2007-2022 Daniel Adler <dadler@uni-goettingen.de>,
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 Tassilo Philipp <tphilipp@potion-studios.com>
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 Permission to use, copy, modify, and distribute this software for any
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 purpose with or without fee is hereby granted, provided that the above
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 copyright notice and this permission notice appear in all copies.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 #ifndef DYNCALL_H
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 #define DYNCALL_H
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 #include "dyncall_types.h"
362
78dfa2f9783a - added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents: 339
diff changeset
31 #include "dyncall_signature.h"
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 #ifdef __cplusplus
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 extern "C" {
466
ddfb9577a00e introduced platform-native thiscall mode (DC_CALL_C_DEFAULT_THIS), as needed
Tassilo Philipp
parents: 364
diff changeset
35 #endif
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 typedef struct DCCallVM_ DCCallVM;
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
38 typedef struct DCaggr_ DCaggr;
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 /* Supported Calling Convention Modes */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
42 /* default */
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
43 #define DC_CALL_C_DEFAULT 0 /* C default (platform native) */
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
44 #define DC_CALL_C_DEFAULT_THIS 99 /* for C++ calls where first param is hidden this ptr (platform native) */
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
45 #define DC_CALL_C_ELLIPSIS 100 /* to be set for vararg calls' non-hidden (e.g. C++ this ptr), named arguments */
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
46 #define DC_CALL_C_ELLIPSIS_VARARGS 101 /* to be set for vararg calls' non-hidden (e.g. C++ this ptr), variable arguments (in ... part) */
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
47 /* platform specific */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 #define DC_CALL_C_X86_CDECL 1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 #define DC_CALL_C_X86_WIN32_STD 2
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50 #define DC_CALL_C_X86_WIN32_FAST_MS 3
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 #define DC_CALL_C_X86_WIN32_FAST_GNU 4
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 #define DC_CALL_C_X86_WIN32_THIS_MS 5
364
3bdd326dc269 - Todo entries
Tassilo Philipp
parents: 362
diff changeset
53 #define DC_CALL_C_X86_WIN32_THIS_GNU DC_CALL_C_X86_CDECL /* alias - identical to cdecl (w/ this-ptr as 1st arg) */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 #define DC_CALL_C_X64_WIN64 7
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
55 #define DC_CALL_C_X64_WIN64_THIS 70 /* only needed when using aggregate by value as return type */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 #define DC_CALL_C_X64_SYSV 8
466
ddfb9577a00e introduced platform-native thiscall mode (DC_CALL_C_DEFAULT_THIS), as needed
Tassilo Philipp
parents: 364
diff changeset
57 #define DC_CALL_C_X64_SYSV_THIS DC_CALL_C_X64_SYSV /* alias */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 #define DC_CALL_C_PPC32_DARWIN 9
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 #define DC_CALL_C_PPC32_OSX DC_CALL_C_PPC32_DARWIN /* alias */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 #define DC_CALL_C_ARM_ARM_EABI 10
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 #define DC_CALL_C_ARM_THUMB_EABI 11
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 #define DC_CALL_C_ARM_ARMHF 30
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 #define DC_CALL_C_MIPS32_EABI 12
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 #define DC_CALL_C_MIPS32_PSPSDK DC_CALL_C_MIPS32_EABI /* alias - deprecated. */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 #define DC_CALL_C_PPC32_SYSV 13
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 #define DC_CALL_C_PPC32_LINUX DC_CALL_C_PPC32_SYSV /* alias */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 #define DC_CALL_C_ARM_ARM 14
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 #define DC_CALL_C_ARM_THUMB 15
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 #define DC_CALL_C_MIPS32_O32 16
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 #define DC_CALL_C_MIPS64_N32 17
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 #define DC_CALL_C_MIPS64_N64 18
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72 #define DC_CALL_C_X86_PLAN9 19
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 #define DC_CALL_C_SPARC32 20
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 #define DC_CALL_C_SPARC64 21
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 #define DC_CALL_C_ARM64 22
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76 #define DC_CALL_C_PPC64 23
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77 #define DC_CALL_C_PPC64_LINUX DC_CALL_C_PPC64 /* alias */
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
78 /* syscalls, default */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 #define DC_CALL_SYS_DEFAULT 200
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
80 /* syscalls, platform specific */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 #define DC_CALL_SYS_X86_INT80H_LINUX 201
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 #define DC_CALL_SYS_X86_INT80H_BSD 202
339
4f9f49fb82ce - x64 SysV syscall support
Tassilo Philipp
parents: 281
diff changeset
83 #define DC_CALL_SYS_X64_SYSCALL_SYSV 204
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 #define DC_CALL_SYS_PPC32 210
7
7ca57dbefed4 - ppc64 update from Masanori
cslag
parents: 0
diff changeset
85 #define DC_CALL_SYS_PPC64 211
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87 /* Error codes. */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 #define DC_ERROR_NONE 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90 #define DC_ERROR_UNSUPPORTED_MODE -1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
92 DC_API DCCallVM* dcNewCallVM (DCsize size);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
93 DC_API void dcFree (DCCallVM* vm);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
94 DC_API void dcReset (DCCallVM* vm);
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
95
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
96 DC_API void dcMode (DCCallVM* vm, DCint mode);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
97
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
98 DC_API void dcBeginCallAggr (DCCallVM* vm, const DCaggr* ag);
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
99
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
100 DC_API void dcArgBool (DCCallVM* vm, DCbool value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
101 DC_API void dcArgChar (DCCallVM* vm, DCchar value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
102 DC_API void dcArgShort (DCCallVM* vm, DCshort value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
103 DC_API void dcArgInt (DCCallVM* vm, DCint value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
104 DC_API void dcArgLong (DCCallVM* vm, DClong value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
105 DC_API void dcArgLongLong (DCCallVM* vm, DClonglong value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
106 DC_API void dcArgFloat (DCCallVM* vm, DCfloat value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
107 DC_API void dcArgDouble (DCCallVM* vm, DCdouble value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
108 DC_API void dcArgPointer (DCCallVM* vm, DCpointer value);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
109 DC_API void dcArgAggr (DCCallVM* vm, const DCaggr* ag, const void* value);
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
111 DC_API void dcCallVoid (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
112 DC_API DCbool dcCallBool (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
113 DC_API DCchar dcCallChar (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
114 DC_API DCshort dcCallShort (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
115 DC_API DCint dcCallInt (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
116 DC_API DClong dcCallLong (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
117 DC_API DClonglong dcCallLongLong (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
118 DC_API DCfloat dcCallFloat (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
119 DC_API DCdouble dcCallDouble (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
120 DC_API DCpointer dcCallPointer (DCCallVM* vm, DCpointer funcptr);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
121 DC_API DCpointer dcCallAggr (DCCallVM* vm, DCpointer funcptr, const DCaggr* ag, DCpointer ret); /* retval is written to *ret, returns ret */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
122
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
123 DC_API DCint dcGetError (DCCallVM* vm);
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124
533
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
125 DC_API DCaggr* dcNewAggr (DCsize maxFieldCount, DCsize size);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
126 DC_API void dcFreeAggr (DCaggr* ag);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
127 /* if type == DC_SIGCHAR_AGGREGATE, pass DCaggr* of nested struct/union in ... */
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
128 DC_API void dcAggrField (DCaggr* ag, DCsigchar type, DCint offset, DCsize array_len, ...);
71c884e610f0 - integration of patches from Raphael Luba, Thekla, Inc.:
Tassilo Philipp
parents: 466
diff changeset
129 DC_API void dcCloseAggr (DCaggr* ag); /* to indicate end of struct definition, required */
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
130
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
131
362
78dfa2f9783a - added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents: 339
diff changeset
132 /* helpers */
78dfa2f9783a - added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents: 339
diff changeset
133
78dfa2f9783a - added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents: 339
diff changeset
134 /* returns respective mode for callconv sig char (w/o checking if mode exists */
78dfa2f9783a - added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents: 339
diff changeset
135 /* on current platform), or DC_ERROR_UNSUPPORTED_MODE if char isn't a sigchar */
78dfa2f9783a - added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents: 339
diff changeset
136 DC_API DCint dcGetModeFromCCSigChar(DCsigchar sig_char);
78dfa2f9783a - added helper function dcGetModeFromCCSigChar() mapping callconv sig chars to respective mode
Tassilo Philipp
parents: 339
diff changeset
137
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
138 #ifdef __cplusplus
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
139 }
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
140 #endif
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
141
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
142 #endif /* DYNCALL_H */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
143