RSPRO: split ConfigClient into ConfigClientId and ConfigClientBank

The point is that the ClientId is only set once at start-up (and
also only optionally), while the Bank IP/port/ID/slot can be changed
any number of times during a RSPRO connection.

Change-Id: Ic76207c7dd7c18fe93bc5133b29c5f9438a9fb0e
diff --git a/include/osmocom/rspro/ConfigClientReq.h b/include/osmocom/rspro/ConfigClientBankReq.h
similarity index 64%
copy from include/osmocom/rspro/ConfigClientReq.h
copy to include/osmocom/rspro/ConfigClientBankReq.h
index 73a6768..4856a45 100644
--- a/include/osmocom/rspro/ConfigClientReq.h
+++ b/include/osmocom/rspro/ConfigClientBankReq.h
@@ -4,14 +4,14 @@
  * 	found in "../../asn1/RSPRO.asn"
  */
 
-#ifndef	_ConfigClientReq_H_
-#define	_ConfigClientReq_H_
+#ifndef	_ConfigClientBankReq_H_
+#define	_ConfigClientBankReq_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include <osmocom/rspro/ClientSlot.h>
+#include <osmocom/rspro/BankSlot.h>
 #include <osmocom/rspro/IpPort.h>
 #include <constr_SEQUENCE.h>
 
