Add basic SI2quater support

* support for sending arbitrary static SI2quater.
* vty interface for neightbor EARFCNs specific to SI2quater.
* dynamic generation of SI2quater messages.
* unit test for SI2quater messages.

Fixes: OS#1630
diff --git a/openbsc/include/openbsc/rest_octets.h b/openbsc/include/openbsc/rest_octets.h
index 9560b14..fd5ec6a 100644
--- a/openbsc/include/openbsc/rest_octets.h
+++ b/openbsc/include/openbsc/rest_octets.h
@@ -1,10 +1,15 @@
 #ifndef _REST_OCTETS_H
 #define _REST_OCTETS_H
 
+#include <stdbool.h>
 #include <openbsc/gsm_04_08.h>
+#include <osmocom/gsm/sysinfo.h>
 
 /* generate SI1 rest octets */
 int rest_octets_si1(uint8_t *data, uint8_t *nch_pos, int is1800_net);
+int rest_octets_si2quater(uint8_t *data,
+			  const struct osmo_earfcn_si2q *e, bool uarfcn,
+			  bool earfcn);
 
 struct gsm48_si_selection_params {
 	uint16_t penalty_time:5,