inter-BSC HO: neighbor_ident API: drop 9bit BSIC

9-bit BSIC exist in the 3GPP specs, but we don't use them anywhere. Rather
remove that choice from the API and UI.

Change-Id: I29b92f47da2636d3a19f073755f9382fa98f9010
diff --git a/tests/handover/neighbor_ident_test.c b/tests/handover/neighbor_ident_test.c
index b67219c..4eddd4a 100644
--- a/tests/handover/neighbor_ident_test.c
+++ b/tests/handover/neighbor_ident_test.c
@@ -30,13 +30,12 @@
 
 struct neighbor_ident_list *nil;
 
-static const struct neighbor_ident_key *k(int from_bts, uint16_t arfcn, enum bsic_kind kind, uint16_t bsic)
+static const struct neighbor_ident_key *k(int from_bts, uint16_t arfcn, uint8_t bsic)
 {
 	static struct neighbor_ident_key key;
 	key = (struct neighbor_ident_key){
 		.from_bts = from_bts,
 		.arfcn = arfcn,
-		.bsic_kind = kind,
 		.bsic = bsic,
 	};
 	return &key;
@@ -187,61 +186,54 @@
 
 	printf("\n--- testing NULL neighbor_ident_list\n");
 	nil = NULL;
-	check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, -ENOMEM);
-	check_get(k(0, 1, BSIC_6BIT, 2), false);
-	check_del(k(0, 1, BSIC_6BIT, 2), false);
+	check_add(k(0, 1, 2), &cgi1, -ENOMEM);
+	check_get(k(0, 1, 2), false);
+	check_del(k(0, 1, 2), false);
 
 	printf("\n--- adding entries, test that no two identical entries are added\n");
 	nil = neighbor_ident_init(ctx);
-	check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, 1);
-	check_get(k(0, 1, BSIC_6BIT, 2), true);
-	check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, 1);
-	check_add(k(0, 1, BSIC_6BIT, 2), &cgi2, 2);
-	check_add(k(0, 1, BSIC_6BIT, 2), &cgi2, 2);
-	check_del(k(0, 1, BSIC_6BIT, 2), true);
+	check_add(k(0, 1, 2), &cgi1, 1);
+	check_get(k(0, 1, 2), true);
+	check_add(k(0, 1, 2), &cgi1, 1);
+	check_add(k(0, 1, 2), &cgi2, 2);
+	check_add(k(0, 1, 2), &cgi2, 2);
+	check_del(k(0, 1, 2), true);
 
 	printf("\n--- Cannot mix cell identifier types for one entry\n");
-	check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, 1);
-	check_add(k(0, 1, BSIC_6BIT, 2), &lac1, -EINVAL);
-	check_del(k(0, 1, BSIC_6BIT, 2), true);
+	check_add(k(0, 1, 2), &cgi1, 1);
+	check_add(k(0, 1, 2), &lac1, -EINVAL);
+	check_del(k(0, 1, 2), true);
 	neighbor_ident_free(nil);
 
 	printf("\n--- BTS matching: specific BTS is stronger\n");
 	nil = neighbor_ident_init(ctx);
-	check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2), &lac1, 1);
-	check_add(k(3, 1, BSIC_6BIT, 2), &lac2, 2);
-	check_get(k(2, 1, BSIC_6BIT, 2), true);
-	check_get(k(3, 1, BSIC_6BIT, 2), true);
-	check_get(k(4, 1, BSIC_6BIT, 2), true);
-	check_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2), true);
+	check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1, 1);
+	check_add(k(3, 1, 2), &lac2, 2);
+	check_get(k(2, 1, 2), true);
+	check_get(k(3, 1, 2), true);
+	check_get(k(4, 1, 2), true);
+	check_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), true);
 	neighbor_ident_free(nil);
 
 	printf("\n--- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker\n");
 	nil = neighbor_ident_init(ctx);
