add ffasn1c example for RSPRO
This can help us for debugging using an independent decoder compared to asn1c
Change-Id: I15293014cddb75190e7f848fff6d07a3401461ff
diff --git a/ffasn1c/rspro.c b/ffasn1c/rspro.c
new file mode 100644
index 0000000..aed2f04
--- /dev/null
+++ b/ffasn1c/rspro.c
@@ -0,0 +1,722 @@
+/* Automatically generated file - do not edit */
+
+#include "asn1defs.h"
+#include "rspro.h"
+
+const ASN1CType asn1_type_OperationTag[] = {
+ (ASN1_CTYPE_INTEGER << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x100001,
+ 0x0,
+ 0x7fffffff,
+ (intptr_t)"OperationTag",
+};
+
+const ASN1CType asn1_type_BankId[] = {
+ (ASN1_CTYPE_INTEGER << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x2,
+ 0x0,
+ 0x3ff,
+ (intptr_t)"BankId",
+};
+
+const ASN1CType asn1_type_ClientId[] = {
+ (ASN1_CTYPE_INTEGER << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x2,
+ 0x0,
+ 0x3ff,
+ (intptr_t)"ClientId",
+};
+
+const ASN1CType asn1_type_ComponentType[] = {
+ (ASN1_CTYPE_ENUMERATED << ASN1_CTYPE_SHIFT) | 0x4000000 | 0xa,
+ 3,
+ (intptr_t)"remsimClient",
+ (intptr_t)"remsimServer",
+ (intptr_t)"remsimBankd",
+ (intptr_t)"ComponentType",
+};
+
+const ASN1CType asn1_type_ComponentName[] = {
+ (ASN1_CTYPE_CHAR_STRING << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x16,
+ ASN1_CSTR_IA5String,
+ 0x1,
+ 0x20,
+ 1,
+ 0x0,
+ 0x7f,
+ (intptr_t)"ComponentName",
+};
+
+static const ASN1CType asn1_type__local_0[] = {
+ (ASN1_CTYPE_TAGGED << ASN1_CTYPE_SHIFT) | 0x0 | 0x100000,
+ (intptr_t)asn1_type_ComponentName,
+};
+
+static const ASN1CType asn1_type__local_1[] = {
+ (ASN1_CTYPE_TAGGED << ASN1_CTYPE_SHIFT) | 0x0 | 0x100001,
+ (intptr_t)asn1_type_ComponentName,
+};
+
+static const ASN1CType asn1_type__local_2[] = {
+ (ASN1_CTYPE_TAGGED << ASN1_CTYPE_SHIFT) | 0x0 | 0x100002,
+ (intptr_t)asn1_type_ComponentName,
+};
+
+static const ASN1CType asn1_type__local_3[] = {
+ (ASN1_CTYPE_TAGGED << ASN1_CTYPE_SHIFT) | 0x0 | 0x100003,
+ (intptr_t)asn1_type_ComponentName,
+};
+
+static const ASN1CType asn1_type__local_4[] = {
+ (ASN1_CTYPE_TAGGED << ASN1_CTYPE_SHIFT) | 0x0 | 0x100004,
+ (intptr_t)asn1_type_ComponentName,
+};
+
+static const ASN1CType asn1_type__local_5[] = {
+ (ASN1_CTYPE_TAGGED << ASN1_CTYPE_SHIFT) | 0x0 | 0x100005,
+ (intptr_t)asn1_type_ComponentName,
+};
+
+static const ASN1CType asn1_type__local_6[] = {
+ (ASN1_CTYPE_TAGGED << ASN1_CTYPE_SHIFT) | 0x0 | 0x100006,
+ (intptr_t)asn1_type_ComponentName,
+};
+
+const ASN1CType asn1_type_ComponentIdentity[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10,
+ 9,
+ sizeof(ComponentIdentity),
+
+ offsetof(ComponentIdentity, type) | 0x0,
+ (intptr_t)asn1_type_ComponentType,
+ 0,
+ (intptr_t)"type",
+
+ offsetof(ComponentIdentity, name) | 0x0,
+ (intptr_t)asn1_type_ComponentName,
+ 0,
+ (intptr_t)"name",
+
+ offsetof(ComponentIdentity, software) | 0x0,
+ (intptr_t)asn1_type__local_0,
+ 0,
+ (intptr_t)"software",
+
+ offsetof(ComponentIdentity, swVersion) | 0x0,
+ (intptr_t)asn1_type__local_1,
+ 0,
+ (intptr_t)"swVersion",
+
+ offsetof(ComponentIdentity, hwManufacturer) | 0x8000000,
+ (intptr_t)asn1_type__local_2,
+ offsetof(ComponentIdentity, hwManufacturer_option),
+ (intptr_t)"hwManufacturer",
+
+ offsetof(ComponentIdentity, hwModel) | 0x8000000,
+ (intptr_t)asn1_type__local_3,
+ offsetof(ComponentIdentity, hwModel_option),
+ (intptr_t)"hwModel",
+
+ offsetof(ComponentIdentity, hwSerialNr) | 0x8000000,
+ (intptr_t)asn1_type__local_4,
+ offsetof(ComponentIdentity, hwSerialNr_option),
+ (intptr_t)"hwSerialNr",
+
+ offsetof(ComponentIdentity, hwVersion) | 0x8000000,
+ (intptr_t)asn1_type__local_5,
+ offsetof(ComponentIdentity, hwVersion_option),
+ (intptr_t)"hwVersion",
+
+ offsetof(ComponentIdentity, fwVersion) | 0x8000000,
+ (intptr_t)asn1_type__local_6,
+ offsetof(ComponentIdentity, fwVersion_option),
+ (intptr_t)"fwVersion",
+
+ (intptr_t)"ComponentIdentity",
+};
+
+const ASN1CType asn1_type_Ipv4Address[] = {
+ (ASN1_CTYPE_OCTET_STRING << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x100000,
+ 0x4,
+ 0x4,
+ (intptr_t)"Ipv4Address",
+};
+
+const ASN1CType asn1_type_Ipv6Address[] = {
+ (ASN1_CTYPE_OCTET_STRING << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x100001,
+ 0x10,
+ 0x10,
+ (intptr_t)"Ipv6Address",
+};
+
+const ASN1CType asn1_type_IpAddress[] = {
+ (ASN1_CTYPE_CHOICE << ASN1_CTYPE_SHIFT) | 0x4000000 | 0x0,
+ 2,
+ sizeof(IpAddress),
+ offsetof(IpAddress, choice),
+ offsetof(IpAddress, u),
+ (intptr_t)asn1_type_Ipv4Address,
+ (intptr_t)"ipv4",
+ (intptr_t)asn1_type_Ipv6Address,
+ (intptr_t)"ipv6",
+ (intptr_t)"IpAddress",
+};
+
+const ASN1CType asn1_type_PortNumber[] = {
+ (ASN1_CTYPE_INTEGER << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x2,
+ 0x0,
+ 0xffff,
+ (intptr_t)"PortNumber",
+};
+
+const ASN1CType asn1_type_IpPort[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x4000000 | 0x10,
+ 2,
+ sizeof(IpPort),
+
+ offsetof(IpPort, ip) | 0x0,
+ (intptr_t)asn1_type_IpAddress,
+ 0,
+ (intptr_t)"ip",
+
+ offsetof(IpPort, port) | 0x0,
+ (intptr_t)asn1_type_PortNumber,
+ 0,
+ (intptr_t)"port",
+
+ (intptr_t)"IpPort",
+};
+
+const ASN1CType asn1_type_ResultCode[] = {
+ (ASN1_CTYPE_ENUMERATED << ASN1_CTYPE_SHIFT) | 0x6000000 | 0xa,
+ 7,
+ 0,
+ (intptr_t)"ok",
+ (intptr_t)"illegalClientId",
+ (intptr_t)"illegalBankId",
+ (intptr_t)"illegalSlotId",
+ (intptr_t)"cardNotPresent",
+ (intptr_t)"cardUnresponsive",
+ (intptr_t)"cardTransmissionError",
+ (intptr_t)"ResultCode",
+};
+
+const ASN1CType asn1_type_SlotNumber[] = {
+ (ASN1_CTYPE_INTEGER << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x2,
+ 0x0,
+ 0x3ff,
+ (intptr_t)"SlotNumber",
+};
+
+const ASN1CType asn1_type_ClientSlot[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10,
+ 2,
+ sizeof(ClientSlot),
+
+ offsetof(ClientSlot, clientId) | 0x0,
+ (intptr_t)asn1_type_ClientId,
+ 0,
+ (intptr_t)"clientId",
+
+ offsetof(ClientSlot, slotNr) | 0x0,
+ (intptr_t)asn1_type_SlotNumber,
+ 0,
+ (intptr_t)"slotNr",
+
+ (intptr_t)"ClientSlot",
+};
+
+const ASN1CType asn1_type_BankSlot[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10,
+ 2,
+ sizeof(BankSlot),
+
+ offsetof(BankSlot, bankId) | 0x0,
+ (intptr_t)asn1_type_BankId,
+ 0,
+ (intptr_t)"bankId",
+
+ offsetof(BankSlot, slotNr) | 0x0,
+ (intptr_t)asn1_type_SlotNumber,
+ 0,
+ (intptr_t)"slotNr",
+
+ (intptr_t)"BankSlot",
+};
+
+const ASN1CType asn1_type_ATR[] = {
+ (ASN1_CTYPE_OCTET_STRING << ASN1_CTYPE_SHIFT) | 0x5800000 | 0x4,
+ 0x1,
+ 0x37,
+ (intptr_t)"ATR",
+};
+
+static const ASN1CType asn1_type__local_7[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x1,
+};
+
+static const ASN1CType asn1_type__local_8[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x1,
+};
+
+static const ASN1CType asn1_type__local_9[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x1,
+};
+
+static const ASN1CType asn1_type__local_10[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x1,
+};
+
+const ASN1CType asn1_type_TpduFlags[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10,
+ 4,
+ sizeof(TpduFlags),
+
+ offsetof(TpduFlags, tpduHeaderPresent) | 0x0,
+ (intptr_t)asn1_type__local_7,
+ 0,
+ (intptr_t)"tpduHeaderPresent",
+
+ offsetof(TpduFlags, finalPart) | 0x0,
+ (intptr_t)asn1_type__local_8,
+ 0,
+ (intptr_t)"finalPart",
+
+ offsetof(TpduFlags, procByteContinueTx) | 0x0,
+ (intptr_t)asn1_type__local_9,
+ 0,
+ (intptr_t)"procByteContinueTx",
+
+ offsetof(TpduFlags, procByteContinueRx) | 0x0,
+ (intptr_t)asn1_type__local_10,
+ 0,
+ (intptr_t)"procByteContinueRx",
+
+ (intptr_t)"TpduFlags",
+};
+
+static const ASN1CType asn1_type__local_11[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x100000,
+};
+
+static const ASN1CType asn1_type__local_12[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x100001,
+};
+
+static const ASN1CType asn1_type__local_13[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x100002,
+};
+
+static const ASN1CType asn1_type__local_14[] = {
+ (ASN1_CTYPE_BOOLEAN << ASN1_CTYPE_SHIFT) | 0x0 | 0x100003,
+};
+
+const ASN1CType asn1_type_SlotPhysStatus[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10,
+ 4,
+ sizeof(SlotPhysStatus),
+
+ offsetof(SlotPhysStatus, resetActive) | 0x0,
+ (intptr_t)asn1_type__local_11,
+ 0,
+ (intptr_t)"resetActive",
+
+ offsetof(SlotPhysStatus, vccPresent) | 0x8000000,
+ (intptr_t)asn1_type__local_12,
+ offsetof(SlotPhysStatus, vccPresent_option),
+ (intptr_t)"vccPresent",
+
+ offsetof(SlotPhysStatus, clkActive) | 0x8000000,
+ (intptr_t)asn1_type__local_13,
+ offsetof(SlotPhysStatus, clkActive_option),
+ (intptr_t)"clkActive",
+
+ offsetof(SlotPhysStatus, cardPresent) | 0x8000000,
+ (intptr_t)asn1_type__local_14,
+ offsetof(SlotPhysStatus, cardPresent_option),
+ (intptr_t)"cardPresent",
+
+ (intptr_t)"SlotPhysStatus",
+};
+
+const ASN1CType asn1_type_ConnectBankReq[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100000,
+ 3,
+ sizeof(ConnectBankReq),
+
+ offsetof(ConnectBankReq, identity) | 0x0,
+ (intptr_t)asn1_type_ComponentIdentity,
+ 0,
+ (intptr_t)"identity",
+
+ offsetof(ConnectBankReq, bankId) | 0x0,
+ (intptr_t)asn1_type_BankId,
+ 0,
+ (intptr_t)"bankId",
+
+ offsetof(ConnectBankReq, numberOfSlots) | 0x0,
+ (intptr_t)asn1_type_SlotNumber,
+ 0,
+ (intptr_t)"numberOfSlots",
+
+ (intptr_t)"ConnectBankReq",
+};
+
+const ASN1CType asn1_type_ConnectBankRes[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100001,
+ 2,
+ sizeof(ConnectBankRes),
+
+ offsetof(ConnectBankRes, identity) | 0x0,
+ (intptr_t)asn1_type_ComponentIdentity,
+ 0,
+ (intptr_t)"identity",
+
+ offsetof(ConnectBankRes, result) | 0x0,
+ (intptr_t)asn1_type_ResultCode,
+ 0,
+ (intptr_t)"result",
+
+ (intptr_t)"ConnectBankRes",
+};
+
+const ASN1CType asn1_type_ConnectClientReq[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100002,
+ 2,
+ sizeof(ConnectClientReq),
+
+ offsetof(ConnectClientReq, identity) | 0x0,
+ (intptr_t)asn1_type_ComponentIdentity,
+ 0,
+ (intptr_t)"identity",
+
+ offsetof(ConnectClientReq, clientSlot) | 0x8000000,
+ (intptr_t)asn1_type_ClientSlot,
+ offsetof(ConnectClientReq, clientSlot_option),
+ (intptr_t)"clientSlot",
+
+ (intptr_t)"ConnectClientReq",
+};
+
+const ASN1CType asn1_type_ConnectClientRes[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100003,
+ 2,
+ sizeof(ConnectClientRes),
+
+ offsetof(ConnectClientRes, identity) | 0x0,
+ (intptr_t)asn1_type_ComponentIdentity,
+ 0,
+ (intptr_t)"identity",
+
+ offsetof(ConnectClientRes, result) | 0x0,
+ (intptr_t)asn1_type_ResultCode,
+ 0,
+ (intptr_t)"result",
+
+ (intptr_t)"ConnectClientRes",
+};
+
+const ASN1CType asn1_type_CreateMappingReq[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100004,
+ 2,
+ sizeof(CreateMappingReq),
+
+ offsetof(CreateMappingReq, client) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"client",
+
+ offsetof(CreateMappingReq, bank) | 0x0,
+ (intptr_t)asn1_type_BankSlot,
+ 0,
+ (intptr_t)"bank",
+
+ (intptr_t)"CreateMappingReq",
+};
+
+const ASN1CType asn1_type_CreateMappingRes[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100005,
+ 1,
+ sizeof(CreateMappingRes),
+
+ offsetof(CreateMappingRes, result) | 0x0,
+ (intptr_t)asn1_type_ResultCode,
+ 0,
+ (intptr_t)"result",
+
+ (intptr_t)"CreateMappingRes",
+};
+
+const ASN1CType asn1_type_RemoveMappingReq[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100006,
+ 2,
+ sizeof(RemoveMappingReq),
+
+ offsetof(RemoveMappingReq, client) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"client",
+
+ offsetof(RemoveMappingReq, bank) | 0x0,
+ (intptr_t)asn1_type_BankSlot,
+ 0,
+ (intptr_t)"bank",
+
+ (intptr_t)"RemoveMappingReq",
+};
+
+const ASN1CType asn1_type_RemoveMappingRes[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100007,
+ 1,
+ sizeof(RemoveMappingRes),
+
+ offsetof(RemoveMappingRes, result) | 0x0,
+ (intptr_t)asn1_type_ResultCode,
+ 0,
+ (intptr_t)"result",
+
+ (intptr_t)"RemoveMappingRes",
+};
+
+const ASN1CType asn1_type_ConfigClientReq[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100008,
+ 2,
+ sizeof(ConfigClientReq),
+
+ offsetof(ConfigClientReq, clientSlot) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"clientSlot",
+
+ offsetof(ConfigClientReq, bankd) | 0x0,
+ (intptr_t)asn1_type_IpPort,
+ 0,
+ (intptr_t)"bankd",
+
+ (intptr_t)"ConfigClientReq",
+};
+
+const ASN1CType asn1_type_ConfigClientRes[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100009,
+ 1,
+ sizeof(ConfigClientRes),
+
+ offsetof(ConfigClientRes, result) | 0x0,
+ (intptr_t)asn1_type_ResultCode,
+ 0,
+ (intptr_t)"result",
+
+ (intptr_t)"ConfigClientRes",
+};
+
+const ASN1CType asn1_type_SetAtrReq[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10000a,
+ 2,
+ sizeof(SetAtrReq),
+
+ offsetof(SetAtrReq, slot) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"slot",
+
+ offsetof(SetAtrReq, atr) | 0x0,
+ (intptr_t)asn1_type_ATR,
+ 0,
+ (intptr_t)"atr",
+
+ (intptr_t)"SetAtrReq",
+};
+
+const ASN1CType asn1_type_SetAtrRes[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10000b,
+ 1,
+ sizeof(SetAtrRes),
+
+ offsetof(SetAtrRes, result) | 0x0,
+ (intptr_t)asn1_type_ResultCode,
+ 0,
+ (intptr_t)"result",
+
+ (intptr_t)"SetAtrRes",
+};
+
+static const ASN1CType asn1_type__local_15[] = {
+ (ASN1_CTYPE_OCTET_STRING << ASN1_CTYPE_SHIFT) | 0x1000000 | 0x4,
+ 0x0,
+};
+
+const ASN1CType asn1_type_TpduModemToCard[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10000c,
+ 4,
+ sizeof(TpduModemToCard),
+
+ offsetof(TpduModemToCard, fromClientSlot) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"fromClientSlot",
+
+ offsetof(TpduModemToCard, toBankSlot) | 0x0,
+ (intptr_t)asn1_type_BankSlot,
+ 0,
+ (intptr_t)"toBankSlot",
+
+ offsetof(TpduModemToCard, flags) | 0x0,
+ (intptr_t)asn1_type_TpduFlags,
+ 0,
+ (intptr_t)"flags",
+
+ offsetof(TpduModemToCard, data) | 0x0,
+ (intptr_t)asn1_type__local_15,
+ 0,
+ (intptr_t)"data",
+
+ (intptr_t)"TpduModemToCard",
+};
+
+static const ASN1CType asn1_type__local_16[] = {
+ (ASN1_CTYPE_OCTET_STRING << ASN1_CTYPE_SHIFT) | 0x1000000 | 0x4,
+ 0x0,
+};
+
+const ASN1CType asn1_type_TpduCardToModem[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10000d,
+ 4,
+ sizeof(TpduCardToModem),
+
+ offsetof(TpduCardToModem, fromBankSlot) | 0x0,
+ (intptr_t)asn1_type_BankSlot,
+ 0,
+ (intptr_t)"fromBankSlot",
+
+ offsetof(TpduCardToModem, toClientSlot) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"toClientSlot",
+
+ offsetof(TpduCardToModem, flags) | 0x0,
+ (intptr_t)asn1_type_TpduFlags,
+ 0,
+ (intptr_t)"flags",
+
+ offsetof(TpduCardToModem, data) | 0x0,
+ (intptr_t)asn1_type__local_16,
+ 0,
+ (intptr_t)"data",
+
+ (intptr_t)"TpduCardToModem",
+};
+
+const ASN1CType asn1_type_ClientSlotStatusInd[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10000e,
+ 3,
+ sizeof(ClientSlotStatusInd),
+
+ offsetof(ClientSlotStatusInd, fromClientSlot) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"fromClientSlot",
+
+ offsetof(ClientSlotStatusInd, toBankSlot) | 0x0,
+ (intptr_t)asn1_type_BankSlot,
+ 0,
+ (intptr_t)"toBankSlot",
+
+ offsetof(ClientSlotStatusInd, slotPhysStatus) | 0x0,
+ (intptr_t)asn1_type_SlotPhysStatus,
+ 0,
+ (intptr_t)"slotPhysStatus",
+
+ (intptr_t)"ClientSlotStatusInd",
+};
+
+const ASN1CType asn1_type_BankSlotStatusInd[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x10000f,
+ 3,
+ sizeof(BankSlotStatusInd),
+
+ offsetof(BankSlotStatusInd, fromBankSlot) | 0x0,
+ (intptr_t)asn1_type_BankSlot,
+ 0,
+ (intptr_t)"fromBankSlot",
+
+ offsetof(BankSlotStatusInd, toClientSlot) | 0x0,
+ (intptr_t)asn1_type_ClientSlot,
+ 0,
+ (intptr_t)"toClientSlot",
+
+ offsetof(BankSlotStatusInd, slotPhysStatus) | 0x0,
+ (intptr_t)asn1_type_SlotPhysStatus,
+ 0,
+ (intptr_t)"slotPhysStatus",
+
+ (intptr_t)"BankSlotStatusInd",
+};
+
+const ASN1CType asn1_type_RsproPDUchoice[] = {
+ (ASN1_CTYPE_CHOICE << ASN1_CTYPE_SHIFT) | 0x6000000 | 0x100002,
+ 16,
+ 0,
+ sizeof(RsproPDUchoice),
+ offsetof(RsproPDUchoice, choice),
+ offsetof(RsproPDUchoice, u),
+ (intptr_t)asn1_type_ConnectBankReq,
+ (intptr_t)"connectBankReq",
+ (intptr_t)asn1_type_ConnectBankRes,
+ (intptr_t)"connectBankRes",
+ (intptr_t)asn1_type_ConnectClientReq,
+ (intptr_t)"connectClientReq",
+ (intptr_t)asn1_type_ConnectClientRes,
+ (intptr_t)"connectClientRes",
+ (intptr_t)asn1_type_CreateMappingReq,
+ (intptr_t)"createMappingReq",
+ (intptr_t)asn1_type_CreateMappingRes,
+ (intptr_t)"createMappingRes",
+ (intptr_t)asn1_type_RemoveMappingReq,
+ (intptr_t)"removeMappingReq",
+ (intptr_t)asn1_type_RemoveMappingRes,
+ (intptr_t)"removeMappingRes",
+ (intptr_t)asn1_type_ConfigClientReq,
+ (intptr_t)"configClientReq",
+ (intptr_t)asn1_type_ConfigClientRes,
+ (intptr_t)"configClientRes",
+ (intptr_t)asn1_type_SetAtrReq,
+ (intptr_t)"setAtrReq",
+ (intptr_t)asn1_type_SetAtrRes,
+ (intptr_t)"setAtrRes",
+ (intptr_t)asn1_type_TpduModemToCard,
+ (intptr_t)"tpduModemToCard",
+ (intptr_t)asn1_type_TpduCardToModem,
+ (intptr_t)"tpduCardToModem",
+ (intptr_t)asn1_type_ClientSlotStatusInd,
+ (intptr_t)"clientSlotStatusInd",
+ (intptr_t)asn1_type_BankSlotStatusInd,
+ (intptr_t)"bankSlotStatusInd",
+ (intptr_t)"RsproPDUchoice",
+};
+
+static const ASN1CType asn1_type__local_17[] = {
+ (ASN1_CTYPE_INTEGER << ASN1_CTYPE_SHIFT) | 0x1800000 | 0x100000,
+ 0x0,
+ 0x20,
+};
+
+const ASN1CType asn1_type_RsproPDU[] = {
+ (ASN1_CTYPE_SEQUENCE << ASN1_CTYPE_SHIFT) | 0x4000000 | 0x10,
+ 3,
+ sizeof(RsproPDU),
+
+ offsetof(RsproPDU, version) | 0x0,
+ (intptr_t)asn1_type__local_17,
+ 0,
+ (intptr_t)"version",
+
+ offsetof(RsproPDU, tag) | 0x0,
+ (intptr_t)asn1_type_OperationTag,
+ 0,
+ (intptr_t)"tag",
+
+ offsetof(RsproPDU, msg) | 0x0,
+ (intptr_t)asn1_type_RsproPDUchoice,
+ 0,
+ (intptr_t)"msg",
+
+ (intptr_t)"RsproPDU",
+};
+