# Note: This file used to generate gmarshal.[ch], but it doesn't any
# longer.  Now that we have g_cclosure_marshal_generic(), there's no
# reason to use these.  They're kept for ABI compatibility.

# standard VOID return marshallers
VOID:VOID
VOID:BOOLEAN
VOID:CHAR
VOID:UCHAR
VOID:INT
VOID:UINT
VOID:LONG
VOID:ULONG
VOID:ENUM
VOID:FLAGS
VOID:FLOAT
VOID:DOUBLE
VOID:STRING
VOID:PARAM
VOID:BOXED
VOID:POINTER
VOID:OBJECT
VOID:VARIANT

# GRuntime specific marshallers
VOID:UINT,POINTER
BOOL:FLAGS
STRING:OBJECT,POINTER
BOOL:BOXED,BOXED