@@ -19,9 +19,9 @@
 extern "C" {
 #endif
 
-/* ConfigClientReq */
-typedef struct ConfigClientReq {
-	ClientSlot_t	 clientSlot;
+/* ConfigClientBankReq */
+typedef struct ConfigClientBankReq {
+	BankSlot_t	 bankSlot;
 	IpPort_t	 bankd;
 	/*
 	 * This type is extensible,
@@ -30,14 +30,14 @@
 	
 	/* Context for parsing across buffer boundaries */
 	asn_struct_ctx_t _asn_ctx;
-} ConfigClientReq_t;
+} ConfigClientBankReq_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ConfigClientReq;
+extern asn_TYPE_descriptor_t asn_DEF_ConfigClientBankReq;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif	/* _ConfigClientReq_H_ */
+#endif	/* _ConfigClientBankReq_H_ */
 #include <asn_internal.h>
diff --git a/include/osmocom/rspro/ConfigClientRes.h b/include/osmocom/rspro/ConfigClientBankRes.h
similarity index 69%
copy from include/osmocom/rspro/ConfigClientRes.h
copy to include/osmocom/rspro/ConfigClientBankRes.h
index 96c4441..b3719f5 100644
--- a/include/osmocom/rspro/ConfigClientRes.h
+++ b/include/osmocom/rspro/ConfigClientBankRes.h
@@ -4,8 +4,8 @@
  * 	found in "../../asn1/RSPRO.asn"
  */
 
-#ifndef	_ConfigClientRes_H_
-#define	_ConfigClientRes_H_
+#ifndef	_ConfigClientBankRes_H_
+#define	_ConfigClientBankRes_H_
 
 
 #include <asn_application.h>
@@ -18,8 +18,8 @@
 extern "C" {
 #endif
 
-/* ConfigClientRes */
-typedef struct ConfigClientRes {
+/* ConfigClientBankRes */
+typedef struct ConfigClientBankRes {
 	ResultCode_t	 result;
 	/*
 	 * This type is extensible,
@@ -28,14 +28,14 @@
 	
 	/* Context for parsing across buffer boundaries */
 	asn_struct_ctx_t _asn_ctx;
-} ConfigClientRes_t;
+} ConfigClientBankRes_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ConfigClientRes;
+extern asn_TYPE_descriptor_t asn_DEF_ConfigClientBankRes;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif	/* _ConfigClientRes_H_ */
+#endif	/* _ConfigClientBankRes_H_ */
 #include <asn_internal.h>
diff --git a/include/osmocom/rspro/ConfigClientReq.h b/include/osmocom/rspro/ConfigClientIdReq.h
similarity index 67%
rename from include/osmocom/rspro/ConfigClientReq.h
rename to include/osmocom/rspro/ConfigClientIdReq.h
index 73a6768..f8bdce0 100644
--- a/include/osmocom/rspro/ConfigClientReq.h
+++ b/include/osmocom/rspro/ConfigClientIdReq.h
@@ -4,25 +4,23 @@
  * 	found in "../../asn1/RSPRO.asn"
  */
 
-#ifndef	_ConfigClientReq_H_
-#define	_ConfigClientReq_H_
+#ifndef	_ConfigClientIdReq_H_
+#define	_ConfigClientIdReq_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
 #include <osmocom/rspro/ClientSlot.h>
-#include <osmocom/rspro/IpPort.h>
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* ConfigClientReq */
-typedef struct ConfigClientReq {
+/* ConfigClientIdReq */
+typedef struct ConfigClientIdReq {
 	ClientSlot_t	 clientSlot;
-	IpPort_t	 bankd;
 	/*
 	 * This type is extensible,
 	 * possible extensions are below.
@@ -30,14 +28,14 @@
 	
 	/* Context for parsing across buffer boundaries */
 	asn_struct_ctx_t _asn_ctx;
-} ConfigClientReq_t;
+} ConfigClientIdReq_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ConfigClientReq;
+extern asn_TYPE_descriptor_t asn_DEF_ConfigClientIdReq;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif	/* _ConfigClientReq_H_ */
+#endif	/* _ConfigClientIdReq_H_ */
 #include <asn_internal.h>
diff --git a/include/osmocom/rspro/ConfigClientRes.h b/include/osmocom/rspro/ConfigClientIdRes.h
similarity index 70%
rename from include/osmocom/rspro/ConfigClientRes.h
rename to include/osmocom/rspro/ConfigClientIdRes.h
index 96c4441..1b33620 100644
--- a/include/osmocom/rspro/ConfigClientRes.h
+++ b/include/osmocom/rspro/ConfigClientIdRes.h
@@ -4,8 +4,8 @@
  * 	found in "../../asn1/RSPRO.asn"
  */
 
-#ifndef	_ConfigClientRes_H_
-#define	_ConfigClientRes_H_
+#ifndef	_ConfigClientIdRes_H_
+#define	_ConfigClientIdRes_H_
 
 
 #include <asn_application.h>
@@ -18,8 +18,8 @@
 extern "C" {
 #endif
 
-/* ConfigClientRes */
-typedef struct ConfigClientRes {
+/* ConfigClientIdRes */
+typedef struct ConfigClientIdRes {
 	ResultCode_t	 result;
 	/*
 	 * This type is extensible,
@@ -28,14 +28,14 @@
 	
 	/* Context for parsing across buffer boundaries */
 	asn_struct_ctx_t _asn_ctx;
-} ConfigClientRes_t;
+} ConfigClientIdRes_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ConfigClientRes;
+extern asn_TYPE_descriptor_t asn_DEF_ConfigClientIdRes;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif	/* _ConfigClientRes_H_ */
+#endif	/* _ConfigClientIdRes_H_ */
 #include <asn_internal.h>
diff --git a/include/osmocom/rspro/ErrorInd.h b/include/osmocom/rspro/ErrorInd.h
index 48bddf7..eb32ac8 100644
--- a/include/osmocom/rspro/ErrorInd.h
+++ b/include/osmocom/rspro/ErrorInd.h
@@ -12,9 +12,9 @@
 
 /* Including external dependencies */
 #include <osmocom/rspro/ComponentType.h>
-#include "ErrorSeverity.h"
-#include "ErrorCode.h"
-#include "ErrorString.h"
+#include <osmocom/rspro/ErrorSeverity.h>
+#include <osmocom/rspro/ErrorCode.h>
+#include <osmocom/rspro/ErrorString.h>
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
diff --git a/include/osmocom/rspro/Makefile.am b/include/osmocom/rspro/Makefile.am
index 41df9dc..4ffaa32 100644
--- a/include/osmocom/rspro/Makefile.am
+++ b/include/osmocom/rspro/Makefile.am
@@ -9,8 +9,10 @@
 	ComponentIdentity.h \
 	ComponentName.h \
 	ComponentType.h \
-	ConfigClientReq.h \
-	ConfigClientRes.h \
+	ConfigClientIdReq.h \
+	ConfigClientIdRes.h \
+	ConfigClientBankReq.h \
+	ConfigClientBankRes.h \
 	ConnectBankReq.h \
 	ConnectBankRes.h \
 	ConnectClientReq.h \
diff --git a/include/osmocom/rspro/RsproPDUchoice.h b/include/osmocom/rspro/RsproPDUchoice.h
index 98a8ca1..d603fa1 100644
--- a/include/osmocom/rspro/RsproPDUchoice.h
+++ b/include/osmocom/rspro/RsproPDUchoice.h
@@ -19,9 +19,11 @@
 #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 "ErrorInd.h"
+#include <osmocom/rspro/ConfigClientIdReq.h>
+#include <osmocom/rspro/ConfigClientIdRes.h>
+#include <osmocom/rspro/ConfigClientBankReq.h>
+#include <osmocom/rspro/ConfigClientBankRes.h>
+#include <osmocom/rspro/ErrorInd.h>
 #include <osmocom/rspro/SetAtrReq.h>
 #include <osmocom/rspro/SetAtrRes.h>
 #include <osmocom/rspro/TpduModemToCard.h>
@@ -45,8 +47,10 @@
 	RsproPDUchoice_PR_createMappingRes,
 	RsproPDUchoice_PR_removeMappingReq,
 	RsproPDUchoice_PR_removeMappingRes,
-	RsproPDUchoice_PR_configClientReq,
-	RsproPDUchoice_PR_configClientRes,
+	RsproPDUchoice_PR_configClientIdReq,
+	RsproPDUchoice_PR_configClientIdRes,
+	RsproPDUchoice_PR_configClientBankReq,
+	RsproPDUchoice_PR_configClientBankRes,
 	RsproPDUchoice_PR_errorInd,
 	RsproPDUchoice_PR_setAtrReq,
 	RsproPDUchoice_PR_setAtrRes,
@@ -70,8 +74,10 @@
 		CreateMappingRes_t	 createMappingRes;
 		RemoveMappingReq_t	 removeMappingReq;
 		RemoveMappingRes_t	 removeMappingRes;
-		ConfigClientReq_t	 configClientReq;
-		ConfigClientRes_t	 configClientRes;
+		ConfigClientIdReq_t	 configClientIdReq;
+		ConfigClientIdRes_t	 configClientIdRes;
+		ConfigClientBankReq_t	 configClientBankReq;
+		ConfigClientBankRes_t	 configClientBankRes;
 		ErrorInd_t	 errorInd;
 		SetAtrReq_t	 setAtrReq;
 		SetAtrRes_t	 setAtrRes;