gsm: Verify the MNCC_VERSION of the BSC/MS and close the socket on mismatch
[lcr.git] / mncc.h
diff --git a/mncc.h b/mncc.h
index 9f0f7e3..d543b54 100644 (file)
--- a/mncc.h
+++ b/mncc.h
@@ -62,6 +62,8 @@
 #define GSM_TCH_FRAME_AMR      0x0303
 #define GSM_BAD_FRAME          0x03ff
 
 #define GSM_TCH_FRAME_AMR      0x0303
 #define GSM_BAD_FRAME          0x03ff
 
+#define MNCC_SOCKET_HELLO      0x0400
+
 #define GSM_MAX_FACILITY       128
 #define GSM_MAX_SSVERSION      128
 #define GSM_MAX_USERUSER       128
 #define GSM_MAX_FACILITY       128
 #define GSM_MAX_SSVERSION      128
 #define GSM_MAX_USERUSER       128
@@ -262,6 +264,17 @@ enum {
        GSM_MNCC_BCAP_RESERVED  = 7,
 };
 
        GSM_MNCC_BCAP_RESERVED  = 7,
 };
 
+enum {
+       GSM_LCHAN_NONE,
+       GSM_LCHAN_SDCCH,
+       GSM_LCHAN_TCH_F,
+       GSM_LCHAN_TCH_H,
+       GSM_LCHAN_UNKNOWN,
+       GSM_LCHAN_CCCH,
+       GSM_LCHAN_PDTCH,
+       _GSM_LCHAN_MAX
+};
+
 struct gsm_mncc {
        /* context based information */
        u_int32_t       msg_type;
 struct gsm_mncc {
        /* context based information */
        u_int32_t       msg_type;
@@ -315,3 +328,8 @@ struct gsm_mncc_rtp {
 };
 
 
 };
 
 
+#define MNCC_SOCK_VERSION      1
+struct gsm_mncc_hello {
+       u_int32_t       msg_type;
+       u_int32_t       version;
+};