cosmetic: move translation of vlr_ciph into msc_vlr_set_ciph_mode()

a_iface_tx_cipher_mode() is a bit too far away from the VLR to be handling its
ciphering enums. Instead, construct the gsm0808_encrypt_info in the
msc_vlr_set_ciph_mode() callback.

Greatly simplify the sanity checking code: a_iface_tx_cipher_mode() no longer
needs to re-verify the presence of the gsm0808_encrypt_info contents.

Change-Id: Id46f9a513b555d0a481f7124c9984c2b5b196b3e
diff --git a/include/osmocom/msc/a_iface.h b/include/osmocom/msc/a_iface.h
index f0da248..7417298 100644
--- a/include/osmocom/msc/a_iface.h
+++ b/include/osmocom/msc/a_iface.h
@@ -22,6 +22,7 @@
 
 #include <osmocom/msc/a_reset.h>
 #include <osmocom/msc/transaction.h>
+#include <osmocom/gsm/protocol/gsm_08_08.h>
 
 /* A struct to keep a context information about the BSCs we are associated with */
 struct bsc_context {
@@ -57,7 +58,7 @@
 
 /* Send Cipher mode command via A-interface */
 int a_iface_tx_cipher_mode(const struct gsm_subscriber_connection *conn,
-			   int cipher, const uint8_t *key, int len, int include_imeisv);
+			   struct gsm0808_encrypt_info *ei, int include_imeisv);
 
 /* Page a subscriber via A-interface */
 int a_iface_tx_paging(const char *imsi, uint32_t tmsi, uint16_t lac);