view rvinterf/tmsh/audioresp.c @ 160:e4c98a2c1673

fc-tmsh: implemented proper handling of aul and aus responses
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 17 Mar 2017 07:49:12 +0000
parents 8fac4aaec230
children da6950e936bf
line wrap: on
line source

/*
 * In this module we are going to implement the handling of ETM_AUDIO responses.
 */

#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include "pktmux.h"
#include "limits.h"
#include "localtypes.h"
#include "etm.h"

extern u_char rvi_msg[];
extern int rvi_msg_len;

static void
aul_aus_response(op)
	char *op;
{
	char buf[80];

	if (rvi_msg_len != 6) {
		sprintf(buf, "%s response wrong length", op);
		print_etm_pkt_raw(buf);
		return;
	}
	if (rvi_msg[3])
		sprintf(buf, "%s error %u (0x%02X)", op,
			rvi_msg[3], rvi_msg[3]);
	else
		sprintf(buf, "%s OK", op);
	async_msg_output(buf);
}

static void
aur_response()
{
	print_etm_pkt_raw("aur response");
}

static void
auw_response()
{
	print_etm_pkt_raw("auw response");
}

void
etm_audio_msg_rx()
{
	switch (rvi_msg[4]) {
	case 'L':
		aul_aus_response("aul");
		return;
	case 'S':
		aul_aus_response("aus");
		return;
	case 'R':
		aur_response();
		return;
	case 'W':
		auw_response();
		return;
	default:
	unknown:
		print_etm_pkt_raw("ETM_AUDIO");
	}
}