f979c2ca4b
Signed-off-by: Michael Fabian Dirks <michael.dirks@realitybends.de>
92 lines
3.2 KiB
C++
92 lines
3.2 KiB
C++
// BlitzPointer - Adding Pointers to Blitz.
|
|
// Copyright (C) 2015 Project Kube (Michael Fabian Dirks)
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Lesser General Public License as
|
|
// published by the Free Software Foundation, either version 3 of the
|
|
// License, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Lesser General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
#include "BlitzPointer.h"
|
|
|
|
// No Parameters
|
|
CALLFUNCTION_DECL_BEGIN(0)
|
|
CALLFUNCTION_DECL_END() CALLFUNCTION_IMPL_BEGIN()
|
|
CALLFUNCTION_IMPL_SAFEGUARD()
|
|
CALLFUNCTION_IMPL_CALL()
|
|
CALLFUNCTION_IMPL_RESULT()
|
|
CALLFUNCTION_IMPL_RETURN()
|
|
CALLFUNCTION_IMPL_END()
|
|
#pragma comment(linker, "/EXPORT:BlitzPointer_CallFunction0=_BlitzPointer_CallFunction0@4")
|
|
|
|
// One Parameter
|
|
CALLFUNCTION_DECL_BEGIN(1)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p1)
|
|
CALLFUNCTION_DECL_END() CALLFUNCTION_IMPL_BEGIN()
|
|
CALLFUNCTION_IMPL_SAFEGUARD()
|
|
CALLFUNCTION_IMPL_PREPARE(1)
|
|
CALLFUNCTION_IMPL_PARAMETER(0, p1)
|
|
CALLFUNCTION_IMPL_CALL()
|
|
CALLFUNCTION_IMPL_RESULT()
|
|
CALLFUNCTION_IMPL_RETURN()
|
|
CALLFUNCTION_IMPL_END()
|
|
#pragma comment(linker, "/EXPORT:BlitzPointer_CallFunction1=_BlitzPointer_CallFunction1@8")
|
|
|
|
// Two Parameters
|
|
CALLFUNCTION_DECL_BEGIN(2)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p1)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p2)
|
|
CALLFUNCTION_DECL_END() CALLFUNCTION_IMPL_BEGIN()
|
|
CALLFUNCTION_IMPL_SAFEGUARD()
|
|
CALLFUNCTION_IMPL_PREPARE(2)
|
|
CALLFUNCTION_IMPL_PARAMETER(1, p2)
|
|
CALLFUNCTION_IMPL_PARAMETER(0, p1)
|
|
CALLFUNCTION_IMPL_CALL()
|
|
CALLFUNCTION_IMPL_RESULT()
|
|
CALLFUNCTION_IMPL_RETURN()
|
|
CALLFUNCTION_IMPL_END()
|
|
#pragma comment(linker, "/EXPORT:BlitzPointer_CallFunction2=_BlitzPointer_CallFunction2@12")
|
|
|
|
// Three Parameters
|
|
CALLFUNCTION_DECL_BEGIN(3)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p1)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p2)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p3)
|
|
CALLFUNCTION_DECL_END() CALLFUNCTION_IMPL_BEGIN()
|
|
CALLFUNCTION_IMPL_SAFEGUARD()
|
|
CALLFUNCTION_IMPL_PREPARE(3)
|
|
CALLFUNCTION_IMPL_PARAMETER(2, p3)
|
|
CALLFUNCTION_IMPL_PARAMETER(1, p2)
|
|
CALLFUNCTION_IMPL_PARAMETER(0, p1)
|
|
CALLFUNCTION_IMPL_CALL()
|
|
CALLFUNCTION_IMPL_RESULT()
|
|
CALLFUNCTION_IMPL_RETURN()
|
|
CALLFUNCTION_IMPL_END()
|
|
#pragma comment(linker, "/EXPORT:BlitzPointer_CallFunction3=_BlitzPointer_CallFunction3@16")
|
|
|
|
// Four Parameters
|
|
CALLFUNCTION_DECL_BEGIN(4)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p1)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p2)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p3)
|
|
CALLFUNCTION_DECL_PARAMETER(int32_t, p4)
|
|
CALLFUNCTION_DECL_END() CALLFUNCTION_IMPL_BEGIN()
|
|
CALLFUNCTION_IMPL_SAFEGUARD()
|
|
CALLFUNCTION_IMPL_PREPARE(4)
|
|
CALLFUNCTION_IMPL_PARAMETER(3, p4)
|
|
CALLFUNCTION_IMPL_PARAMETER(2, p3)
|
|
CALLFUNCTION_IMPL_PARAMETER(1, p2)
|
|
CALLFUNCTION_IMPL_PARAMETER(0, p1)
|
|
CALLFUNCTION_IMPL_CALL()
|
|
CALLFUNCTION_IMPL_RESULT()
|
|
CALLFUNCTION_IMPL_RETURN()
|
|
CALLFUNCTION_IMPL_END()
|
|
#pragma comment(linker, "/EXPORT:BlitzPointer_CallFunction4=_BlitzPointer_CallFunction4@20")
|