mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
- remove unused variables - fix coding style of most function (Indentation, Tabulation, ..) - check the source code using cppcheck tool - change sprintf by snprintf
81 lines
2.1 KiB
C
81 lines
2.1 KiB
C
/*
|
|
* Copyright (C) 2019 iopsys Software Solutions AB
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 2.1
|
|
* as published by the Free Software Foundation
|
|
*
|
|
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
|
*
|
|
*/
|
|
|
|
#ifndef __DMDIAGNOSTICS_H__
|
|
#define __DMDIAGNOSTICS_H__
|
|
|
|
#include <libbbf_api/dmcommon.h>
|
|
|
|
#define DOWNLOAD_UPLOAD_PROTOCOL_HTTP "http://"
|
|
#define DOWNLOAD_UPLOAD_PROTOCOL_FTP "ftp://"
|
|
#define default_date_format "AAAA-MM-JJTHH:MM:SS.000000Z"
|
|
#define default_date_size sizeof(default_date_format) + 1
|
|
#define FTP_SIZE_RESPONSE "213"
|
|
#define FTP_PASV_RESPONSE "227 Entering Passive"
|
|
#define FTP_TRANSFERT_COMPLETE "226 Transfer"
|
|
#define FTP_RETR_REQUEST "RETR"
|
|
#define FTP_STOR_REQUEST "STOR"
|
|
|
|
struct download_diag
|
|
{
|
|
char romtime[default_date_size];
|
|
char bomtime[default_date_size];
|
|
char eomtime[default_date_size];
|
|
int test_bytes_received;
|
|
unsigned long total_bytes_received;
|
|
char tcpopenrequesttime[default_date_size];
|
|
char tcpopenresponsetime[default_date_size];
|
|
int tmp;
|
|
int first_data;
|
|
uint16_t ip_len;
|
|
uint32_t ack_seq;
|
|
uint32_t random_seq;
|
|
uint32_t get_ack;
|
|
uint32_t ftp_syn;
|
|
};
|
|
|
|
struct upload_diagnostic_stats
|
|
{
|
|
char romtime[default_date_size];
|
|
char bomtime[default_date_size];
|
|
char eomtime[default_date_size];
|
|
unsigned long total_bytes_sent;
|
|
char tcpopenrequesttime[default_date_size];
|
|
char tcpopenresponsetime[default_date_size];
|
|
int tmp;
|
|
int first_data;
|
|
uint16_t ip_len;
|
|
uint32_t ack_seq;
|
|
uint32_t random_seq;
|
|
uint32_t get_ack;
|
|
uint32_t ftp_syn;
|
|
};
|
|
|
|
|
|
enum download_diagnostic_protocol {
|
|
DOWNLOAD_DIAGNOSTIC_HTTP = 1,
|
|
DOWNLOAD_DIAGNOSTIC_FTP
|
|
};
|
|
|
|
enum diagnostic_type {
|
|
DOWNLOAD_DIAGNOSTIC = 1,
|
|
UPLOAD_DIAGNOSTIC
|
|
};
|
|
|
|
char *get_param_diagnostics(char *diag, char *option);
|
|
void set_param_diagnostics(char *diag, char *option, char *value);
|
|
void init_download_stats(void);
|
|
void init_upload_stats(void);
|
|
int extract_stats(char *dump_file, int proto, int diagnostic_type, char *protocol);
|
|
int get_default_gateway_device( char **gw );
|
|
int start_upload_download_diagnostic(int diagnostic_type);
|
|
|
|
#endif
|