diff options
Diffstat (limited to 'pcap2tzsp_win32_vs.h')
-rw-r--r-- | pcap2tzsp_win32_vs.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/pcap2tzsp_win32_vs.h b/pcap2tzsp_win32_vs.h new file mode 100644 index 0000000..92d187e --- /dev/null +++ b/pcap2tzsp_win32_vs.h @@ -0,0 +1,73 @@ +/* + + Pcap2tzsp allows to capture ethernet trafic and send all headers + to a defined host using the TaZmen Sniffing Protocol (TZSP). + + Copyright (C) 2012 Ludovic Pouzenc <lpouzenc@gmail.com> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + + This file is part of Pcap2tzsp. See LICENCE file. +*/ + +#ifndef PCAP2TZSP_WIN32_VS_H_INCLUDED +#define PCAP2TZSP_WIN32_VS_H_INCLUDED + +/* Basics */ +#include <stdio.h> +#include <stdlib.h> +#include <stdint.h> /* Consider using msinttypes for Visual Studio */ +#include <signal.h> +#include <string.h> +#define my_snprintf sprintf_s /* snprintf "compatiblity" */ + +/* Packet capture stuff */ +#include <pcap.h> + +/* UDP stuff */ +#include <winsock2.h> +#include <ws2tcpip.h> + +/* Time management (for bwlimit) */ +#include <time.h> + +/* Args parsing and basename() for usage */ +#undef _UNICODE +#include <getopt.h> /* Consider using getopt4win for WIN32 */ + +/* Poor's men hand-written basename. +With calloc() and this is diffent from POSIX basename() */ +char * basename(const char *path) { + errno_t e; + size_t len1, len2; + char filename[256], ext[8]; + char *res=NULL; + + e=_splitpath_s(path, NULL, 0, NULL, 0, filename, 256, ext, 8); + if (e != 0) { + res=strdup(""); + } else { + len1=strlen(filename); + len2=strlen(ext); + res=calloc(len1+len2 + 1, sizeof(char)); + if ( res != NULL ) { + strcpy_s(res, len1+1, filename); + strcpy_s(res+len1, len2+1, ext); + } + } + return res; +} + +#endif // PCAP2TZSP_WIN32_VS_H_INCLUDED |