source: libpacketdump/ @ bd6869b

Last change on this file since bd6869b was 4e65f42, checked in by Shane Alcock <salcock@…>, 16 years ago

Fixed segmentation faults when trace_destroy is called on a trace that wasn't successfully created
libdl is now checked for and only linked against if available (BSD's don't have a libdl)
Fixed the libpacketdump .so's to use libtrace's generic protocol headers as well as trace_ether_ntoa
Added missing check for strlcpy
Added a couple of #defines to various tools that needed them under FreeBSD
Removed some needless #includes from the libpacketdump .so's

  • Property mode set to 100644
File size: 498 bytes
1#include <netinet/in.h>
2#include <stdio.h>
3#include <inttypes.h>
4#include <dlfcn.h>
5#include "libpacketdump.h"
7extern "C"
8void decode(int link_type,char *packet,int len)
10        // POS
11        printf(" Legacy Framing:");
12        // take into account llc
13        if (len>=4) {
14                uint16_t type = htons(
15                                ((libtrace_pos *)packet)->ether_type);
16                printf(" %04x\n",type);
17                decode_next(packet+sizeof(libtrace_pos),
18                                len-sizeof(libtrace_pos),
19                                "eth",type);
20        }
21        else {
22                printf("[|Truncated]\n");
23                return;
24        }
25        return;
Note: See TracBrowser for help on using the repository browser.