1 /* 2 * Copyright (c) 2004 - Michael Richardson <mcr (at) xelerance.com> 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that: (1) source code distributions 6 * retain the above copyright notice and this paragraph in its entirety, (2) 7 * distributions including binary code include the above copyright notice and 8 * this paragraph in its entirety in the documentation or other materials 9 * provided with the distribution, and (3) all advertising materials mentioning 10 * features or use of this software display the following acknowledgement: 11 * ``This product includes software developed by the University of California, 12 * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 13 * the University nor the names of its contributors may be used to endorse 14 * or promote products derived from this software without specific prior 15 * written permission. 16 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 17 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 19 * 20 * Format and print bootp packets. 21 */ 22 23 #ifndef lint 24 static const char rcsid[] _U_ = 25 "@(#) $Header: /tcpdump/master/tcpdump/print-eap.c,v 1.3 2004/04/23 19:03:39 mcr Exp $"; 26 #endif 27 28 #ifdef HAVE_CONFIG_H 29 #include "config.h" 30 #endif 31 32 #include <tcpdump-stdinc.h> 33 34 #include <stdio.h> 35 #include <string.h> 36 37 #include "netdissect.h" 38 #include "addrtoname.h" 39 #include "extract.h" 40 #include "ether.h" 41 42 struct eap_packet_t { 43 unsigned char code; 44 unsigned char id; 45 unsigned char length[2]; 46 unsigned char data[1]; 47 }; 48 49 /* 50 * Print bootp requests 51 */ 52 void 53 eap_print(netdissect_options *ndo, 54 register const u_char *cp, 55 u_int length _U_) 56 { 57 const struct eap_packet_t *eap; 58 59 eap = (const struct eap_packet_t *)cp; 60 ND_TCHECK(eap->data); 61 62 ND_PRINT((ndo, "EAP code=%u id=%u length=%u ", 63 eap->code, eap->id, (eap->length[0]<<8) + eap->length[1])); 64 65 if (!ndo->ndo_vflag) 66 return; 67 68 trunc: 69 ; 70 } 71 72