-	check_add(k(0, 1, BSIC_NONE, 0), &cgi1, 1);
-	check_add(k(0, 1, BSIC_6BIT, 2), &lac1, 1);
-	check_add(k(0, 1, BSIC_9BIT, 2), &lac2, 2);
-	check_get(k(0, 1, BSIC_6BIT, 2), true);
-	check_get(k(0, 1, BSIC_9BIT, 2), true);
-	printf("--- wildcard matches both 6bit and 9bit BSIC regardless:\n");
-	check_get(k(0, 1, BSIC_6BIT, 23), true);
-	check_get(k(0, 1, BSIC_9BIT, 23), true);
+	check_add(k(0, 1, BSIC_ANY), &cgi1, 1);
+	check_add(k(0, 1, 2), &lac1, 1);
+	check_add(k(0, 1, 2), &lac2, 2);
+	check_get(k(0, 1, 2), true);
+	check_get(k(0, 1, 2), true);
 	neighbor_ident_free(nil);
 
 	printf("\n--- Value ranges\n");
 	nil = neighbor_ident_init(ctx);
-	check_add(k(0, 6, BSIC_6BIT, 1 << 6), &lac1, -ERANGE);
-	check_add(k(0, 9, BSIC_9BIT, 1 << 9), &lac1, -ERANGE);
-	check_add(k(0, 6, BSIC_6BIT, -1), &lac1, -ERANGE);
-	check_add(k(0, 9, BSIC_9BIT, -1), &lac1, -ERANGE);
-	check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_NONE, 1), &cgi2, -ERANGE);
-	check_add(k(256, 1, BSIC_NONE, 1), &cgi2, -ERANGE);
-	check_add(k(0, 0, BSIC_NONE, 0), &cgi1, 1);
-	check_add(k(255, 65535, BSIC_NONE, 65535), &lac1, 1);
-	check_add(k(0, 0, BSIC_6BIT, 0), &cgi2, 2);
-	check_add(k(255, 65535, BSIC_6BIT, 0x3f), &lac2, 2);
-	check_add(k(0, 0, BSIC_9BIT, 0), &cgi1, 1);
-	check_add(k(255, 65535, BSIC_9BIT, 0x1ff), &cgi2, 2);
+	check_add(k(0, 6, 1 << 6), &lac1, -ERANGE);
+	check_add(k(0, 6, BSIC_ANY - 1), &lac1, -ERANGE);
+	check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2, -ERANGE);
+	check_add(k(256, 1, BSIC_ANY), &cgi2, -ERANGE);
+	check_add(k(0, 0, BSIC_ANY), &cgi1, 1);
+	check_add(k(255, 65535, BSIC_ANY), &lac1, 1);
+	check_add(k(0, 0, 0), &cgi2, 2);
+	check_add(k(255, 65535, 0x3f), &lac2, 2);
 
 	neighbor_ident_free(nil);
 
@@ -262,9 +254,9 @@
 
 		nil = neighbor_ident_init(ctx);
 
-		i = neighbor_ident_add(nil, k(0, 1, BSIC_6BIT, 2), &a);
+		i = neighbor_ident_add(nil, k(0, 1, 2), &a);
 		printf("Added first cell identifier list (added %u) --> rc = %d\n", a.id_list_len, i);
-		i = neighbor_ident_add(nil, k(0, 1, BSIC_6BIT, 2), &b);
+		i = neighbor_ident_add(nil, k(0, 1, 2), &b);
 		printf("Added second cell identifier list (tried to add %u) --> rc = %d\n", b.id_list_len, i);
 		if (i != -ENOSPC)
 			printf("ERROR: expected rc=%d\n", -ENOSPC);
diff --git a/tests/handover/neighbor_ident_test.ok b/tests/handover/neighbor_ident_test.ok
index 280b6f2..961a33c 100644
--- a/tests/handover/neighbor_ident_test.ok
+++ b/tests/handover/neighbor_ident_test.ok
@@ -1,62 +1,62 @@
 
 --- testing NULL neighbor_ident_list
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=-ENOMEM, got -12
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=-ENOMEM, got -12
      (empty)
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 2)) --> NULL
-neighbor_ident_del(k(0, 1, BSIC_6BIT, 2)) --> nothing deleted
+neighbor_ident_get(k(0, 1, 2)) --> NULL
+neighbor_ident_del(k(0, 1, 2)) --> nothing deleted
      (empty)
 
 --- adding entries, test that no two identical entries are added
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1
   0: BTS 0 to ARFCN 1 BSIC 2
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(0, 1, 2)) --> entry returned
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1
   0: BTS 0 to ARFCN 1 BSIC 2
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2
   0: BTS 0 to ARFCN 1 BSIC 2
      cell_id_list cgi[2] = {
         0: 001-02-3-4
         1: 005-006-7-8
      }
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2
   0: BTS 0 to ARFCN 1 BSIC 2
      cell_id_list cgi[2] = {
         0: 001-02-3-4
         1: 005-006-7-8
      }
