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
diff --git a/radio/1.5/IRadio.hal b/radio/1.5/IRadio.hal
index e41989c..52e579a 100644
--- a/radio/1.5/IRadio.hal
+++ b/radio/1.5/IRadio.hal
@@ -245,4 +245,22 @@
      * Response callback is IRadioResponse.getBarringInfoResponse()
      */
     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);
 };