hal: avoid usage of extern functions and tables

If there is any difference in the signature of a function declared
as extern, it will not be reported by the compiler and may result
in unexpected results when executed.
All the API functions should be declared in a header file.

Change-Id: I89662e23da8118c3a9eac728b389498ed52e19c2
diff --git a/hal/voice.h b/hal/voice.h
index 761e0c9..76f9d0d 100644
--- a/hal/voice.h
+++ b/hal/voice.h
@@ -39,6 +39,7 @@
 struct str_parms;
 struct stream_in;
 struct stream_out;
+typedef int audio_usecase_t;
 
 struct call_state {
     int current;
@@ -68,6 +69,9 @@
     INCALL_REC_UPLINK_AND_DOWNLINK,
 };
 
+int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id);
+int voice_stop_usecase(struct audio_device *adev, audio_usecase_t usecase_id);
+
 int voice_start_call(struct audio_device *adev);
 int voice_stop_call(struct audio_device *adev);
 int voice_set_parameters(struct audio_device *adev, struct str_parms *parms);