_Bool						T_IV
byte_t						T_U_CHAR
byte_t *					T_PV
const byte_t *					T_PV
const nfc_device_t *				T_PTROBJ
void *                                          T_PTROBJ
const void *					T_PTROBJ
nfc_device_spec_t                               T_PTROBJ
nfc_device_option_t				T_U_CHAR
nfc_iso14443a_info_t                            T_OPAQUE_STRUCT
nfc_iso14443a_info_t *  			T_PTROBJ
nfc_iso14443a_info_tPtr 			T_PTROBJ
nfc_target_info_t                               T_OPAQUE_STRUCT
nfc_target_info_t *				T_PTROBJ
nfc_target_info_tPtr				T_PTROBJ
nfc_device_t                                    T_OPAQUE_STRUCT
nfc_device_t *                                  T_PTROBJ
nfc_device_tPtr                                 T_PTROBJ
nfc_chip_t					T_U_CHAR
nfc_modulation_t				T_UV
uint32_t					T_UV
uint32_t *					T_PTROBJ
size_t *					T_PTROBJ
uint64_t					T_NV
uint8_t						T_U_CHAR
#############################################################################
INPUT
T_OPAQUE_STRUCT
	if (sv_derived_from($arg, \"${ntype}\")) {
	    STRLEN len;
	    char  *s = SvPV((SV*)SvRV($arg), len);

	    if (len != sizeof($var))
		croak(\"Size %d of packed data != expected %d\",
			len, sizeof($var));
	    $var = *($type *)s;
	}
	else
	    croak(\"$var is not of type ${ntype}\")
#############################################################################
OUTPUT
T_OPAQUE_STRUCT
	sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
