view rvinterf/lowlevel/logsent.c @ 948:d16222179c67

doc/Rvinterf-tools: document rvinterf -v changes
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 06 Jun 2023 23:17:10 +0000
parents fab04df64690
children
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"

extern int no_output, verbose;
extern FILE *logF;

extern void output_line();
extern void output_cont();
extern void output_cont_logpref();

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

	strcpy(buf, "Sent to ATI: ");
	safe_print_trace(pkt + 1, pktlen - 1, buf + 13);
	output_line(buf);
}

void
log_sent_packet(pkt, pktlen)
	u_char *pkt;
{
	if (no_output && !logF)
		return;
	switch (pkt[0]) {
	case RVT_L23_HEADER:
		format_gpf_packet(pkt, pktlen, "Sent ", output_line,
				  output_cont_logpref);
		return;
	case RVT_TM_HEADER:
		log_sent_tm(pkt, pktlen);
		return;
	case RVT_AT_HEADER:
		log_sent_ati(pkt, pktlen);
		return;
	case RVT_TCH_HEADER:
		if (verbose >= 2) {
			output_line("Sent TCH packet");
			packet_hex_dump(pkt, pktlen, output_cont_logpref);
		} else {
			tch_inc_count_tx();
		}
		return;
	default:
		output_line("Sent misc packet");
		packet_hex_dump(pkt, pktlen, output_cont);
	}
}