Add Support for RPLMN to Voice and Data RegState

-Define RegistrationFailCause as an enum
-Combine voice and data reg state into a single struct
-Define a safe-union for AN-specific registration info

Bug: 73629308
Test: make && make VtsHalRadioV1_5TargetTest
      && make cf_x86_64_phone-userdebug

Change-Id: I43df3cffd4c55f2c5df8eaf0235772e5930dced5
Merged-In: I43df3cffd4c55f2c5df8eaf0235772e5930dced5
diff --git a/radio/1.5/IRadio.hal b/radio/1.5/IRadio.hal
index 22cc4e1..be6a727 100644
--- a/radio/1.5/IRadio.hal
+++ b/radio/1.5/IRadio.hal
@@ -249,6 +249,24 @@
     oneway getBarringInfo(int32_t serial);
 
     /**
+     * Request current voice registration state
+     *
+     * @param serial Serial number of request.
+     *
+     * Response function is IRadioResponse.getVoiceRegistrationStateResponse_1_5()
+     */
+    oneway getVoiceRegistrationState_1_5(int32_t serial);
+
+    /**
+     * Request current data registration state
+     *
+     * @param serial Serial number of request.
+     *
+     * Response function is IRadioResponse.getDataRegistrationStateResponse_1_5()
+     */
+    oneway getDataRegistrationState_1_5(int32_t serial);
+
+    /**
      * Requests that deactivates one category of the device personalization.
      *
      * @param serial Serial number of request.