Ignore:
Timestamp:
May 19, 2001, 9:15:19 PM (24 years ago)
Author:
sandervl
Message:

odin wrapper fixes (fs corruption in release mode)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/odinwrap.h

    r5276 r5759  
    250250    FNPROLOGUE(#cName)                       \
    251251    ODIN_##cName(a1,a2,a3);              \
     252    dprintf(("%s: void "#cName"() leave\n",   \
    252253             pszOdinDebugChannel));           \
    253254    FNEPILOGUE(#cName)            \
     
    285286    FNPROLOGUE(#cName)                       \
    286287    ODIN_##cName(a1,a2,a3,a4); \
    287     dprintf(("%s: void "#cName"() leave\n",    \
     288    dprintf(("%s: void "#cName"() leave\n",   \
    288289             pszOdinDebugChannel));           \
    289290    FNEPILOGUE       \
     
    323324    FNPROLOGUE(#cName)                       \
    324325    ODIN_##cName(a1,a2,a3,a4,a5); \
     326    dprintf(("%s: void "#cName"() leave\n",   \
    325327             pszOdinDebugChannel));           \
    326328    FNEPILOGUE       \
     
    697699 * General Wrapper Macros                                                   *
    698700 ****************************************************************************/
     701
     702#define FNPROLOGUE(a)   \
     703  USHORT sel = GetFS();
     704
     705#define FNEPILOGUE(a)   \
     706  SetFS(sel);
    699707
    700708#define ODINFUNCTION0   ODINFUNCTIONNODBG0
     
    736744 ****************************************************************************/
    737745
     746
    738747/* ---------- 0 parameters ---------- */
    739 #define ODINFUNCTIONNODBG0(cRet,cName) cRet WINAPI cName(void)
    740 #define ODINPROCEDURENODBG0(cName)     void WINAPI cName(void)
     748#define ODINFUNCTIONNODBG0(cRet,cName)             \
     749  cRet ODIN_INTERNAL ODIN_##cName (void);     \
     750  cRet WINAPI cName(void)                     \
     751  {                                           \
     752    FNPROLOGUE(#cName)                        \
     753    cRet   rc  = ODIN_##cName();              \
     754    FNEPILOGUE(#cName)                        \
     755    return rc;                                \
     756  }                                           \
     757                                              \
     758  cRet ODIN_INTERNAL ODIN_##cName (void)
     759
     760
     761#define ODINPROCEDURENODBG0(cName)                 \
     762  void ODIN_INTERNAL ODIN_##cName (void);     \
     763  void WINAPI cName(void)                     \
     764  {                                           \
     765    FNPROLOGUE(#cName)                       \
     766    ODIN_##cName();                           \
     767    FNEPILOGUE(#cName)                        \
     768  }                                           \
     769                                              \
     770  void ODIN_INTERNAL ODIN_##cName (void)
     771
    741772
    742773/* ---------- 1 parameters ---------- */
    743 #define ODINFUNCTIONNODBG1(cRet,cName,t1,a1) cRet WINAPI cName(t1 a1)
    744 #define ODINPROCEDURENODBG1(cName,t1,a1)     void WINAPI cName(t1 a1)
     774#define ODINFUNCTIONNODBG1(cRet,cName,t1,a1)       \
     775  cRet ODIN_INTERNAL ODIN_##cName (t1 a1);    \
     776  cRet WINAPI cName(t1 a1)                    \
     777  {                                           \
     778    FNPROLOGUE(#cName)                       \
     779    cRet   rc  = ODIN_##cName(a1);            \
     780    FNEPILOGUE(#cName)                        \
     781    return rc;                                \
     782  }                                           \
     783                                              \
     784  cRet ODIN_INTERNAL ODIN_##cName (t1 a1)
     785
     786#define ODINPROCEDURENODBG1(cName,t1,a1)           \
     787  void ODIN_INTERNAL ODIN_##cName (t1 a1);    \
     788  void WINAPI cName(t1 a1)                    \
     789  {                                           \
     790    FNPROLOGUE(#cName)                       \
     791    ODIN_##cName(a1);                         \
     792    FNEPILOGUE(#cName)                        \
     793  }                                           \
     794                                              \
     795  void ODIN_INTERNAL ODIN_##cName (t1 a1)
     796
    745797
    746798/* ---------- 2 parameters ---------- */
    747 #define ODINFUNCTIONNODBG2(cRet,cName,t1,a1,t2,a2) cRet WINAPI cName(t1 a1,t2 a2)
    748 #define ODINPROCEDURENODBG2(cName,t1,a1,t2,a2)     void WINAPI cName(t1 a1,t2 a2)
     799#define ODINFUNCTIONNODBG2(cRet,cName,t1,a1,t2,a2)  \
     800  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2); \
     801  cRet WINAPI cName(t1 a1,t2 a2)               \
     802  {                                            \
     803    FNPROLOGUE(#cName)                        \
     804    cRet   rc  = ODIN_##cName(a1,a2);          \
     805    FNEPILOGUE(#cName)                         \
     806    return rc;                                 \
     807  }                                            \
     808                                               \
     809  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2)
     810
     811#define ODINPROCEDURENODBG2(cName,t1,a1,t2,a2)     \
     812  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2);     \
     813  void WINAPI cName(t1 a1,t2 a2)              \
     814  {                                           \
     815    FNPROLOGUE(#cName)                       \
     816    ODIN_##cName(a1,a2);                      \
     817    FNEPILOGUE(#cName)                        \
     818  }                                           \
     819                                              \
     820  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2)
     821
    749822
    750823/* ---------- 3 parameters ---------- */
    751 #define ODINFUNCTIONNODBG3(cRet,cName,t1,a1,t2,a2,t3,a3)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3)
    752 #define ODINPROCEDURENODBG3(cName,t1,a1,t2,a2,t3,a3)      void WINAPI cName(t1 a1,t2 a2,t3 a3)
     824#define ODINFUNCTIONNODBG3(cRet,cName,t1,a1,t2,a2,t3,a3)  \
     825  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3);      \
     826  cRet WINAPI cName(t1 a1,t2 a2,t3 a3)        \
     827  {                                           \
     828    FNPROLOGUE(#cName)                       \
     829    cRet   rc  = ODIN_##cName(a1,a2,a3);      \
     830    FNEPILOGUE(#cName)            \
     831    return rc;                    \
     832  }                               \
     833                                  \
     834  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3)
     835
     836#define ODINPROCEDURENODBG3(cName,t1,a1,t2,a2,t3,a3)  \
     837  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3);  \
     838  void WINAPI cName(t1 a1,t2 a2,t3 a3)    \
     839  {                               \
     840    FNPROLOGUE(#cName)                       \
     841    ODIN_##cName(a1,a2,a3);              \
     842    FNEPILOGUE(#cName)            \
     843  }                               \
     844                                  \
     845  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3)
     846
    753847
    754848/* ---------- 4 parameters ---------- */
    755 #define ODINFUNCTIONNODBG4(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4)
    756 #define ODINPROCEDURENODBG4(cName,t1,a1,t2,a2,t3,a3,t4,a4)      void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4)
     849#define ODINFUNCTIONNODBG4(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4)  \
     850  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4);      \
     851  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4)        \
     852  {                               \
     853    FNPROLOGUE(#cName)                       \
     854    cRet   rc  = ODIN_##cName(a1,a2,a3,a4); \
     855    FNEPILOGUE(#cName)            \
     856    return rc;                    \
     857  }                               \
     858                                  \
     859  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4)
     860
     861#define ODINPROCEDURENODBG4(cName,t1,a1,t2,a2,t3,a3,t4,a4)  \
     862  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4);  \
     863  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4)    \
     864  {                               \
     865    FNPROLOGUE(#cName)                       \
     866    ODIN_##cName(a1,a2,a3,a4); \
     867    FNEPILOGUE       \
     868  }                               \
     869                                  \
     870  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4)
     871
    757872
    758873/* ---------- 5 parameters ---------- */
    759 #define ODINFUNCTIONNODBG5(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)
    760 #define ODINPROCEDURENODBG5(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)      void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)
     874#define ODINFUNCTIONNODBG5(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)  \
     875  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5);      \
     876  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)        \
     877  {                               \
     878    FNPROLOGUE(#cName)                       \
     879    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5); \
     880    FNEPILOGUE(#cName)            \
     881    return rc;                    \
     882  }                               \
     883                                  \
     884  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)
     885
     886#define ODINPROCEDURENODBG5(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)  \
     887  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5);  \
     888  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)    \
     889  {                               \
     890    FNPROLOGUE(#cName)                       \
     891    ODIN_##cName(a1,a2,a3,a4,a5); \
     892    FNEPILOGUE       \
     893  }                               \
     894                                  \
     895  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5)
     896
    761897
    762898/* ---------- 6 parameters ---------- */
    763 #define ODINFUNCTIONNODBG6(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)
    764 #define ODINPROCEDURENODBG6(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)      void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)
     899#define ODINFUNCTIONNODBG6(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)  \
     900  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6);      \
     901  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)        \
     902  {                               \
     903    FNPROLOGUE(#cName)                       \
     904    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6); \
     905    FNEPILOGUE(#cName)            \
     906    return rc;                    \
     907  }                               \
     908                                  \
     909  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)
     910
     911#define ODINPROCEDURENODBG6(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)  \
     912  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6);  \
     913  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)    \
     914  {                               \
     915    FNPROLOGUE(#cName)                       \
     916    ODIN_##cName(a1,a2,a3,a4,a5,a6); \
     917    FNEPILOGUE       \
     918  }                               \
     919                                  \
     920  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6)
     921
    765922
    766923/* ---------- 7 parameters ---------- */
    767 #define ODINFUNCTIONNODBG7(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)
    768 #define ODINPROCEDURENODBG7(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7)      void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)
     924#define ODINFUNCTIONNODBG7(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7)  \
     925  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7);      \
     926  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)        \
     927  {                               \
     928    FNPROLOGUE(#cName)                       \
     929    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7); \
     930    FNEPILOGUE(#cName)            \
     931    return rc;                    \
     932  }                               \
     933                                  \
     934  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)
     935
     936#define ODINPROCEDURENODBG7(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7)  \
     937  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7);  \
     938  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)    \
     939  {                               \
     940    FNPROLOGUE(#cName)                       \
     941    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7); \
     942    FNEPILOGUE       \
     943  }                               \
     944                                  \
     945  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7)
     946
    769947
    770948/* ---------- 8 parameters ---------- */
    771 #define ODINFUNCTIONNODBG8(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)
    772 #define ODINPROCEDURENODBG8(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8)      void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)
     949#define ODINFUNCTIONNODBG8(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8)  \
     950  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8);      \
     951  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)        \
     952  {                               \
     953    FNPROLOGUE(#cName)                       \
     954    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8); \
     955    FNEPILOGUE(#cName)            \
     956    return rc;                    \
     957  }                               \
     958                                  \
     959  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)
     960
     961#define ODINPROCEDURENODBG8(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8)  \
     962  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8);  \
     963  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)    \
     964  {                               \
     965    FNPROLOGUE(#cName)                       \
     966    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8); \
     967    FNEPILOGUE       \
     968  }                               \
     969                                  \
     970  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8)
     971
    773972
    774973/* ---------- 9 parameters ---------- */
    775 #define ODINFUNCTIONNODBG9(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9)   cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)
    776 #define ODINPROCEDURENODBG9(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9)       void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)
     974#define ODINFUNCTIONNODBG9(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9)  \
     975  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9);      \
     976  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)        \
     977  {                               \
     978    FNPROLOGUE(#cName)                       \
     979    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9); \
     980    FNEPILOGUE(#cName)            \
     981    return rc;                    \
     982  }                               \
     983                                  \
     984  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)
     985
     986#define ODINPROCEDURENODBG9(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9)  \
     987  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9);  \
     988  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)    \
     989  {                               \
     990    FNPROLOGUE(#cName)                       \
     991    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9); \
     992    FNEPILOGUE       \
     993  }                               \
     994                                  \
     995  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9)
     996
    777997
    778998/* ---------- 10 parameters ---------- */
    779 #define ODINFUNCTIONNODBG10(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10)   cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)
    780 #define ODINPROCEDURENODBG10(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10)       void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)
     999#define ODINFUNCTIONNODBG10(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10)  \
     1000  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10);      \
     1001  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)        \
     1002  {                               \
     1003    FNPROLOGUE(#cName)                       \
     1004    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); \
     1005    FNEPILOGUE(#cName)            \
     1006    return rc;                    \
     1007  }                               \
     1008                                  \
     1009  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)
     1010
     1011#define ODINPROCEDURENODBG10(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10)  \
     1012  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10);  \
     1013  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)    \
     1014  {                               \
     1015    FNPROLOGUE(#cName)                       \
     1016    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); \
     1017    FNEPILOGUE       \
     1018  }                               \
     1019                                  \
     1020  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10)
     1021
    7811022
    7821023/* ---------- 11 parameters ---------- */
    783 #define ODINFUNCTIONNODBG11(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)
    784 #define ODINPROCEDURENODBG11(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11)      void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)
     1024#define ODINFUNCTIONNODBG11(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11)  \
     1025  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11);      \
     1026  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)        \
     1027  {                               \
     1028    FNPROLOGUE(#cName)                       \
     1029    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); \
     1030    FNEPILOGUE(#cName)            \
     1031    return rc;                    \
     1032  }                               \
     1033                                  \
     1034  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)
     1035
     1036#define ODINPROCEDURENODBG11(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11)  \
     1037  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11);  \
     1038  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)    \
     1039  {                               \
     1040    FNPROLOGUE(#cName)                       \
     1041    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); \
     1042    FNEPILOGUE       \
     1043  }                               \
     1044                                  \
     1045  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11)
     1046
    7851047
    7861048/* ---------- 12 parameters ---------- */
    787 #define ODINFUNCTIONNODBG12(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12)  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)
    788 #define ODINPROCEDURENODBG12(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12)      void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)
     1049#define ODINFUNCTIONNODBG12(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12)  \
     1050  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12);      \
     1051  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)        \
     1052  {                               \
     1053    FNPROLOGUE(#cName)                       \
     1054    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); \
     1055    FNEPILOGUE(#cName)            \
     1056    return rc;                    \
     1057  }                               \
     1058                                  \
     1059  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)
     1060
     1061#define ODINPROCEDURENODBG12(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12)  \
     1062  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12);  \
     1063  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)    \
     1064  {                               \
     1065    FNPROLOGUE(#cName)                       \
     1066    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); \
     1067    FNEPILOGUE       \
     1068  }                               \
     1069                                  \
     1070  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12)
     1071
    7891072
    7901073/* ---------- 13 parameters ---------- */
    7911074#define ODINFUNCTIONNODBG13(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13)  \
    792   cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)
     1075  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13);      \
     1076  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)        \
     1077  {                               \
     1078    FNPROLOGUE(#cName)                       \
     1079    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); \
     1080    FNEPILOGUE(#cName)            \
     1081    return rc;                    \
     1082  }                               \
     1083                                  \
     1084  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)
    7931085
    7941086#define ODINPROCEDURENODBG13(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13)  \
    795   void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)
     1087  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13);  \
     1088  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)    \
     1089  {                               \
     1090    FNPROLOGUE(#cName)                       \
     1091    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); \
     1092    FNEPILOGUE       \
     1093  }                               \
     1094                                  \
     1095  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13)
     1096
    7961097
    7971098/* ---------- 14 parameters ---------- */
    7981099#define ODINFUNCTIONNODBG14(cRet,cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13,t14,a14)  \
    799   cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)
     1100  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14);      \
     1101  cRet WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)        \
     1102  {                               \
     1103    FNPROLOGUE(#cName)                       \
     1104    cRet   rc  = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); \
     1105    FNEPILOGUE(#cName)            \
     1106    return rc;                    \
     1107  }                               \
     1108                                  \
     1109  cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)
    8001110
    8011111#define ODINPROCEDURENODBG14(cName,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6,t7,a7,t8,a8,t9,a9,t10,a10,t11,a11,t12,a12,t13,a13,t14,a14)  \
    802   void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)
    803 
     1112  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14);  \
     1113  void WINAPI cName(t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)    \
     1114  {                               \
     1115    FNPROLOGUE(#cName)                       \
     1116    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); \
     1117    FNEPILOGUE       \
     1118  }                               \
     1119                                  \
     1120  void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3,t4 a4,t5 a5,t6 a6,t7 a7,t8 a8,t9 a9,t10 a10,t11 a11,t12 a12,t13 a13,t14 a14)
    8041121
    8051122#endif /* _ODINWRAP_H_ */
Note: See TracChangeset for help on using the changeset viewer.