
For now, printing of Sun RPC requests is disabled because we do not yet have the RPC header files. This should affect basically noone, as we do not have any RPC-based programs yet, for the same reason. Change-Id: Ie7818faaaacdc104d8b2c37a68866b4ce18247d6
76 lines
2.3 KiB
C
76 lines
2.3 KiB
C
/*
|
|
* Copyright (c) 2007
|
|
* paolo.abeni@email.it All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that: (1) source code distributions
|
|
* retain the above copyright notice and this paragraph in its entirety, (2)
|
|
* distributions including binary code include the above copyright notice and
|
|
* this paragraph in its entirety in the documentation or other materials
|
|
* provided with the distribution, and (3) all advertising materials mentioning
|
|
* features or use of this software display the following acknowledgement:
|
|
* ``This product includes software developed by Paolo Abeni.''
|
|
* The name of author may not be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
|
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
*/
|
|
|
|
#include <sys/cdefs.h>
|
|
#ifndef lint
|
|
__RCSID("$NetBSD: print-bt.c,v 1.4 2014/11/20 03:05:03 christos Exp $");
|
|
#endif
|
|
|
|
#define NETDISSECT_REWORKED
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include <tcpdump-stdinc.h>
|
|
|
|
#include "interface.h"
|
|
#include "extract.h"
|
|
|
|
#if defined(DLT_BLUETOOTH_HCI_H4_WITH_PHDR) && defined(HAVE_PCAP_BLUETOOTH_H)
|
|
#include <pcap/bluetooth.h>
|
|
|
|
#define BT_HDRLEN sizeof(pcap_bluetooth_h4_header)
|
|
/*
|
|
* This is the top level routine of the printer. 'p' points
|
|
* to the bluetooth header of the packet, 'h->ts' is the timestamp,
|
|
* 'h->len' is the length of the packet off the wire, and 'h->caplen'
|
|
* is the number of bytes actually captured.
|
|
*/
|
|
u_int
|
|
bt_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_char *p)
|
|
{
|
|
u_int length = h->len;
|
|
u_int caplen = h->caplen;
|
|
const pcap_bluetooth_h4_header* hdr = (const pcap_bluetooth_h4_header*)p;
|
|
|
|
if (caplen < BT_HDRLEN) {
|
|
ND_PRINT((ndo, "[|bt]"));
|
|
return (BT_HDRLEN);
|
|
}
|
|
caplen -= BT_HDRLEN;
|
|
length -= BT_HDRLEN;
|
|
p += BT_HDRLEN;
|
|
if (ndo->ndo_eflag)
|
|
ND_PRINT((ndo, "hci length %d, direction %s, ", length, (EXTRACT_32BITS(&hdr->direction)&0x1)?"in":"out"));
|
|
|
|
if (!ndo->ndo_suppress_default_print)
|
|
ND_DEFAULTPRINT(p, caplen);
|
|
|
|
return (BT_HDRLEN);
|
|
}
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Local Variables:
|
|
* c-style: whitesmith
|
|
* c-basic-offset: 8
|
|
* End:
|
|
*/
|