-neighbor_ident_del(k(0, 1, BSIC_6BIT, 2)) --> entry deleted
+neighbor_ident_del(k(0, 1, 2)) --> entry deleted
      (empty)
 
 --- Cannot mix cell identifier types for one entry
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1
   0: BTS 0 to ARFCN 1 BSIC 2
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &lac1) --> expect rc=-EINVAL, got -22
+neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=-EINVAL, got -22
   0: BTS 0 to ARFCN 1 BSIC 2
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
-neighbor_ident_del(k(0, 1, BSIC_6BIT, 2)) --> entry deleted
+neighbor_ident_del(k(0, 1, 2)) --> entry deleted
      (empty)
 
 --- BTS matching: specific BTS is stronger
-neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2), &lac1) --> expect rc=1, got 1
+neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1) --> expect rc=1, got 1
   0: BTS * to ARFCN 1 BSIC 2
      cell_id_list lac[1] = {
        0: 123
      }
-neighbor_ident_add(k(3, 1, BSIC_6BIT, 2), &lac2) --> expect rc=2, got 2
+neighbor_ident_add(k(3, 1, 2), &lac2) --> expect rc=2, got 2
   0: BTS * to ARFCN 1 BSIC 2
      cell_id_list lac[1] = {
        0: 123
@@ -66,31 +66,31 @@
        0: 456
        1: 789
      }
-neighbor_ident_get(k(2, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(2, 1, 2)) --> entry returned
      cell_id_list lac[1] = {
        0: 123
      }
-neighbor_ident_get(k(3, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(3, 1, 2)) --> entry returned
      cell_id_list lac[2] = {
        0: 456
        1: 789
      }
-neighbor_ident_get(k(4, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(4, 1, 2)) --> entry returned
      cell_id_list lac[1] = {
        0: 123
      }
-neighbor_ident_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2)) --> entry returned
      cell_id_list lac[1] = {
        0: 123
      }
 
 --- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker
-neighbor_ident_add(k(0, 1, BSIC_NONE, 0), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, BSIC_ANY), &cgi1) --> expect rc=1, got 1
   0: BTS 0 to ARFCN 1 (any BSIC)
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &lac1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=1, got 1
   0: BTS 0 to ARFCN 1 (any BSIC)
      cell_id_list cgi[1] = {
         0: 001-02-3-4
@@ -99,58 +99,46 @@
      cell_id_list lac[1] = {
        0: 123
      }
-neighbor_ident_add(k(0, 1, BSIC_9BIT, 2), &lac2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 1, 2), &lac2) --> expect rc=2, got 3
+ERROR
   0: BTS 0 to ARFCN 1 (any BSIC)
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
   1: BTS 0 to ARFCN 1 BSIC 2
