Lines Matching defs:call
197 ACallRec call;
524 static void amodem_free_call( AModem modem, AVoiceCall call );
540 ACall call = &vcall->call;
541 qemu_put_byte( f, call->dir );
542 qemu_put_byte( f, call->state );
543 qemu_put_byte( f, call->mode );
544 qemu_put_be32( f, call->multi );
545 qemu_put_buffer( f, (uint8_t *)call->number, A_CALL_NUMBER_MAX_SIZE+1 );
565 ACall call = &vcall->call;
566 call->dir = qemu_get_byte( f );
567 call->state = qemu_get_byte( f );
568 call->mode = qemu_get_byte( f );
569 call->multi = qemu_get_be32( f );
570 qemu_get_buffer( f, (uint8_t *)call->number, A_CALL_NUMBER_MAX_SIZE+1 );
814 return &modem->calls[index].call;
820 AVoiceCall call = NULL;
826 /* find a valid id for this call */
831 if ( modem->calls[nn].call.id == (id+1) ) {
839 call = modem->calls + count;
840 call->call.id = id + 1;
841 call->modem = modem;
845 return call;
850 amodem_free_call( AModem modem, AVoiceCall call )
854 if (call->timer) {
855 sys_timer_destroy( call->timer );
856 call->timer = NULL;
859 if (call->is_remote) {
860 remote_call_cancel( call->call.number, modem->base_port );
861 call->is_remote = 0;
865 if ( modem->calls + nn == call )
872 (modem->call_count - 1 - nn)*sizeof(*call) );
884 AVoiceCall call = modem->calls + nn;
885 if (call->call.id == id)
886 return call;
894 /* despite its name, this really tells the system that the call
904 ACall call = &vcall->call;
907 if (call == NULL)
910 call->dir = A_CALL_INBOUND;
911 call->state = A_CALL_INCOMING;
912 call->mode = A_CALL_VOICE;
913 call->multi = 0;
918 if (len >= sizeof(call->number))
919 len = sizeof(call->number)-1;
921 memcpy( call->number, number, len );
922 call->number[len] = 0;
938 if ( !strcmp(vcall->call.number, number) )
939 return &vcall->call;
952 acall_set_state( AVoiceCall call, ACallState state )
954 if (state != call->call.state)
956 if (call->is_remote)
958 const char* number = call->call.number;
959 int port = call->modem->base_port;
973 call->call.state = state;
1863 ACall call = &vcall->call;
1864 if (call->mode == A_CALL_VOICE)
1866 call->id, call->dir, call->state, call->mode,
1867 call->multi, call->number, 129 );
2071 ACall call = &vcall->call;
2073 switch (call->state) {
2075 call->state = A_CALL_ALERTING;
2078 if ( remote_call_dial( call->number,
2083 * emulator is not running, so simply destroy this call.
2097 call->state = A_CALL_ACTIVE;
2101 assert( 0 && "unreachable event call state" );
2124 ACall call = &vcall->call;
2127 if (call == NULL)
2131 call->dir = A_CALL_OUTBOUND;
2132 call->state = A_CALL_DIALING;
2133 call->mode = A_CALL_VOICE;
2134 call->multi = 0;
2140 if (len >= sizeof(call->number))
2141 len = sizeof(call->number)-1;
2145 memcpy( call->number, PHONE_PREFIX, 1 );
2146 memcpy( call->number+1, cmd, len );
2147 call->number[len+1] = 0;
2149 memcpy( call->number, PHONE_PREFIX, 4 );
2150 memcpy( call->number+4, cmd, len );
2151 call->number[len+4] = 0;
2153 memcpy( call->number, PHONE_PREFIX, 7 );
2154 memcpy( call->number+7, cmd, len );
2155 call->number[len+7] = 0;
2157 memcpy( call->number, cmd, len );
2158 call->number[len] = 0;
2162 if (amodem_is_emergency(modem, call->number)) {
2166 vcall->is_remote = (remote_number_string_to_port(call->number) > 0);
2182 ACall call = &vcall->call;
2185 if (call->state == A_CALL_INCOMING) {
2188 else if (call->state == A_CALL_ACTIVE) {
2193 if (call->state == A_CALL_INCOMING) {
2240 ACall call = &vcall->call;
2241 if (call->mode != A_CALL_VOICE)
2243 if (call->state == A_CALL_HELD ||
2244 call->state == A_CALL_WAITING ||
2245 call->state == A_CALL_INCOMING) {
2256 ACall call = &vcall->call;
2257 if (call->mode != A_CALL_VOICE)
2259 if (call->state == A_CALL_ACTIVE) {
2263 else if (call->state == A_CALL_HELD ||
2264 call->state == A_CALL_WAITING) {
2268 } else { /* release specific call */
2280 ACall call = &vcall->call;
2281 if (call->mode != A_CALL_VOICE)
2283 if (call->state == A_CALL_ACTIVE) {
2286 else if (call->state == A_CALL_HELD ||
2287 call->state == A_CALL_WAITING) {
2295 ACall call = &vcall->call;
2296 if (call->mode != A_CALL_VOICE)
2298 if (call->state == A_CALL_ACTIVE && call->id != id) {
2305 case '3': /* add a held call to the conversation */
2308 ACall call = &vcall->call;
2309 if (call->mode != A_CALL_VOICE)
2311 if (call->state == A_CALL_HELD) {
2321 ACall call = &vcall->call;
2322 if (call->mode != A_CALL_VOICE)
2324 if (call->state == A_CALL_HELD) {
2421 { "!D", NULL, handleDial }, /* the code says that success/error is ignored, the call state will
2436 { "A", NULL, handleAnswer }, /* answer the call */