/* * Copyright (c) 2004 - Michael Richardson <mcr@xelerance.com> * * 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 the University of California, * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of * the University nor the names of its contributors may 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. * * Format and print bootp packets. */ #ifndef lint static const char rcsid[] _U_ = "@(#) $Header: /tcpdump/master/tcpdump/print-eap.c,v 1.3 2004/04/23 19:03:39 mcr Exp $"; #endif #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <tcpdump-stdinc.h> #include <stdio.h> #include <string.h> #include "netdissect.h" #include "addrtoname.h" #include "extract.h" #include "ether.h" struct eap_packet_t { unsigned char code; unsigned char id; unsigned char length[2]; unsigned char data[1]; }; /* * Print bootp requests */ void eap_print(netdissect_options *ndo, register const u_char *cp, u_int length _U_) { const struct eap_packet_t *eap; eap = (const struct eap_packet_t *)cp; ND_TCHECK(eap->data); ND_PRINT((ndo, "EAP code=%u id=%u length=%u ", eap->code, eap->id, (eap->length[0]<<8) + eap->length[1])); if (!ndo->ndo_vflag) return; trunc: ; }