/* -----------------------------------------------------------------------------
 * ssharp.swg
 *
 * S# typemaps - specific to the S# Smalltalk dialect
 * ----------------------------------------------------------------------------- */

%include "smalltalk.swg"

/* these are the argument types used to map from the C types to the actual Smalltalk external interface */
%typemap(sttype) bool,               const bool &               "UInt8"
%typemap(sttype) char,               const char &               "Char8"
%typemap(sttype) signed char,        const signed char &        "Char8"
%typemap(sttype) unsigned char,      const unsigned char &      "UInt8"
%typemap(sttype) short,              const short &              "Int16"
%typemap(sttype) unsigned short,     const unsigned short &     "UInt16"
%typemap(sttype) int,                const int &                "Int32"
%typemap(sttype) unsigned int,       const unsigned int &       "UInt32"
%typemap(sttype) long,               const long &               "Int32"
%typemap(sttype) unsigned long,      const unsigned long &      "UInt32"
%typemap(sttype) long long,          const long long &          "Int64"
%typemap(sttype) unsigned long long, const unsigned long long & "UInt64"
%typemap(sttype) float,              const float &              "Float32"
%typemap(sttype) double,             const double &             "Float64"
%typemap(sttype) char *                                         "LPCSTR"
%typemap(sttype) void                                           "void"