-     cell_id_list lac[1] = {
+     cell_id_list lac[3] = {
        0: 123
+       1: 456
+       2: 789
      }
-  2: BTS 0 to ARFCN 1 BSIC 2(9bit)
-     cell_id_list lac[2] = {
-       0: 456
-       1: 789
-     }
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 2)) --> entry returned
-     cell_id_list lac[1] = {
+neighbor_ident_get(k(0, 1, 2)) --> entry returned
+     cell_id_list lac[3] = {
        0: 123
+       1: 456
+       2: 789
      }
-neighbor_ident_get(k(0, 1, BSIC_9BIT, 2)) --> entry returned
-     cell_id_list lac[2] = {
-       0: 456
-       1: 789
-     }
---- wildcard matches both 6bit and 9bit BSIC regardless:
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 23)) --> entry returned
-     cell_id_list cgi[1] = {
-        0: 001-02-3-4
-     }
-neighbor_ident_get(k(0, 1, BSIC_9BIT, 23)) --> entry returned
-     cell_id_list cgi[1] = {
-        0: 001-02-3-4
+neighbor_ident_get(k(0, 1, 2)) --> entry returned
+     cell_id_list lac[3] = {
+       0: 123
+       1: 456
+       2: 789
      }
 
 --- Value ranges
-neighbor_ident_add(k(0, 6, BSIC_6BIT, 1 << 6), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(0, 6, 1 << 6), &lac1) --> expect rc=-ERANGE, got -34
      (empty)
-neighbor_ident_add(k(0, 9, BSIC_9BIT, 1 << 9), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(0, 6, BSIC_ANY - 1), &lac1) --> expect rc=-ERANGE, got -34
      (empty)
-neighbor_ident_add(k(0, 6, BSIC_6BIT, -1), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34
      (empty)
-neighbor_ident_add(k(0, 9, BSIC_9BIT, -1), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(256, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34
      (empty)
-neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_NONE, 1), &cgi2) --> expect rc=-ERANGE, got -34
-     (empty)
-neighbor_ident_add(k(256, 1, BSIC_NONE, 1), &cgi2) --> expect rc=-ERANGE, got -34
-     (empty)
-neighbor_ident_add(k(0, 0, BSIC_NONE, 0), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 0, BSIC_ANY), &cgi1) --> expect rc=1, got 1
   0: BTS 0 to ARFCN 0 (any BSIC)
      cell_id_list cgi[1] = {
         0: 001-02-3-4
      }
-neighbor_ident_add(k(255, 65535, BSIC_NONE, 65535), &lac1) --> expect rc=1, got 1
+neighbor_ident_add(k(255, 65535, BSIC_ANY), &lac1) --> expect rc=1, got 1
   0: BTS 0 to ARFCN 0 (any BSIC)
      cell_id_list cgi[1] = {
         0: 001-02-3-4
@@ -159,7 +147,7 @@
      cell_id_list lac[1] = {
        0: 123
      }
-neighbor_ident_add(k(0, 0, BSIC_6BIT, 0), &cgi2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 0, 0), &cgi2) --> expect rc=2, got 2
   0: BTS 0 to ARFCN 0 (any BSIC)
      cell_id_list cgi[1] = {
         0: 001-02-3-4
@@ -173,7 +161,7 @@
         0: 001-02-3-4
         1: 005-006-7-8
      }
-neighbor_ident_add(k(255, 65535, BSIC_6BIT, 0x3f), &lac2) --> expect rc=2, got 2
+neighbor_ident_add(k(255, 65535, 0x3f), &lac2) --> expect rc=2, got 2
   0: BTS 0 to ARFCN 0 (any BSIC)
      cell_id_list cgi[1] = {
         0: 001-02-3-4
@@ -192,57 +180,6 @@
        0: 456
        1: 789
      }
-neighbor_ident_add(k(0, 0, BSIC_9BIT, 0), &cgi1) --> expect rc=1, got 1
-  0: BTS 0 to ARFCN 0 (any BSIC)
-     cell_id_list cgi[1] = {
-        0: 001-02-3-4
-     }
-  1: BTS 255 to ARFCN 65535 (any BSIC)
-     cell_id_list lac[1] = {
-       0: 123
-     }
-  2: BTS 0 to ARFCN 0 BSIC 0
-     cell_id_list cgi[2] = {
-        0: 001-02-3-4
-        1: 005-006-7-8
-     }
-  3: BTS 255 to ARFCN 65535 BSIC 63
-     cell_id_list lac[2] = {
-       0: 456
-       1: 789
-     }
-  4: BTS 0 to ARFCN 0 BSIC 0(9bit)
-     cell_id_list cgi[1] = {
-        0: 001-02-3-4
-     }
-neighbor_ident_add(k(255, 65535, BSIC_9BIT, 0x1ff), &cgi2) --> expect rc=2, got 2
-  0: BTS 0 to ARFCN 0 (any BSIC)
-     cell_id_list cgi[1] = {
-        0: 001-02-3-4
-     }
-  1: BTS 255 to ARFCN 65535 (any BSIC)
-     cell_id_list lac[1] = {
-       0: 123
-     }
-  2: BTS 0 to ARFCN 0 BSIC 0
-     cell_id_list cgi[2] = {
-        0: 001-02-3-4
-        1: 005-006-7-8
-     }
-  3: BTS 255 to ARFCN 65535 BSIC 63
-     cell_id_list lac[2] = {
-       0: 456
-       1: 789
-     }
-  4: BTS 0 to ARFCN 0 BSIC 0(9bit)
-     cell_id_list cgi[1] = {
-        0: 001-02-3-4
-     }
-  5: BTS 255 to ARFCN 65535 BSIC 511(9bit)
-     cell_id_list cgi[2] = {
-        0: 001-02-3-4
-        1: 005-006-7-8
-     }
 
 --- size limits
 Added first cell identifier list (added 127) --> rc = 127