Support SlicingConfig for 5G Slicing Configuration

- add new HAL APIs getSlicingConfig() and getSlicingConfigResponse()
- create structs SlicingConfig, UrspRule, RouteSelectionDescriptor,
  RouteSelectionDescriptorParams, Nssais, and RejectedSliceInfo
- add SliceRejectionCause

Bug: 178075054
Test: run "atest VtsHalRadioV1_6TargetTest" and check the result for
      getSlicingConfig is PASSED
[3/13] PerInstance/RadioHidlTest_v1_6#getSlicingConfig/0_slot1: PASSED (15ms)

Change-Id: I5dc97d3c49d0bf4726975a5558360ebf9c09224b
Merged-In: I5dc97d3c49d0bf4726975a5558360ebf9c09224b
diff --git a/radio/1.6/IRadioResponse.hal b/radio/1.6/IRadioResponse.hal
index a1ad207..a4744e1 100644
--- a/radio/1.6/IRadioResponse.hal
+++ b/radio/1.6/IRadioResponse.hal
@@ -26,6 +26,7 @@
 import @1.6::RadioResponseInfo;
 import @1.6::SetupDataCallResult;
 import @1.6::SignalStrength;
+import @1.6::SlicingConfig;
 
 /**
  * Interface declaring response functions to solicited radio requests.
@@ -417,4 +418,17 @@
      *   RadioError:CANCELLED
      */
     oneway getCurrentCallsResponse_1_6(RadioResponseInfo info, vec<Call> calls);
+
+    /**
+     * @param info Response info struct containing response type, serial no. and error
+     * @param slicingConfig Current slicing configuration
+     *
+     * Valid errors returned:
+     *   RadioError:NONE
+     *   RadioError:RADIO_NOT_AVAILABLE
+     *   RadioError:INTERNAL_ERR
+     *   RadioError:MODEM_ERR
+     */
+    oneway getSlicingConfigResponse(RadioResponseInfo info,
+            SlicingConfig slicingConfig);
 };