#
# Types
#
# INT reg stuff
# c - char
# s - short
# i - int
# l - long
# 2 - pointer to short
# 3 - pointer to int
# 4 - pointer to long
# NUM reg stuff
# f - float
# d - double
# STR reg stuff
# t - character string
# PMC reg stuff
# p - data pointer from PMC (on store into a new UnManagedStruct PMC)
# P - pointer to a PMC-register
# void stuff
# v - void
# P - void *
# B - void **

# special stuff
# 0 - insert a NULL (pointer) - doesn't comsume a register
# I - Parrot_Interp param
#
# Arrayish things, terminated with NULL/0
# L - Long array
# T - Array of string pointers (Converted to cstrings)

#
# Callback Things
#
# C - Function pointer to call back into Parrot. The signature of
#     this function is: void (function *)(ExternalThing *, CallbackInfo *)
#     More docs in PDD 16.
# D - Function pointer. Like C, only the arg order is reversed:
#     this function is: void (function *)(CallbackInfo *, ExternalThing *)
#
# The following parameters must appear in a pair
# Y - sub PMC to call back into
# Z - Single PMC parameter to pass into sub Y

#Return params
#p	b
c	v
c	p
c	pi
c
d	d
d	v
f	is
f	v
i	4
i	42p
i	4i
i	d
i	i
i	ii
i	ii4
i	ii4i
i	iiii
i	iiilsp
i	iil
i	iili
i	iip
i	iit
i	iiti
i	ilsp
i	iti
i	l
i	li
i	lp
i	lsp
i	p
i	p33
i	p333
i	p333333
i	p4
i	p42p
i	p4i
i	pb
i	pi
i	pii
i	pii4
i	pii4i
i	piii
i	piiiiii
i	piiilsp
i	piil
i	piili
i	piit
i	piiti
i	pilsp
i	pit
i	pl
i	pli
i	pll
i	pllllllll
i	plp
i	plsp
i	pp
i	ppi
i	ppiiiiiiii
i	pppp
i	psp
i	pt
i	pti
i	pitl
i	s
i	s22
i	s222
i	sp
i	sss
i	ssss
i	t
i	ti
i	v
i
l	33l
l	ii
l	l4
l	p
l	p33l
l	pi
l	pii
l	v
l
p	It
p	b
p	i
p	ii
p	iiii
p	iiiiii
p	p
p	pt
p	pi
p	pii
p	piiii
p	tpp
p	t
p	ttttttt
p	v
p
p	B
s	v
t	i
t	ii
t	pi
t	pii
t	pt
t	t
t	tl4
t	t4
t	p
t	v
t
v	i
v	ii
v	illllllll
v	l
v	p
v	pp
v	pi
v	piiii
v	pl
v	v
v

# These are needed for parrotio.pmc
i	IP
v	IP
i	IPi
i	IPii
i	IPiii
i	IPt

# the following are use by t/pmc/nci.t
f	ff
i	sc
s	sc
c	sc
i	iii
i	i3
t	b
t	B
v	P

# Needed for parrot threads
v	IPP
P	Ii

# Oddball ones for postgres
p	ptiLTLLi
p	pi33ipi
p	ptii33i
p	ptit33i
i	ptit33i
i	ptiit33i

# The following are used by library/pcre.imc
p	tiB3P
i	pPtiiipi
i	tpiibi

# Used by library/sdl.imc
p	iiil
i	ppl
