General Details
This article describes the calling conventions with respect to js-ctypes while programming x86 and x86-64/x64/AMD64 architectures. A calling convention is an implementation-level (low-level) scheme regarding how subroutines receive parameters from their caller and how they revert.
http://en.wikipedia.org/wiki/X86_calling_conventions
ABI
ABI stands for "Application Binary Interface".
http://en.wikipedia.org/wiki/Application_binary_interface
OS Specific
Windows
- https://msdn.microsoft.com/en-us/library/k2b2ssfy.aspx
- https://msdn.microsoft.com/en-us/library/9b372w95.aspx
Details with Respect to js-ctypes
This explains how to use it in the js-ctypes scope.
Three different ABIs exist: ctypes.default_abi
, ctypes.stdcall_abi
, and ctypes.winapi_abi
.
ctypes.default_abi
Corresponds to cdecl
; standard libraries use this ABI. You can also use this for various system calls,including those on Mac OS X and Linux.
ctypes.thiscall_abi
More information is available at Bugzilla :: 552533.
ctypes.stdcall_abi
Used for calling functions declared with stdcall
on Windows. These functions' names are automatically mangled for you by js-ctypes.
ctypes.winapi_abi
Used for calling Windows system functions. These are declared as stdcall
on Windows, but do not have mangled names like those used by stdcall_abi
above.
OS Specific
WIN32 and OS2
Callbacks in js-ctypes under these operating systems use a different ABI than regular function declarations.
Other
All other operating systems use ctypes.default_abi
as their calling convention for all function declarations.
Method overview
String toSource() |
String toString() |
Methods
toSource()
Returns the string "ctypes.***_abi".
String toSource()
Parameters
None.
Return value
A JavaScript expression that evaluates to the ABI
.
toString()
Returns a string identifying the ABI.
String toString();
Parameters
None.
Return value
A string identifying the ABI.