initial checkin of osmo-remsim

This adds some initial code, particularly the ASN.1 definition of the
RSPRO protocol, related makefile to build it using ffasn1c, and our
usual autoconf infrastructure to build it.

Change-Id: Ibaa993b59e9a65a0242b0f42b27d9cd29f8e1878
diff --git a/include/osmocom/rspro/RsproPDUchoice.h b/include/osmocom/rspro/RsproPDUchoice.h
new file mode 100644
index 0000000..07d387e
--- /dev/null
+++ b/include/osmocom/rspro/RsproPDUchoice.h
@@ -0,0 +1,97 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RSPRO"
+ * 	found in "../../asn1/RSPRO.asn"
+ */
+
+#ifndef	_RsproPDUchoice_H_
+#define	_RsproPDUchoice_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <osmocom/rspro/ConnectBankReq.h>
+#include <osmocom/rspro/ConnectBankRes.h>
+#include <osmocom/rspro/ConnectClientReq.h>
+#include <osmocom/rspro/ConnectClientRes.h>
+#include <osmocom/rspro/CreateMappingReq.h>
+#include <osmocom/rspro/CreateMappingRes.h>
+#include <osmocom/rspro/RemoveMappingReq.h>
+#include <osmocom/rspro/RemoveMappingRes.h>
+#include <osmocom/rspro/ConfigClientReq.h>
+#include <osmocom/rspro/ConfigClientRes.h>
+#include <osmocom/rspro/SetAtrReq.h>
+#include <osmocom/rspro/SetAtrRes.h>
+#include <osmocom/rspro/TpduModemToCard.h>
+#include <osmocom/rspro/TpduCardToModem.h>
+#include <osmocom/rspro/ClientSlotStatusInd.h>
+#include <osmocom/rspro/BankSlotStatusInd.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RsproPDUchoice_PR {
+	RsproPDUchoice_PR_NOTHING,	/* No components present */
+	RsproPDUchoice_PR_connectBankReq,
+	RsproPDUchoice_PR_connectBankRes,
+	RsproPDUchoice_PR_connectClientReq,
+	RsproPDUchoice_PR_connectClientRes,
+	RsproPDUchoice_PR_createMappingReq,
+	RsproPDUchoice_PR_createMappingRes,
+	RsproPDUchoice_PR_removeMappingReq,
+	RsproPDUchoice_PR_removeMappingRes,
+	RsproPDUchoice_PR_configClientReq,
+	RsproPDUchoice_PR_configClientRes,
+	RsproPDUchoice_PR_setAtrReq,
+	RsproPDUchoice_PR_setAtrRes,
+	RsproPDUchoice_PR_tpduModemToCard,
+	RsproPDUchoice_PR_tpduCardToModem,
+	RsproPDUchoice_PR_clientSlotStatusInd,
+	RsproPDUchoice_PR_bankSlotStatusInd,
+	/* Extensions may appear below */
+	
+} RsproPDUchoice_PR;
+
+/* RsproPDUchoice */
+typedef struct RsproPDUchoice {
+	RsproPDUchoice_PR present;
+	union RsproPDUchoice_u {
+		ConnectBankReq_t	 connectBankReq;
+		ConnectBankRes_t	 connectBankRes;
+		ConnectClientReq_t	 connectClientReq;
+		ConnectClientRes_t	 connectClientRes;
+		CreateMappingReq_t	 createMappingReq;
+		CreateMappingRes_t	 createMappingRes;
+		RemoveMappingReq_t	 removeMappingReq;
+		RemoveMappingRes_t	 removeMappingRes;
+		ConfigClientReq_t	 configClientReq;
+		ConfigClientRes_t	 configClientRes;
+		SetAtrReq_t	 setAtrReq;
+		SetAtrRes_t	 setAtrRes;
+		TpduModemToCard_t	 tpduModemToCard;
+		TpduCardToModem_t	 tpduCardToModem;
+		ClientSlotStatusInd_t	 clientSlotStatusInd;
+		BankSlotStatusInd_t	 bankSlotStatusInd;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RsproPDUchoice_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RsproPDUchoice;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RsproPDUchoice_H_ */
+#include <asn_internal.h>