# Path: src/zugbruecke/core/const.py
# _FUNCFLAG_STDCALL = 0 # EXPORT
# 
# FLAG_POINTER = -1
# 
# GROUP_VOID = 1
# 
# GROUP_FUNDAMENTAL = 2
# 
# GROUP_STRUCT = 4
# 
# GROUP_FUNCTION = 8


import ctypes
from ctypes import _FUNCFLAG_CDECL
from ..const import (
	_FUNCFLAG_STDCALL,
	FLAG_POINTER,
	GROUP_VOID,
	GROUP_FUNDAMENTAL,
	GROUP_STRUCT,
	GROUP_FUNCTION
	)
https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
https://github.com/pleiszenburg/zugbruecke/blob/master/LICENSE

Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
specific language governing rights and limitations under the License.
</LICENSE_BLOCK>

"""


# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# IMPORT
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#from pprint import pformat as pf



# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# CLASS: Definition packing and unpacking
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

class arguments_definition_class():


	def generate_callback_decorator(self, flags, restype, *argtypes, **kwargs):

		_memsync_ = kwargs.pop('memsync', [])


# Path: src/zugbruecke/core/const.py
# _FUNCFLAG_STDCALL = 0 # EXPORT
# 
# FLAG_POINTER = -1
# 
# GROUP_VOID = 1
# 
# GROUP_FUNDAMENTAL = 2
# 
# GROUP_STRUCT = 4
# 
# GROUP_FUNCTION = 8


# Path: src/zugbruecke/core/data/arg_definition.py
import ctypes
from ctypes import _FUNCFLAG_CDECL
from ..const import (
	_FUNCFLAG_STDCALL,
	FLAG_POINTER,
	GROUP_VOID,
	GROUP_FUNDAMENTAL,
	GROUP_STRUCT,
	GROUP_FUNCTION
	)

https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
https://github.com/pleiszenburg/zugbruecke/blob/master/LICENSE

Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
specific language governing rights and limitations under the License.
</LICENSE_BLOCK>

"""


# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# IMPORT
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#from pprint import pformat as pf



# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# CLASS: Definition packing and unpacking
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

class arguments_definition_class():


	def generate_callback_decorator(self, flags, restype, *argtypes, **kwargs):

		_memsync_ = kwargs.pop('memsync', [])


		if not(flags & _FUNCFLAG_STDCALL):