1
0
mirror of https://github.com/pavel-odintsov/fastnetmon synced 2024-09-19 23:21:47 +02:00
fastnetmon-rewritten/fastnetmon_types.h

30 lines
888 B
C++

#ifndef _FASTNETMON_TYPES_H
#define _FASTNETMON_TYPES_H
// simplified packet struct for lightweight save into memory
class simple_packet {
public:
simple_packet() : sample_ratio(1), src_ip(0), dst_ip(0), source_port(0), destination_port(0), protocol(0), length(0), flags(0), number_of_packets(1) {
ts.tv_usec = 0;
ts.tv_sec = 0;
}
uint32_t sample_ratio;
uint32_t src_ip;
uint32_t dst_ip;
uint16_t source_port;
uint16_t destination_port;
unsigned int protocol;
unsigned int length;
unsigned int number_of_packets; /* for netflow */
uint8_t flags; /* tcp flags */
struct timeval ts;
};
typedef void (*process_packet_pointer)(simple_packet&);
// Poor way to use functions from main programm from plugins
#include <string>
int convert_string_to_integer(std::string line);
#endif