1 /* Copyright (C) 2007-2008 The Android Open Source Project 2 ** 3 ** This software is licensed under the terms of the GNU General Public 4 ** License version 2, as published by the Free Software Foundation, and 5 ** may be copied, distributed, and modified under those terms. 6 ** 7 ** This program is distributed in the hope that it will be useful, 8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 ** GNU General Public License for more details. 11 */ 12 #ifndef _REMOTE_CALL_H 13 #define _REMOTE_CALL_H 14 15 #include "sms.h" 16 17 /* convert a base console port into a remote phone number, -1 on error */ 18 extern int remote_number_from_port( int port ); 19 20 /* convert a remote phone number into a remote console port, -1 on error */ 21 extern int remote_number_to_port( int number ); 22 23 extern int remote_number_string_to_port( const char* number ); 24 25 typedef void (*RemoteResultFunc)( void* opaque, int success ); 26 27 typedef enum { 28 REMOTE_CALL_DIAL = 0, 29 REMOTE_CALL_BUSY, 30 REMOTE_CALL_HANGUP, 31 REMOTE_CALL_HOLD, 32 REMOTE_CALL_ACCEPT, 33 REMOTE_CALL_SMS 34 } RemoteCallType; 35 36 /* call this function when you need to dial a remote voice call. 37 * this will try to connect to a remote emulator. the result function 38 * is called to indicate success or failure after some time. 39 * 40 * returns 0 if the number is to a remote phone, or -1 otherwise 41 */ 42 extern int remote_call_dial( const char* to_number, 43 int from_port, 44 RemoteResultFunc result_func, 45 void* result_opaque ); 46 47 /* call this function to send a SMS to a remote emulator */ 48 extern int remote_call_sms( const char* number, int from_port, SmsPDU pdu ); 49 50 /* call this function to indicate that you're busy to a remote caller */ 51 extern void remote_call_other( const char* to_number, int from_port, RemoteCallType type ); 52 53 extern void remote_call_cancel( const char* to_number, int from_port ); 54 55 #endif /* _REMOTE_CALL_H */ 56