home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROS_m68k_bin.lha / AROS / include / aros / libcall.h < prev    next >
C/C++ Source or Header  |  1997-02-08  |  37KB  |  1,312 lines

  1. #ifndef AROS_LIBCALL_H
  2. #define AROS_LIBCALL_H
  3. /* (C) 1995 AROS - The Amiga Replacement OS */
  4.  
  5. /******************************************************************************
  6.  
  7.     MODUL
  8.     $Id: libcall.h,v 1.2 1997/01/10 04:10:56 ldp Exp $
  9.  
  10.     DESCRIPTION
  11.     Some macros to build functions with registerized parameters on the
  12.     different compilers around. Usage:
  13.  
  14.     AROS_LH<n><f>(type, name, type1,  name1, reg1, ...)
  15.     {
  16.         \* Function starts here. *\
  17.     }
  18.  
  19.     <n> - Number of arguments of the function (not including the
  20.         library base).
  21.  
  22.     <f> - 'I' means: Function ignores library base.
  23.         This is useful to get rid of warnings about unused arguments.
  24.  
  25.     type - Returntype of the function.
  26.  
  27.     name - Name of the function. A underscore '_' is prepended so that
  28.         following functions jump over the base vector and don't call
  29.         the function directly.
  30.  
  31.     type<i>, name<i>, reg<i> - Type, name and register for the
  32.         arguments. Register names are written uppercase because they
  33.         are preprocessor symbols.
  34.  
  35.     Example: Define a Exec compatible RemHead function.
  36.  
  37.     AROS_LH1I(struct Node *, RemHead,
  38.         struct List *, list, A0,
  39.         struct ExecBase, SysBase, 43, Exec)
  40.     {
  41.         // Hier *keine* ";" !!
  42.         AROS_LIBFUNC_INIT
  43.         // Das ist eigentlich nicht notwendig, da die Funktion
  44.         // SysBase nicht verwendet, aber ist ja nur ein Demo :-)
  45.         AROS_LIBBASE_EXT_DECL(struct ExecBase, SysBase)
  46.  
  47.         struct Node *node;
  48.  
  49.         node=list->lh_Head;
  50.         if(node->ln_Succ==NULL)
  51.         return NULL;
  52.         Remove(node);
  53.         return node;
  54.  
  55.         // NACH return !!
  56.         AROS_LIBFUNC_EXIT
  57.     }
  58.  
  59. ******************************************************************************/
  60.  
  61. /* System-Specific things */
  62. #ifndef AROS_SYSTEM_H
  63. #   include <aros/system.h>
  64. #endif
  65.  
  66. #ifndef __typedef_VOID_FUNC
  67. #define __typedef_VOID_FUNC
  68. typedef void (*VOID_FUNC)();
  69. #endif
  70. #ifndef __typedef_LONG_FUNC
  71. #define __typedef_LONG_FUNC
  72. typedef long (*LONG_FUNC)();
  73. #endif
  74. #ifndef __typedef_ULONG_FUNC
  75. #define __typedef_ULONG_FUNC
  76. typedef unsigned long (*ULONG_FUNC)();
  77. #endif
  78.  
  79. /* Declare all macros which the systems' libcall didn't */
  80. #ifndef AROS_SLIB_ENTRY
  81. #   define AROS_SLIB_ENTRY(n,s)   s ## _ ## n
  82. #endif
  83.  
  84. /* Library functions which need the libbase */
  85. #define AROS_LH0(t,n,bt,bn,o,s) \
  86.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  87.     __AROS_LH_BASE(bt,bn))
  88. #define AROS_LH1(t,n,a1,bt,bn,o,s) \
  89.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  90.     __AROS_LHA(a1),\
  91.     __AROS_LH_BASE(bt,bn))
  92. #define AROS_LH2(t,n,a1,a2,bt,bn,o,s) \
  93.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  94.     __AROS_LHA(a1),\
  95.     __AROS_LHA(a2),\
  96.     __AROS_LH_BASE(bt,bn))
  97. #define AROS_LH3(t,n,a1,a2,a3,bt,bn,o,s) \
  98.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  99.     __AROS_LHA(a1),\
  100.     __AROS_LHA(a2),\
  101.     __AROS_LHA(a3),\
  102.     __AROS_LH_BASE(bt,bn))
  103. #define AROS_LH4(t,n,a1,a2,a3,a4,bt,bn,o,s) \
  104.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  105.     __AROS_LHA(a1),\
  106.     __AROS_LHA(a2),\
  107.     __AROS_LHA(a3),\
  108.     __AROS_LHA(a4),\
  109.     __AROS_LH_BASE(bt,bn))
  110. #define AROS_LH5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
  111.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  112.     __AROS_LHA(a1),\
  113.     __AROS_LHA(a2),\
  114.     __AROS_LHA(a3),\
  115.     __AROS_LHA(a4),\
  116.     __AROS_LHA(a5),\
  117.     __AROS_LH_BASE(bt,bn))
  118. #define AROS_LH6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
  119.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  120.     __AROS_LHA(a1),\
  121.     __AROS_LHA(a2),\
  122.     __AROS_LHA(a3),\
  123.     __AROS_LHA(a4),\
  124.     __AROS_LHA(a5),\
  125.     __AROS_LHA(a6),\
  126.     __AROS_LH_BASE(bt,bn))
  127. #define AROS_LH7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
  128.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  129.     __AROS_LHA(a1),\
  130.     __AROS_LHA(a2),\
  131.     __AROS_LHA(a3),\
  132.     __AROS_LHA(a4),\
  133.     __AROS_LHA(a5),\
  134.     __AROS_LHA(a6),\
  135.     __AROS_LHA(a7),\
  136.     __AROS_LH_BASE(bt,bn))
  137. #define AROS_LH8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
  138.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  139.     __AROS_LHA(a1),\
  140.     __AROS_LHA(a2),\
  141.     __AROS_LHA(a3),\
  142.     __AROS_LHA(a4),\
  143.     __AROS_LHA(a5),\
  144.     __AROS_LHA(a6),\
  145.     __AROS_LHA(a7),\
  146.     __AROS_LHA(a8),\
  147.     __AROS_LH_BASE(bt,bn))
  148. #define AROS_LH9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
  149.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  150.     __AROS_LHA(a1),\
  151.     __AROS_LHA(a2),\
  152.     __AROS_LHA(a3),\
  153.     __AROS_LHA(a4),\
  154.     __AROS_LHA(a5),\
  155.     __AROS_LHA(a6),\
  156.     __AROS_LHA(a7),\
  157.     __AROS_LHA(a8),\
  158.     __AROS_LHA(a9),\
  159.     __AROS_LH_BASE(bt,bn))
  160. #define AROS_LH10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
  161.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  162.     __AROS_LHA(a1),\
  163.     __AROS_LHA(a2),\
  164.     __AROS_LHA(a3),\
  165.     __AROS_LHA(a4),\
  166.     __AROS_LHA(a5),\
  167.     __AROS_LHA(a6),\
  168.     __AROS_LHA(a7),\
  169.     __AROS_LHA(a8),\
  170.     __AROS_LHA(a9),\
  171.     __AROS_LHA(a10),\
  172.     __AROS_LH_BASE(bt,bn))
  173. #define AROS_LH11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
  174.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  175.     __AROS_LHA(a1),\
  176.     __AROS_LHA(a2),\
  177.     __AROS_LHA(a3),\
  178.     __AROS_LHA(a4),\
  179.     __AROS_LHA(a5),\
  180.     __AROS_LHA(a6),\
  181.     __AROS_LHA(a7),\
  182.     __AROS_LHA(a8),\
  183.     __AROS_LHA(a9),\
  184.     __AROS_LHA(a10),\
  185.     __AROS_LHA(a11),\
  186.     __AROS_LH_BASE(bt,bn))
  187. #define AROS_LH12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
  188.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  189.     __AROS_LHA(a1),\
  190.     __AROS_LHA(a2),\
  191.     __AROS_LHA(a3),\
  192.     __AROS_LHA(a4),\
  193.     __AROS_LHA(a5),\
  194.     __AROS_LHA(a6),\
  195.     __AROS_LHA(a7),\
  196.     __AROS_LHA(a8),\
  197.     __AROS_LHA(a9),\
  198.     __AROS_LHA(a10),\
  199.     __AROS_LHA(a11),\
  200.     __AROS_LHA(a12),\
  201.     __AROS_LH_BASE(bt,bn))
  202. #define AROS_LH13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
  203.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  204.     __AROS_LHA(a1),\
  205.     __AROS_LHA(a2),\
  206.     __AROS_LHA(a3),\
  207.     __AROS_LHA(a4),\
  208.     __AROS_LHA(a5),\
  209.     __AROS_LHA(a6),\
  210.     __AROS_LHA(a7),\
  211.     __AROS_LHA(a8),\
  212.     __AROS_LHA(a9),\
  213.     __AROS_LHA(a10),\
  214.     __AROS_LHA(a11),\
  215.     __AROS_LHA(a12),\
  216.     __AROS_LHA(a13),\
  217.     __AROS_LH_BASE(bt,bn))
  218. #define AROS_LH14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
  219.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  220.     __AROS_LHA(a1),\
  221.     __AROS_LHA(a2),\
  222.     __AROS_LHA(a3),\
  223.     __AROS_LHA(a4),\
  224.     __AROS_LHA(a5),\
  225.     __AROS_LHA(a6),\
  226.     __AROS_LHA(a7),\
  227.     __AROS_LHA(a8),\
  228.     __AROS_LHA(a9),\
  229.     __AROS_LHA(a10),\
  230.     __AROS_LHA(a11),\
  231.     __AROS_LHA(a12),\
  232.     __AROS_LHA(a13),\
  233.     __AROS_LHA(a14),\
  234.     __AROS_LH_BASE(bt,bn))
  235. #define AROS_LH15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
  236.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  237.     __AROS_LHA(a1),\
  238.     __AROS_LHA(a2),\
  239.     __AROS_LHA(a3),\
  240.     __AROS_LHA(a4),\
  241.     __AROS_LHA(a5),\
  242.     __AROS_LHA(a6),\
  243.     __AROS_LHA(a7),\
  244.     __AROS_LHA(a8),\
  245.     __AROS_LHA(a9),\
  246.     __AROS_LHA(a10),\
  247.     __AROS_LHA(a11),\
  248.     __AROS_LHA(a12),\
  249.     __AROS_LHA(a13),\
  250.     __AROS_LHA(a14),\
  251.     __AROS_LHA(a15),\
  252.     __AROS_LH_BASE(bt,bn))
  253.  
  254. /* Library functions which don't need the libbase */
  255. #define AROS_LH0I(t,n,bt,bn,o,s) \
  256.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(void)
  257. #define AROS_LH1I(t,n,a1,bt,bn,o,s) \
  258.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  259.     __AROS_LHA(a1)\
  260.     )
  261. #define AROS_LH2I(t,n,a1,a2,bt,bn,o,s) \
  262.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  263.     __AROS_LHA(a1),\
  264.     __AROS_LHA(a2)\
  265.     )
  266. #define AROS_LH3I(t,n,a1,a2,a3,bt,bn,o,s) \
  267.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  268.     __AROS_LHA(a1),\
  269.     __AROS_LHA(a2),\
  270.     __AROS_LHA(a3)\
  271.     )
  272. #define AROS_LH4I(t,n,a1,a2,a3,a4,bt,bn,o,s) \
  273.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  274.     __AROS_LHA(a1),\
  275.     __AROS_LHA(a2),\
  276.     __AROS_LHA(a3),\
  277.     __AROS_LHA(a4)\
  278.     )
  279. #define AROS_LH5I(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
  280.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  281.     __AROS_LHA(a1),\
  282.     __AROS_LHA(a2),\
  283.     __AROS_LHA(a3),\
  284.     __AROS_LHA(a4),\
  285.     __AROS_LHA(a5)\
  286.     )
  287. #define AROS_LH6I(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
  288.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  289.     __AROS_LHA(a1),\
  290.     __AROS_LHA(a2),\
  291.     __AROS_LHA(a3),\
  292.     __AROS_LHA(a4),\
  293.     __AROS_LHA(a5),\
  294.     __AROS_LHA(a6)\
  295.     )
  296. #define AROS_LH7I(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
  297.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  298.     __AROS_LHA(a1),\
  299.     __AROS_LHA(a2),\
  300.     __AROS_LHA(a3),\
  301.     __AROS_LHA(a4),\
  302.     __AROS_LHA(a5),\
  303.     __AROS_LHA(a6),\
  304.     __AROS_LHA(a7)\
  305.     )
  306. #define AROS_LH8I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
  307.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  308.     __AROS_LHA(a1),\
  309.     __AROS_LHA(a2),\
  310.     __AROS_LHA(a3),\
  311.     __AROS_LHA(a4),\
  312.     __AROS_LHA(a5),\
  313.     __AROS_LHA(a6),\
  314.     __AROS_LHA(a7),\
  315.     __AROS_LHA(a8)\
  316.     )
  317. #define AROS_LH9I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
  318.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  319.     __AROS_LHA(a1),\
  320.     __AROS_LHA(a2),\
  321.     __AROS_LHA(a3),\
  322.     __AROS_LHA(a4),\
  323.     __AROS_LHA(a5),\
  324.     __AROS_LHA(a6),\
  325.     __AROS_LHA(a7),\
  326.     __AROS_LHA(a8),\
  327.     __AROS_LHA(a9)\
  328.     )
  329. #define AROS_LH10I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
  330.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  331.     __AROS_LHA(a1),\
  332.     __AROS_LHA(a2),\
  333.     __AROS_LHA(a3),\
  334.     __AROS_LHA(a4),\
  335.     __AROS_LHA(a5),\
  336.     __AROS_LHA(a6),\
  337.     __AROS_LHA(a7),\
  338.     __AROS_LHA(a8),\
  339.     __AROS_LHA(a9),\
  340.     __AROS_LHA(a10)\
  341.     )
  342. #define AROS_LH11I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
  343.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  344.     __AROS_LHA(a1),\
  345.     __AROS_LHA(a2),\
  346.     __AROS_LHA(a3),\
  347.     __AROS_LHA(a4),\
  348.     __AROS_LHA(a5),\
  349.     __AROS_LHA(a6),\
  350.     __AROS_LHA(a7),\
  351.     __AROS_LHA(a8),\
  352.     __AROS_LHA(a9),\
  353.     __AROS_LHA(a10),\
  354.     __AROS_LHA(a11)\
  355.     )
  356. #define AROS_LH12I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
  357.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  358.     __AROS_LHA(a1),\
  359.     __AROS_LHA(a2),\
  360.     __AROS_LHA(a3),\
  361.     __AROS_LHA(a4),\
  362.     __AROS_LHA(a5),\
  363.     __AROS_LHA(a6),\
  364.     __AROS_LHA(a7),\
  365.     __AROS_LHA(a8),\
  366.     __AROS_LHA(a9),\
  367.     __AROS_LHA(a10),\
  368.     __AROS_LHA(a11),\
  369.     __AROS_LHA(a12)\
  370.     )
  371. #define AROS_LH13I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
  372.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  373.     __AROS_LHA(a1),\
  374.     __AROS_LHA(a2),\
  375.     __AROS_LHA(a3),\
  376.     __AROS_LHA(a4),\
  377.     __AROS_LHA(a5),\
  378.     __AROS_LHA(a6),\
  379.     __AROS_LHA(a7),\
  380.     __AROS_LHA(a8),\
  381.     __AROS_LHA(a9),\
  382.     __AROS_LHA(a10),\
  383.     __AROS_LHA(a11),\
  384.     __AROS_LHA(a12),\
  385.     __AROS_LHA(a13)\
  386.     )
  387. #define AROS_LH14I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
  388.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  389.     __AROS_LHA(a1),\
  390.     __AROS_LHA(a2),\
  391.     __AROS_LHA(a3),\
  392.     __AROS_LHA(a4),\
  393.     __AROS_LHA(a5),\
  394.     __AROS_LHA(a6),\
  395.     __AROS_LHA(a7),\
  396.     __AROS_LHA(a8),\
  397.     __AROS_LHA(a9),\
  398.     __AROS_LHA(a10),\
  399.     __AROS_LHA(a11),\
  400.     __AROS_LHA(a12),\
  401.     __AROS_LHA(a13),\
  402.     __AROS_LHA(a14)\
  403.     )
  404. #define AROS_LH15I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
  405.     __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s)(\
  406.     __AROS_LHA(a1),\
  407.     __AROS_LHA(a2),\
  408.     __AROS_LHA(a3),\
  409.     __AROS_LHA(a4),\
  410.     __AROS_LHA(a5),\
  411.     __AROS_LHA(a6),\
  412.     __AROS_LHA(a7),\
  413.     __AROS_LHA(a8),\
  414.     __AROS_LHA(a9),\
  415.     __AROS_LHA(a10),\
  416.     __AROS_LHA(a11),\
  417.     __AROS_LHA(a12),\
  418.     __AROS_LHA(a13),\
  419.     __AROS_LHA(a14),\
  420.     __AROS_LHA(a15)\
  421.     )
  422.  
  423. /* Call a library function which requires the libbase */
  424. #define AROS_LC0(t,n,bt,bn,o,s) \
  425.     (((__AROS_LC_PREFIX t(*)(\
  426.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  427.     __AROS_LC_BASE(bt,bn)))
  428. #define AROS_LC1(t,n,a1,bt,bn,o,s) \
  429.     (((__AROS_LC_PREFIX t(*)(\
  430.     __AROS_LPA(a1),\
  431.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  432.     __AROS_LCA(a1),\
  433.     __AROS_LC_BASE(bt,bn)))
  434. #define AROS_LC2(t,n,a1,a2,bt,bn,o,s) \
  435.     (((__AROS_LC_PREFIX t(*)(\
  436.     __AROS_LPA(a1),\
  437.     __AROS_LPA(a2),\
  438.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  439.     __AROS_LCA(a1),\
  440.     __AROS_LCA(a2),\
  441.     __AROS_LC_BASE(bt,bn)))
  442. #define AROS_LC3(t,n,a1,a2,a3,bt,bn,o,s) \
  443.     (((__AROS_LC_PREFIX t(*)(\
  444.     __AROS_LPA(a1),\
  445.     __AROS_LPA(a2),\
  446.     __AROS_LPA(a3),\
  447.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  448.     __AROS_LCA(a1),\
  449.     __AROS_LCA(a2),\
  450.     __AROS_LCA(a3),\
  451.     __AROS_LC_BASE(bt,bn)))
  452. #define AROS_LC4(t,n,a1,a2,a3,a4,bt,bn,o,s) \
  453.     (((__AROS_LC_PREFIX t(*)(\
  454.     __AROS_LPA(a1),\
  455.     __AROS_LPA(a2),\
  456.     __AROS_LPA(a3),\
  457.     __AROS_LPA(a4),\
  458.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  459.     __AROS_LCA(a1),\
  460.     __AROS_LCA(a2),\
  461.     __AROS_LCA(a3),\
  462.     __AROS_LCA(a4),\
  463.     __AROS_LC_BASE(bt,bn)))
  464. #define AROS_LC5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
  465.     (((__AROS_LC_PREFIX t(*)(\
  466.     __AROS_LPA(a1),\
  467.     __AROS_LPA(a2),\
  468.     __AROS_LPA(a3),\
  469.     __AROS_LPA(a4),\
  470.     __AROS_LPA(a5),\
  471.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  472.     __AROS_LCA(a1),\
  473.     __AROS_LCA(a2),\
  474.     __AROS_LCA(a3),\
  475.     __AROS_LCA(a4),\
  476.     __AROS_LCA(a5),\
  477.     __AROS_LC_BASE(bt,bn)))
  478. #define AROS_LC6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
  479.     (((__AROS_LC_PREFIX t(*)(\
  480.     __AROS_LPA(a1),\
  481.     __AROS_LPA(a2),\
  482.     __AROS_LPA(a3),\
  483.     __AROS_LPA(a4),\
  484.     __AROS_LPA(a5),\
  485.     __AROS_LPA(a6),\
  486.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  487.     __AROS_LCA(a1),\
  488.     __AROS_LCA(a2),\
  489.     __AROS_LCA(a3),\
  490.     __AROS_LCA(a4),\
  491.     __AROS_LCA(a5),\
  492.     __AROS_LCA(a6),\
  493.     __AROS_LC_BASE(bt,bn)))
  494. #define AROS_LC7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
  495.     (((__AROS_LC_PREFIX t(*)(\
  496.     __AROS_LPA(a1),\
  497.     __AROS_LPA(a2),\
  498.     __AROS_LPA(a3),\
  499.     __AROS_LPA(a4),\
  500.     __AROS_LPA(a5),\
  501.     __AROS_LPA(a6),\
  502.     __AROS_LPA(a7),\
  503.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  504.     __AROS_LCA(a1),\
  505.     __AROS_LCA(a2),\
  506.     __AROS_LCA(a3),\
  507.     __AROS_LCA(a4),\
  508.     __AROS_LCA(a5),\
  509.     __AROS_LCA(a6),\
  510.     __AROS_LCA(a7),\
  511.     __AROS_LC_BASE(bt,bn)))
  512. #define AROS_LC8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
  513.     (((__AROS_LC_PREFIX t(*)(\
  514.     __AROS_LPA(a1),\
  515.     __AROS_LPA(a2),\
  516.     __AROS_LPA(a3),\
  517.     __AROS_LPA(a4),\
  518.     __AROS_LPA(a5),\
  519.     __AROS_LPA(a6),\
  520.     __AROS_LPA(a7),\
  521.     __AROS_LPA(a8),\
  522.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  523.     __AROS_LCA(a1),\
  524.     __AROS_LCA(a2),\
  525.     __AROS_LCA(a3),\
  526.     __AROS_LCA(a4),\
  527.     __AROS_LCA(a5),\
  528.     __AROS_LCA(a6),\
  529.     __AROS_LCA(a7),\
  530.     __AROS_LCA(a8),\
  531.     __AROS_LC_BASE(bt,bn)))
  532. #define AROS_LC9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
  533.     (((__AROS_LC_PREFIX t(*)(\
  534.     __AROS_LPA(a1),\
  535.     __AROS_LPA(a2),\
  536.     __AROS_LPA(a3),\
  537.     __AROS_LPA(a4),\
  538.     __AROS_LPA(a5),\
  539.     __AROS_LPA(a6),\
  540.     __AROS_LPA(a7),\
  541.     __AROS_LPA(a8),\
  542.     __AROS_LPA(a9),\
  543.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  544.     __AROS_LCA(a1),\
  545.     __AROS_LCA(a2),\
  546.     __AROS_LCA(a3),\
  547.     __AROS_LCA(a4),\
  548.     __AROS_LCA(a5),\
  549.     __AROS_LCA(a6),\
  550.     __AROS_LCA(a7),\
  551.     __AROS_LCA(a8),\
  552.     __AROS_LCA(a9),\
  553.     __AROS_LC_BASE(bt,bn)))
  554. #define AROS_LC10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
  555.     (((__AROS_LC_PREFIX t(*)(\
  556.     __AROS_LPA(a1),\
  557.     __AROS_LPA(a2),\
  558.     __AROS_LPA(a3),\
  559.     __AROS_LPA(a4),\
  560.     __AROS_LPA(a5),\
  561.     __AROS_LPA(a6),\
  562.     __AROS_LPA(a7),\
  563.     __AROS_LPA(a8),\
  564.     __AROS_LPA(a9),\
  565.     __AROS_LPA(a10),\
  566.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  567.     __AROS_LCA(a1),\
  568.     __AROS_LCA(a2),\
  569.     __AROS_LCA(a3),\
  570.     __AROS_LCA(a4),\
  571.     __AROS_LCA(a5),\
  572.     __AROS_LCA(a6),\
  573.     __AROS_LCA(a7),\
  574.     __AROS_LCA(a8),\
  575.     __AROS_LCA(a9),\
  576.     __AROS_LCA(a10),\
  577.     __AROS_LC_BASE(bt,bn)))
  578. #define AROS_LC11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
  579.     (((__AROS_LC_PREFIX t(*)(\
  580.     __AROS_LPA(a1),\
  581.     __AROS_LPA(a2),\
  582.     __AROS_LPA(a3),\
  583.     __AROS_LPA(a4),\
  584.     __AROS_LPA(a5),\
  585.     __AROS_LPA(a6),\
  586.     __AROS_LPA(a7),\
  587.     __AROS_LPA(a8),\
  588.     __AROS_LPA(a9),\
  589.     __AROS_LPA(a10),\
  590.     __AROS_LPA(a11),\
  591.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  592.     __AROS_LCA(a1),\
  593.     __AROS_LCA(a2),\
  594.     __AROS_LCA(a3),\
  595.     __AROS_LCA(a4),\
  596.     __AROS_LCA(a5),\
  597.     __AROS_LCA(a6),\
  598.     __AROS_LCA(a7),\
  599.     __AROS_LCA(a8),\
  600.     __AROS_LCA(a9),\
  601.     __AROS_LCA(a10),\
  602.     __AROS_LCA(a11),\
  603.     __AROS_LC_BASE(bt,bn)))
  604. #define AROS_LC12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
  605.     (((__AROS_LC_PREFIX t(*)(\
  606.     __AROS_LPA(a1),\
  607.     __AROS_LPA(a2),\
  608.     __AROS_LPA(a3),\
  609.     __AROS_LPA(a4),\
  610.     __AROS_LPA(a5),\
  611.     __AROS_LPA(a6),\
  612.     __AROS_LPA(a7),\
  613.     __AROS_LPA(a8),\
  614.     __AROS_LPA(a9),\
  615.     __AROS_LPA(a10),\
  616.     __AROS_LPA(a11),\
  617.     __AROS_LPA(a12),\
  618.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  619.     __AROS_LCA(a1),\
  620.     __AROS_LCA(a2),\
  621.     __AROS_LCA(a3),\
  622.     __AROS_LCA(a4),\
  623.     __AROS_LCA(a5),\
  624.     __AROS_LCA(a6),\
  625.     __AROS_LCA(a7),\
  626.     __AROS_LCA(a8),\
  627.     __AROS_LCA(a9),\
  628.     __AROS_LCA(a10),\
  629.     __AROS_LCA(a11),\
  630.     __AROS_LCA(a12),\
  631.     __AROS_LC_BASE(bt,bn)))
  632. #define AROS_LC13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
  633.     (((__AROS_LC_PREFIX t(*)(\
  634.     __AROS_LPA(a1),\
  635.     __AROS_LPA(a2),\
  636.     __AROS_LPA(a3),\
  637.     __AROS_LPA(a4),\
  638.     __AROS_LPA(a5),\
  639.     __AROS_LPA(a6),\
  640.     __AROS_LPA(a7),\
  641.     __AROS_LPA(a8),\
  642.     __AROS_LPA(a9),\
  643.     __AROS_LPA(a10),\
  644.     __AROS_LPA(a11),\
  645.     __AROS_LPA(a12),\
  646.     __AROS_LPA(a13),\
  647.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  648.     __AROS_LCA(a1),\
  649.     __AROS_LCA(a2),\
  650.     __AROS_LCA(a3),\
  651.     __AROS_LCA(a4),\
  652.     __AROS_LCA(a5),\
  653.     __AROS_LCA(a6),\
  654.     __AROS_LCA(a7),\
  655.     __AROS_LCA(a8),\
  656.     __AROS_LCA(a9),\
  657.     __AROS_LCA(a10),\
  658.     __AROS_LCA(a11),\
  659.     __AROS_LCA(a12),\
  660.     __AROS_LCA(a13),\
  661.     __AROS_LC_BASE(bt,bn)))
  662. #define AROS_LC14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
  663.     (((__AROS_LC_PREFIX t(*)(\
  664.     __AROS_LPA(a1),\
  665.     __AROS_LPA(a2),\
  666.     __AROS_LPA(a3),\
  667.     __AROS_LPA(a4),\
  668.     __AROS_LPA(a5),\
  669.     __AROS_LPA(a6),\
  670.     __AROS_LPA(a7),\
  671.     __AROS_LPA(a8),\
  672.     __AROS_LPA(a9),\
  673.     __AROS_LPA(a10),\
  674.     __AROS_LPA(a11),\
  675.     __AROS_LPA(a12),\
  676.     __AROS_LPA(a13),\
  677.     __AROS_LPA(a14),\
  678.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  679.     __AROS_LCA(a1),\
  680.     __AROS_LCA(a2),\
  681.     __AROS_LCA(a3),\
  682.     __AROS_LCA(a4),\
  683.     __AROS_LCA(a5),\
  684.     __AROS_LCA(a6),\
  685.     __AROS_LCA(a7),\
  686.     __AROS_LCA(a8),\
  687.     __AROS_LCA(a9),\
  688.     __AROS_LCA(a10),\
  689.     __AROS_LCA(a11),\
  690.     __AROS_LCA(a12),\
  691.     __AROS_LCA(a13),\
  692.     __AROS_LCA(a14),\
  693.     __AROS_LC_BASE(bt,bn)))
  694. #define AROS_LC15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
  695.     (((__AROS_LC_PREFIX t(*)(\
  696.     __AROS_LPA(a1),\
  697.     __AROS_LPA(a2),\
  698.     __AROS_LPA(a3),\
  699.     __AROS_LPA(a4),\
  700.     __AROS_LPA(a5),\
  701.     __AROS_LPA(a6),\
  702.     __AROS_LPA(a7),\
  703.     __AROS_LPA(a8),\
  704.     __AROS_LPA(a9),\
  705.     __AROS_LPA(a10),\
  706.     __AROS_LPA(a11),\
  707.     __AROS_LPA(a12),\
  708.     __AROS_LPA(a13),\
  709.     __AROS_LPA(a14),\
  710.     __AROS_LPA(a15),\
  711.     __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
  712.     __AROS_LCA(a1),\
  713.     __AROS_LCA(a2),\
  714.     __AROS_LCA(a3),\
  715.     __AROS_LCA(a4),\
  716.     __AROS_LCA(a5),\
  717.     __AROS_LCA(a6),\
  718.     __AROS_LCA(a7),\
  719.     __AROS_LCA(a8),\
  720.     __AROS_LCA(a9),\
  721.     __AROS_LCA(a10),\
  722.     __AROS_LCA(a11),\
  723.     __AROS_LCA(a12),\
  724.     __AROS_LCA(a13),\
  725.     __AROS_LCA(a14),\
  726.     __AROS_LCA(a15),\
  727.     __AROS_LC_BASE(bt,bn)))
  728.  
  729. /* Call a library function which doesn't require the libbase */
  730. #define AROS_LC0I(t,n,bt,bn,o,s) \
  731.     (((__AROS_LC_PREFIX t(*)(\
  732.     ))__AROS_GETVECADDR(bn,o))(\
  733.     ))
  734. #define AROS_LC1I(t,n,a1,bt,bn,o,s) \
  735.     (((__AROS_LC_PREFIX t(*)(\
  736.     __AROS_LPA(a1)\
  737.     ))__AROS_GETVECADDR(bn,o))(\
  738.     __AROS_LCA(a1)\
  739.     ))
  740. #define AROS_LC2I(t,n,a1,a2,bt,bn,o,s) \
  741.     (((__AROS_LC_PREFIX t(*)(\
  742.     __AROS_LPA(a1),\
  743.     __AROS_LPA(a2)\
  744.     ))__AROS_GETVECADDR(bn,o))(\
  745.     __AROS_LCA(a1),\
  746.     __AROS_LCA(a2)\
  747.     ))
  748. #define AROS_LC3I(t,n,a1,a2,a3,bt,bn,o,s) \
  749.     (((__AROS_LC_PREFIX t(*)(\
  750.     __AROS_LPA(a1),\
  751.     __AROS_LPA(a2),\
  752.     __AROS_LPA(a3)\
  753.     ))__AROS_GETVECADDR(bn,o))(\
  754.     __AROS_LCA(a1),\
  755.     __AROS_LCA(a2),\
  756.     __AROS_LCA(a3)\
  757.     ))
  758. #define AROS_LC4I(t,n,a1,a2,a3,a4,bt,bn,o,s) \
  759.     (((__AROS_LC_PREFIX t(*)(\
  760.     __AROS_LPA(a1),\
  761.     __AROS_LPA(a2),\
  762.     __AROS_LPA(a3),\
  763.     __AROS_LPA(a4)\
  764.     ))__AROS_GETVECADDR(bn,o))(\
  765.     __AROS_LCA(a1),\
  766.     __AROS_LCA(a2),\
  767.     __AROS_LCA(a3),\
  768.     __AROS_LCA(a4)\
  769.     ))
  770. #define AROS_LC5I(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
  771.     (((__AROS_LC_PREFIX t(*)(\
  772.     __AROS_LPA(a1),\
  773.     __AROS_LPA(a2),\
  774.     __AROS_LPA(a3),\
  775.     __AROS_LPA(a4),\
  776.     __AROS_LPA(a5)\
  777.     ))__AROS_GETVECADDR(bn,o))(\
  778.     __AROS_LCA(a1),\
  779.     __AROS_LCA(a2),\
  780.     __AROS_LCA(a3),\
  781.     __AROS_LCA(a4),\
  782.     __AROS_LCA(a5)\
  783.     ))
  784. #define AROS_LC6I(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
  785.     (((__AROS_LC_PREFIX t(*)(\
  786.     __AROS_LPA(a1),\
  787.     __AROS_LPA(a2),\
  788.     __AROS_LPA(a3),\
  789.     __AROS_LPA(a4),\
  790.     __AROS_LPA(a5),\
  791.     __AROS_LPA(a6)\
  792.     ))__AROS_GETVECADDR(bn,o))(\
  793.     __AROS_LCA(a1),\
  794.     __AROS_LCA(a2),\
  795.     __AROS_LCA(a3),\
  796.     __AROS_LCA(a4),\
  797.     __AROS_LCA(a5),\
  798.     __AROS_LCA(a6)\
  799.     ))
  800. #define AROS_LC7I(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
  801.     (((__AROS_LC_PREFIX t(*)(\
  802.     __AROS_LPA(a1),\
  803.     __AROS_LPA(a2),\
  804.     __AROS_LPA(a3),\
  805.     __AROS_LPA(a4),\
  806.     __AROS_LPA(a5),\
  807.     __AROS_LPA(a6),\
  808.     __AROS_LPA(a7)\
  809.     ))__AROS_GETVECADDR(bn,o))(\
  810.     __AROS_LCA(a1),\
  811.     __AROS_LCA(a2),\
  812.     __AROS_LCA(a3),\
  813.     __AROS_LCA(a4),\
  814.     __AROS_LCA(a5),\
  815.     __AROS_LCA(a6),\
  816.     __AROS_LCA(a7)\
  817.     ))
  818. #define AROS_LC8I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
  819.     (((__AROS_LC_PREFIX t(*)(\
  820.     __AROS_LPA(a1),\
  821.     __AROS_LPA(a2),\
  822.     __AROS_LPA(a3),\
  823.     __AROS_LPA(a4),\
  824.     __AROS_LPA(a5),\
  825.     __AROS_LPA(a6),\
  826.     __AROS_LPA(a7),\
  827.     __AROS_LPA(a8)\
  828.     ))__AROS_GETVECADDR(bn,o))(\
  829.     __AROS_LCA(a1),\
  830.     __AROS_LCA(a2),\
  831.     __AROS_LCA(a3),\
  832.     __AROS_LCA(a4),\
  833.     __AROS_LCA(a5),\
  834.     __AROS_LCA(a6),\
  835.     __AROS_LCA(a7),\
  836.     __AROS_LCA(a8)\
  837.     ))
  838. #define AROS_LC9I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
  839.     (((__AROS_LC_PREFIX t(*)(\
  840.     __AROS_LPA(a1),\
  841.     __AROS_LPA(a2),\
  842.     __AROS_LPA(a3),\
  843.     __AROS_LPA(a4),\
  844.     __AROS_LPA(a5),\
  845.     __AROS_LPA(a6),\
  846.     __AROS_LPA(a7),\
  847.     __AROS_LPA(a8),\
  848.     __AROS_LPA(a9)\
  849.     ))__AROS_GETVECADDR(bn,o))(\
  850.     __AROS_LCA(a1),\
  851.     __AROS_LCA(a2),\
  852.     __AROS_LCA(a3),\
  853.     __AROS_LCA(a4),\
  854.     __AROS_LCA(a5),\
  855.     __AROS_LCA(a6),\
  856.     __AROS_LCA(a7),\
  857.     __AROS_LCA(a8),\
  858.     __AROS_LCA(a9)\
  859.     ))
  860. #define AROS_LC10I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
  861.     (((__AROS_LC_PREFIX t(*)(\
  862.     __AROS_LPA(a1),\
  863.     __AROS_LPA(a2),\
  864.     __AROS_LPA(a3),\
  865.     __AROS_LPA(a4),\
  866.     __AROS_LPA(a5),\
  867.     __AROS_LPA(a6),\
  868.     __AROS_LPA(a7),\
  869.     __AROS_LPA(a8),\
  870.     __AROS_LPA(a9),\
  871.     __AROS_LPA(a10)\
  872.     ))__AROS_GETVECADDR(bn,o))(\
  873.     __AROS_LCA(a1),\
  874.     __AROS_LCA(a2),\
  875.     __AROS_LCA(a3),\
  876.     __AROS_LCA(a4),\
  877.     __AROS_LCA(a5),\
  878.     __AROS_LCA(a6),\
  879.     __AROS_LCA(a7),\
  880.     __AROS_LCA(a8),\
  881.     __AROS_LCA(a9),\
  882.     __AROS_LCA(a10)\
  883.     ))
  884. #define AROS_LC11I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
  885.     (((__AROS_LC_PREFIX t(*)(\
  886.     __AROS_LPA(a1),\
  887.     __AROS_LPA(a2),\
  888.     __AROS_LPA(a3),\
  889.     __AROS_LPA(a4),\
  890.     __AROS_LPA(a5),\
  891.     __AROS_LPA(a6),\
  892.     __AROS_LPA(a7),\
  893.     __AROS_LPA(a8),\
  894.     __AROS_LPA(a9),\
  895.     __AROS_LPA(a10),\
  896.     __AROS_LPA(a11)\
  897.     ))__AROS_GETVECADDR(bn,o))(\
  898.     __AROS_LCA(a1),\
  899.     __AROS_LCA(a2),\
  900.     __AROS_LCA(a3),\
  901.     __AROS_LCA(a4),\
  902.     __AROS_LCA(a5),\
  903.     __AROS_LCA(a6),\
  904.     __AROS_LCA(a7),\
  905.     __AROS_LCA(a8),\
  906.     __AROS_LCA(a9),\
  907.     __AROS_LCA(a10),\
  908.     __AROS_LCA(a11)\
  909.     ))
  910. #define AROS_LC12I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
  911.     (((__AROS_LC_PREFIX t(*)(\
  912.     __AROS_LPA(a1),\
  913.     __AROS_LPA(a2),\
  914.     __AROS_LPA(a3),\
  915.     __AROS_LPA(a4),\
  916.     __AROS_LPA(a5),\
  917.     __AROS_LPA(a6),\
  918.     __AROS_LPA(a7),\
  919.     __AROS_LPA(a8),\
  920.     __AROS_LPA(a9),\
  921.     __AROS_LPA(a10),\
  922.     __AROS_LPA(a11),\
  923.     __AROS_LPA(a12)\
  924.     ))__AROS_GETVECADDR(bn,o))(\
  925.     __AROS_LCA(a1),\
  926.     __AROS_LCA(a2),\
  927.     __AROS_LCA(a3),\
  928.     __AROS_LCA(a4),\
  929.     __AROS_LCA(a5),\
  930.     __AROS_LCA(a6),\
  931.     __AROS_LCA(a7),\
  932.     __AROS_LCA(a8),\
  933.     __AROS_LCA(a9),\
  934.     __AROS_LCA(a10),\
  935.     __AROS_LCA(a11),\
  936.     __AROS_LCA(a12)\
  937.     ))
  938. #define AROS_LC13I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
  939.     (((__AROS_LC_PREFIX t(*)(\
  940.     __AROS_LPA(a1),\
  941.     __AROS_LPA(a2),\
  942.     __AROS_LPA(a3),\
  943.     __AROS_LPA(a4),\
  944.     __AROS_LPA(a5),\
  945.     __AROS_LPA(a6),\
  946.     __AROS_LPA(a7),\
  947.     __AROS_LPA(a8),\
  948.     __AROS_LPA(a9),\
  949.     __AROS_LPA(a10),\
  950.     __AROS_LPA(a11),\
  951.     __AROS_LPA(a12),\
  952.     __AROS_LPA(a13)\
  953.     ))__AROS_GETVECADDR(bn,o))(\
  954.     __AROS_LCA(a1),\
  955.     __AROS_LCA(a2),\
  956.     __AROS_LCA(a3),\
  957.     __AROS_LCA(a4),\
  958.     __AROS_LCA(a5),\
  959.     __AROS_LCA(a6),\
  960.     __AROS_LCA(a7),\
  961.     __AROS_LCA(a8),\
  962.     __AROS_LCA(a9),\
  963.     __AROS_LCA(a10),\
  964.     __AROS_LCA(a11),\
  965.     __AROS_LCA(a12),\
  966.     __AROS_LCA(a13)\
  967.     ))
  968. #define AROS_LC14I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
  969.     (((__AROS_LC_PREFIX t(*)(\
  970.     __AROS_LPA(a1),\
  971.     __AROS_LPA(a2),\
  972.     __AROS_LPA(a3),\
  973.     __AROS_LPA(a4),\
  974.     __AROS_LPA(a5),\
  975.     __AROS_LPA(a6),\
  976.     __AROS_LPA(a7),\
  977.     __AROS_LPA(a8),\
  978.     __AROS_LPA(a9),\
  979.     __AROS_LPA(a10),\
  980.     __AROS_LPA(a11),\
  981.     __AROS_LPA(a12),\
  982.     __AROS_LPA(a13),\
  983.     __AROS_LPA(a14)\
  984.     ))__AROS_GETVECADDR(bn,o))(\
  985.     __AROS_LCA(a1),\
  986.     __AROS_LCA(a2),\
  987.     __AROS_LCA(a3),\
  988.     __AROS_LCA(a4),\
  989.     __AROS_LCA(a5),\
  990.     __AROS_LCA(a6),\
  991.     __AROS_LCA(a7),\
  992.     __AROS_LCA(a8),\
  993.     __AROS_LCA(a9),\
  994.     __AROS_LCA(a10),\
  995.     __AROS_LCA(a11),\
  996.     __AROS_LCA(a12),\
  997.     __AROS_LCA(a13),\
  998.     __AROS_LCA(a14)\
  999.     ))
  1000. #define AROS_LC15I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
  1001.     (((__AROS_LC_PREFIX t(*)(\
  1002.     __AROS_LPA(a1),\
  1003.     __AROS_LPA(a2),\
  1004.     __AROS_LPA(a3),\
  1005.     __AROS_LPA(a4),\
  1006.     __AROS_LPA(a5),\
  1007.     __AROS_LPA(a6),\
  1008.     __AROS_LPA(a7),\
  1009.     __AROS_LPA(a8),\
  1010.     __AROS_LPA(a9),\
  1011.     __AROS_LPA(a10),\
  1012.     __AROS_LPA(a11),\
  1013.     __AROS_LPA(a12),\
  1014.     __AROS_LPA(a13),\
  1015.     __AROS_LPA(a14),\
  1016.     __AROS_LPA(a15)\
  1017.     ))__AROS_GETVECADDR(bn,o))(\
  1018.     __AROS_LCA(a1),\
  1019.     __AROS_LCA(a2),\
  1020.     __AROS_LCA(a3),\
  1021.     __AROS_LCA(a4),\
  1022.     __AROS_LCA(a5),\
  1023.     __AROS_LCA(a6),\
  1024.     __AROS_LCA(a7),\
  1025.     __AROS_LCA(a8),\
  1026.     __AROS_LCA(a9),\
  1027.     __AROS_LCA(a10),\
  1028.     __AROS_LCA(a11),\
  1029.     __AROS_LCA(a12),\
  1030.     __AROS_LCA(a13),\
  1031.     __AROS_LCA(a14),\
  1032.     __AROS_LCA(a15)\
  1033.     ))
  1034.  
  1035. /* Special calls: Call a library function without the name just by the offset */
  1036.  
  1037. #ifndef AROS_LVO_CALL0
  1038. #define AROS_LVO_CALL0(returntype,basetype,basename,offset,system) \
  1039.     (((__AROS_LC_PREFIX returntype(*)(__AROS_LP_BASE(basetype,basename)))\
  1040.     __AROS_GETVECADDR(basename,offset))(basename))
  1041. #endif
  1042.  
  1043. #ifndef AROS_LVO_CALL0NR
  1044. #define AROS_LVO_CALL0NR(basetype,basename,offset,system) \
  1045.     (((__AROS_LC_PREFIX void(*)(__AROS_LP_BASE(basetype,basename)))\
  1046.     __AROS_GETVECADDR(basename,offset))(basename))
  1047. #endif
  1048.  
  1049. #ifndef AROS_LVO_CALL1
  1050. #define AROS_LVO_CALL1(t,a1,bt,bn,o,s) \
  1051.     (((__AROS_LC_PREFIX t(*)(\
  1052.     __AROS_LPA(a1),\
  1053.     __AROS_LP_BASE(bt,bn)))\
  1054.     __AROS_GETVECADDR(bn,o))(\
  1055.     __AROS_LCA(a1),\
  1056.     bn))
  1057. #endif
  1058.  
  1059. #ifndef AROS_LVO_CALL1NR
  1060. #define AROS_LVO_CALL1NR(a1,bt,bn,o,s) \
  1061.     (((__AROS_LC_PREFIX void(*)(\
  1062.     __AROS_LPA(a1),\
  1063.     __AROS_LP_BASE(bt,bn)))\
  1064.     __AROS_GETVECADDR(bn,o))(\
  1065.     __AROS_LCA(a1),\
  1066.     bn))
  1067. #endif
  1068.  
  1069. #ifndef AROS_LVO_CALL2
  1070. #define AROS_LVO_CALL2(t,a1,a2,bt,bn,o,s) \
  1071.     (((__AROS_LC_PREFIX t(*)(\
  1072.     __AROS_LPA(a1),\
  1073.     __AROS_LPA(a2),\
  1074.     __AROS_LP_BASE(bt,bn)))\
  1075.     __AROS_GETVECADDR(bn,o))(\
  1076.     __AROS_LCA(a1),\
  1077.     __AROS_LCA(a2),\
  1078.     bn))
  1079. #endif
  1080.  
  1081. #ifndef AROS_LVO_CALL2NR
  1082. #define AROS_LVO_CALL2NR(a1,a2,bt,bn,o,s) \
  1083.     (((__AROS_LC_PREFIX void(*)(\
  1084.     __AROS_LPA(a1),\
  1085.     __AROS_LPA(a2),\
  1086.     __AROS_LP_BASE(bt,bn)))\
  1087.     __AROS_GETVECADDR(bn,o))(\
  1088.     __AROS_LCA(a1),\
  1089.     __AROS_LCA(a2),\
  1090.     bn))
  1091. #endif
  1092.  
  1093. #ifndef AROS_LVO_CALL3
  1094. #define AROS_LVO_CALL3(t,a1,a2,a3,bt,bn,o,s) \
  1095.     (((__AROS_LC_PREFIX t(*)(\
  1096.     __AROS_LPA(a1),\
  1097.     __AROS_LPA(a2),\
  1098.     __AROS_LPA(a3),\
  1099.     __AROS_LP_BASE(bt,bn)))\
  1100.     __AROS_GETVECADDR(bn,o))(\
  1101.     __AROS_LCA(a1),\
  1102.     __AROS_LCA(a2),\
  1103.     __AROS_LCA(a3),\
  1104.     bn))
  1105. #endif
  1106.  
  1107. #ifndef AROS_LVO_CALL3NR
  1108. #define AROS_LVO_CALL3NR(a1,a2,a3,bt,bn,o,s) \
  1109.     (((__AROS_LC_PREFIX void(*)(\
  1110.     __AROS_LPA(a1),\
  1111.     __AROS_LPA(a2),\
  1112.     __AROS_LPA(a3),\
  1113.     __AROS_LP_BASE(bt,bn)))\
  1114.     __AROS_GETVECADDR(bn,o))(\
  1115.     __AROS_LCA(a1),\
  1116.     __AROS_LCA(a2),\
  1117.     __AROS_LCA(a3),\
  1118.     bn))
  1119. #endif
  1120.  
  1121. #ifndef AROS_LVO_CALL4
  1122. #define AROS_LVO_CALL4(t,a1,a2,a3,a4,bt,bn,o,s) \
  1123.     (((__AROS_LC_PREFIX t(*)(\
  1124.     __AROS_LPA(a1),\
  1125.     __AROS_LPA(a2),\
  1126.     __AROS_LPA(a3),\
  1127.     __AROS_LPA(a4),\
  1128.     __AROS_LP_BASE(bt,bn)))\
  1129.     __AROS_GETVECADDR(bn,o))(\
  1130.     __AROS_LCA(a1),\
  1131.     __AROS_LCA(a2),\
  1132.     __AROS_LCA(a3),\
  1133.     __AROS_LCA(a4),\
  1134.     bn))
  1135. #endif
  1136.  
  1137. #ifndef AROS_LVO_CALL4NR
  1138. #define AROS_LVO_CALL4NR(a1,a2,a3,a4,bt,bn,o,s) \
  1139.     (((__AROS_LC_PREFIX void(*)(\
  1140.     __AROS_LPA(a1),\
  1141.     __AROS_LPA(a2),\
  1142.     __AROS_LPA(a3),\
  1143.     __AROS_LPA(a4),\
  1144.     __AROS_LP_BASE(bt,bn)))\
  1145.     __AROS_GETVECADDR(bn,o))(\
  1146.     __AROS_LCA(a1),\
  1147.     __AROS_LCA(a2),\
  1148.     __AROS_LCA(a3),\
  1149.     __AROS_LCA(a4),\
  1150.     bn))
  1151. #endif
  1152.  
  1153. #ifndef AROS_LVO_CALL5
  1154. #define AROS_LVO_CALL5(t,a1,a2,a3,a4,a5,bt,bn,o,s) \
  1155.     (((__AROS_LC_PREFIX t(*)(\
  1156.     __AROS_LPA(a1),\
  1157.     __AROS_LPA(a2),\
  1158.     __AROS_LPA(a3),\
  1159.     __AROS_LPA(a4),\
  1160.     __AROS_LPA(a5),\
  1161.     __AROS_LP_BASE(bt,bn)))\
  1162.     __AROS_GETVECADDR(bn,o))(\
  1163.     __AROS_LCA(a1),\
  1164.     __AROS_LCA(a2),\
  1165.     __AROS_LCA(a3),\
  1166.     __AROS_LCA(a4),\
  1167.     __AROS_LCA(a5),\
  1168.     bn))
  1169. #endif
  1170.  
  1171. #ifndef AROS_LVO_CALL5NR
  1172. #define AROS_LVO_CALL5NR(a1,a2,a3,a4,a5,bt,bn,o,s) \
  1173.     (((__AROS_LC_PREFIX void(*)(\
  1174.     __AROS_LPA(a1),\
  1175.     __AROS_LPA(a2),\
  1176.     __AROS_LPA(a3),\
  1177.     __AROS_LPA(a4),\
  1178.     __AROS_LPA(a5),\
  1179.     __AROS_LP_BASE(bt,bn)))\
  1180.     __AROS_GETVECADDR(bn,o))(\
  1181.     __AROS_LCA(a1),\
  1182.     __AROS_LCA(a2),\
  1183.     __AROS_LCA(a3),\
  1184.     __AROS_LCA(a4),\
  1185.     __AROS_LCA(a5),\
  1186.     bn))
  1187. #endif
  1188.  
  1189. #ifdef __AROS_USE_MACROS_FOR_LIBCALL
  1190. #   define AROS_LP0(t,n,bt,bn,o,s)
  1191. #   define AROS_LP1(t,n,a1,bt,bn,o,s)
  1192. #   define AROS_LP2(t,n,a1,a2,bt,bn,o,s)
  1193. #   define AROS_LP3(t,n,a1,a2,a3,bt,bn,o,s)
  1194. #   define AROS_LP4(t,n,a1,a2,a3,a4,bt,bn,o,s)
  1195. #   define AROS_LP5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s)
  1196. #   define AROS_LP6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s)
  1197. #   define AROS_LP7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s)
  1198. #   define AROS_LP8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s)
  1199. #   define AROS_LP9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s)
  1200. #   define AROS_LP10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s)
  1201. #   define AROS_LP11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s)
  1202. #   define AROS_LP12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s)
  1203. #   define AROS_LP13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s)
  1204. #   define AROS_LP14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s)
  1205. #   define AROS_LP15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s)
  1206.  
  1207. #   define AROS_LP0I(t,n,bt,bn,o,s)
  1208. #   define AROS_LP1I(t,n,a1,bt,bn,o,s)
  1209. #   define AROS_LP2I(t,n,a1,a2,bt,bn,o,s)
  1210. #   define AROS_LP3I(t,n,a1,a2,a3,bt,bn,o,s)
  1211. #   define AROS_LP4I(t,n,a1,a2,a3,a4,bt,bn,o,s)
  1212. #   define AROS_LP5I(t,n,a1,a2,a3,a4,a5,bt,bn,o,s)
  1213. #   define AROS_LP6I(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s)
  1214. #   define AROS_LP7I(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s)
  1215. #   define AROS_LP8I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s)
  1216. #   define AROS_LP9I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s)
  1217. #   define AROS_LP10I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s)
  1218. #   define AROS_LP11I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s)
  1219. #   define AROS_LP12I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s)
  1220. #   define AROS_LP13I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s)
  1221. #   define AROS_LP14I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s)
  1222. #   define AROS_LP15I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s)
  1223. #else
  1224. /* Prototypes for library functions which need the libbase */
  1225. #   define AROS_LP0(t,n,bt,bn,o,s) \
  1226.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (__AROS_LP_BASE(bt,bn))
  1227. #   define AROS_LP1(t,n,a1,bt,bn,o,s) \
  1228.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1,__AROS_LP_BASE(bt,bn))
  1229. #   define AROS_LP2(t,n,a1,a2,bt,bn,o,s) \
  1230.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1,a2,__AROS_LP_BASE(bt,bn))
  1231. #   define AROS_LP3(t,n,a1,a2,a3,bt,bn,o,s) \
  1232.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1,a2,a3,__AROS_LP_BASE(bt,bn))
  1233. #   define AROS_LP4(t,n,a1,a2,a3,a4,bt,bn,o,s) \
  1234.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1,a2,a3,a4,__AROS_LP_BASE(bt,bn))
  1235. #   define AROS_LP5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
  1236.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,__AROS_LP_BASE(bt,bn))
  1237. #   define AROS_LP6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
  1238.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,__AROS_LP_BASE(bt,bn))
  1239. #   define AROS_LP7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
  1240.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,__AROS_LP_BASE(bt,bn))
  1241. #   define AROS_LP8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
  1242.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,__AROS_LP_BASE(bt,bn))
  1243. #   define AROS_LP9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
  1244.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,__AROS_LP_BASE(bt,bn))
  1245. #   define AROS_LP10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
  1246.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,__AROS_LP_BASE(bt,bn))
  1247. #   define AROS_LP11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
  1248.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,__AROS_LP_BASE(bt,bn))
  1249. #   define AROS_LP12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
  1250.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,__AROS_LP_BASE(bt,bn))
  1251. #   define AROS_LP13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
  1252.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,__AROS_LP_BASE(bt,bn))
  1253. #   define AROS_LP14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
  1254.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,__AROS_LP_BASE(bt,bn))
  1255. #   define AROS_LP15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
  1256.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,__AROS_LP_BASE(bt,bn))
  1257.  
  1258. /* Prototypes for library functions which don't need the libbase */
  1259. #   define AROS_LP0I(t,n,bt,bn,o,s) \
  1260.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (void)
  1261. #   define AROS_LP1I(t,n,a1,bt,bn,o,s) \
  1262.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1)
  1263. #   define AROS_LP2I(t,n,a1,a2,bt,bn,o,s) \
  1264.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1,a2)
  1265. #   define AROS_LP3I(t,n,a1,a2,a3,bt,bn,o,s) \
  1266.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1,a2,a3)
  1267. #   define AROS_LP4I(t,n,a1,a2,a3,a4,bt,bn,o,s) \
  1268.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1,a2,a3,a4)
  1269. #   define AROS_LP5I(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
  1270.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5)
  1271. #   define AROS_LP6I(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
  1272.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6)
  1273. #   define AROS_LP7I(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
  1274.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7)
  1275. #   define AROS_LP8I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
  1276.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8)
  1277. #   define AROS_LP9I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
  1278.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9)
  1279. #   define AROS_LP10I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
  1280.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10)
  1281. #   define AROS_LP11I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
  1282.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  1283. #   define AROS_LP12I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
  1284.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  1285. #   define AROS_LP13I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
  1286.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
  1287. #   define AROS_LP14I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
  1288.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)
  1289. #   define AROS_LP15I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
  1290.     __AROS_LP_PREFIX t AROS_SLIB_ENTRY(n,s) (a1, a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
  1291. #endif
  1292.  
  1293. #define AROS_LHA(type,name,reg) type,name,reg
  1294. #define AROS_LPA(type,name,reg) type,name,reg
  1295. #define AROS_LCA(type,name,reg) type,name,reg
  1296.  
  1297. #ifndef AROS_LIBFUNC_INIT
  1298. #   define AROS_LIBFUNC_INIT {
  1299. #endif
  1300. #ifndef AROS_LIBFUNC_EXIT
  1301. #   define AROS_LIBFUNC_EXIT }
  1302. #endif
  1303. #ifndef AROS_LIBBASE_EXT_DECL
  1304. #   define AROS_LIBBASE_EXT_DECL(a,b)
  1305. #endif
  1306.  
  1307. /******************************************************************************
  1308. *****  ENDE aros/libcall.h
  1309. ******************************************************************************/
  1310.  
  1311. #endif /* AROS_LIBCALL_H */
  1312.