diff rvinterf/tmsh/rftablechk.c @ 123:bc23c1cd30ae

fc-tmsh: rftw format consistency check implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Feb 2017 09:07:52 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rvinterf/tmsh/rftablechk.c	Sun Feb 19 09:07:52 2017 +0000
@@ -0,0 +1,51 @@
+/*
+ * This module contains the function that checks if the table format
+ * and rftw index match.
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <strings.h>
+#include <stdlib.h>
+#include "localtypes.h"
+#include "l1tm.h"
+#include "exitcodes.h"
+
+static struct table_match {
+	int	index;
+	char	*format;
+} matchlist[] = {
+	{RX_AGC_TABLE, "agc-table"},
+	{AFC_PARAMS, "afcparams"},
+	{RX_AGC_GLOBAL_PARAMS, "agc-global-params"},
+	{RX_IL_2_AGC_MAX, "il2agc"},
+	{RX_IL_2_AGC_PWR, "il2agc"},
+	{RX_IL_2_AGC_AV, "il2agc"},
+	{TX_LEVELS, "tx-levels"},
+	{TX_CAL_CHAN, "tx-calchan"},
+	{TX_CAL_TEMP, "tx-caltemp"},
+	{RX_CAL_CHAN, "rx-calchan"},
+	{RX_CAL_TEMP, "rx-caltemp"},
+	{RX_AGC_PARAMS, "rx-agc-params"},
+	{0, 0}
+};
+
+rftw_index_format_check(index, format)
+	char *format;
+{
+	struct table_match *tp;
+
+	if (!strcmp(format, "raw"))
+		return(0);
+	for (tp = matchlist; tp->index; tp++) {
+		if (tp->index == index) {
+			if (!strcmp(format, tp->format))
+				return(0);
+			printf("error: read table of type %s, expected %s\n",
+				format, tp->format);
+			return(ERROR_USAGE);
+		}
+	}
+	return(0);
+}