wireshark/epan/timestamp.c
Preben Guldberg 0b538b3205 Allow specifying subsecond granularity with tshark -t
Implements suggestion in issue #18714.

Proposed syntax for setting subsecond precision is "tshark -t adoy.3" for
millisecond accuracy in output. Using a dot separator indicates the precision
of what follows the dot in the output.

The following tshark -t combinations are supported:

1. Specifying just the format with e.g. "-t a" and defaulting the precision.
2. Specifying both format and precision, with "-t ad.2" or "-t ad -t .2".
3. Specifying only the precision with "-t .6" and defaulting format.
4. Use "-t a." or even "-t ." to specify auto precision from trace.

The latter use case is particularly useful with wireshark/logray.

Using a dot like this avoids introducing a new command line option.
2023-03-31 08:15:28 +02:00

70 lines
1.3 KiB
C

/* timestamp.c
* Routines for timestamp type setting.
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "config.h"
#include "timestamp.h"
/* Init with an invalid value, so that "recent" in ui/gtk/menu.c can detect this
* and distinguish it from a command line value */
static ts_type timestamp_type = TS_NOT_SET;
static int timestamp_precision = TS_PREC_AUTO;
static ts_seconds_type timestamp_seconds_type = TS_SECONDS_NOT_SET;
ts_type timestamp_get_type(void)
{
return timestamp_type;
}
void timestamp_set_type(ts_type ts_t)
{
timestamp_type = ts_t;
}
int timestamp_get_precision(void)
{
return timestamp_precision;
}
void timestamp_set_precision(int tsp)
{
if (tsp == TS_PREC_NOT_SET)
timestamp_precision = TS_PREC_AUTO;
else
timestamp_precision = tsp;
}
ts_seconds_type timestamp_get_seconds_type(void)
{
return timestamp_seconds_type;
}
void timestamp_set_seconds_type(ts_seconds_type ts_t)
{
timestamp_seconds_type = ts_t;
}
/*
* Editor modelines - https://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/