view rvinterf/lowlevel/logsent.c @ 628:c2f2f7d78451

rvinterf: log sent GPF packets with the same decoding as received ones
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 01 Sep 2014 07:42:59 +0000
parents 2f285f20d617
children da9a36515da6
line wrap: on
line source

/*
 * This module implements the logging of sent packets
 */

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

static void
log_sent_gpf(pkt, pktlen)
	u_char *pkt;
{
	char buf[MAX_PKT_TO_TARGET*4+30];

	strcpy(buf, "Sent ");
	format_g23_packet(pkt, pktlen, buf + 5);
	output_line(buf);
}

static void
log_sent_other(pkt, pktlen)
	u_char *pkt;
{
	char buf[MAX_PKT_TO_TARGET*3+5];
	int i;
	char *dp;

	dp = buf;
	strcpy(dp, "Sent");
	dp += 4;
	for (i = 0; i < pktlen; i++) {
		sprintf(dp, " %02X", pkt[i]);
		dp += 3;
	}
	*dp = '\0';
	output_line(buf);
}

log_sent_packet(pkt, pktlen)
	u_char *pkt;
{
	if (pkt[0] == RVT_L23_HEADER)
		log_sent_gpf(pkt, pktlen);
	else
		log_sent_other(pkt, pktlen);
}