2021-11-30 02:59:23 +00:00
|
|
|
/** @file
|
2019-06-27 18:19:53 +00:00
|
|
|
*
|
|
|
|
* Wiretap Library
|
|
|
|
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
|
|
|
|
*
|
|
|
|
* Support for candump log file format
|
|
|
|
* Copyright (c) 2019 by Maksim Salau <maksim.salau@gmail.com>
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef CANDUMP_PRIV_H__
|
|
|
|
#define CANDUMP_PRIV_H__
|
|
|
|
|
|
|
|
#include <gmodule.h>
|
|
|
|
#include <wiretap/wtap.h>
|
2019-06-27 18:20:02 +00:00
|
|
|
#include <wiretap/socketcan.h>
|
2019-06-27 18:19:53 +00:00
|
|
|
#include <epan/dissectors/packet-socketcan.h>
|
|
|
|
|
2019-07-12 12:54:40 +00:00
|
|
|
//#define CANDUMP_DEBUG
|
|
|
|
|
2019-06-27 18:19:53 +00:00
|
|
|
typedef struct {
|
|
|
|
guint8 length;
|
|
|
|
guint8 data[CANFD_MAX_DLEN];
|
|
|
|
} msg_data_t;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
nstime_t ts;
|
|
|
|
guint32 id;
|
|
|
|
gboolean is_fd;
|
|
|
|
guint8 flags;
|
|
|
|
msg_data_t data;
|
|
|
|
} msg_t;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
gint64 v0;
|
|
|
|
gint64 v1;
|
|
|
|
} token_t;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
wtap *tmp_file;
|
|
|
|
char *tmp_filename;
|
|
|
|
} candump_priv_t;
|
|
|
|
|
|
|
|
typedef struct {
|
2019-07-18 18:20:03 +00:00
|
|
|
gboolean is_msg_valid;
|
|
|
|
msg_t msg;
|
2019-06-27 18:19:53 +00:00
|
|
|
|
|
|
|
FILE_T fh;
|
2019-07-18 18:20:03 +00:00
|
|
|
guint64 file_bytes_read;
|
|
|
|
|
2019-06-27 18:19:53 +00:00
|
|
|
int err;
|
|
|
|
gchar *err_info;
|
|
|
|
gchar *parse_error;
|
|
|
|
|
|
|
|
token_t token;
|
|
|
|
} candump_state_t;
|
|
|
|
|
2019-07-18 18:20:03 +00:00
|
|
|
gboolean
|
|
|
|
run_candump_parser(candump_state_t *state, int *err, gchar **err_info);
|
2019-06-27 18:19:53 +00:00
|
|
|
|
2021-02-27 03:38:15 +00:00
|
|
|
#ifdef CANDUMP_DEBUG
|
|
|
|
#include <stdio.h>
|
|
|
|
#define candump_debug_printf(...) printf(__VA_ARGS__)
|
|
|
|
#else
|
|
|
|
#define candump_debug_printf(...) (void)0
|
2019-06-27 18:19:53 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* CANDUMP_PRIV_H__ */
|