LCOV - code coverage report
Current view: top level - include/linux - if_arp.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 2 100.0 %
Date: 2014-04-07 Functions: 0 0 -
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  * INET         An implementation of the TCP/IP protocol suite for the LINUX
       3                 :            :  *              operating system.  INET is implemented using the  BSD Socket
       4                 :            :  *              interface as the means of communication with the user level.
       5                 :            :  *
       6                 :            :  *              Global definitions for the ARP (RFC 826) protocol.
       7                 :            :  *
       8                 :            :  * Version:     @(#)if_arp.h    1.0.1   04/16/93
       9                 :            :  *
      10                 :            :  * Authors:     Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
      11                 :            :  *              Portions taken from the KA9Q/NOS (v2.00m PA0GRI) source.
      12                 :            :  *              Ross Biro
      13                 :            :  *              Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
      14                 :            :  *              Florian La Roche,
      15                 :            :  *              Jonathan Layes <layes@loran.com>
      16                 :            :  *              Arnaldo Carvalho de Melo <acme@conectiva.com.br> ARPHRD_HWX25
      17                 :            :  *
      18                 :            :  *              This program is free software; you can redistribute it and/or
      19                 :            :  *              modify it under the terms of the GNU General Public License
      20                 :            :  *              as published by the Free Software Foundation; either version
      21                 :            :  *              2 of the License, or (at your option) any later version.
      22                 :            :  */
      23                 :            : #ifndef _LINUX_IF_ARP_H
      24                 :            : #define _LINUX_IF_ARP_H
      25                 :            : 
      26                 :            : #include <linux/skbuff.h>
      27                 :            : #include <uapi/linux/if_arp.h>
      28                 :            : 
      29                 :      10414 : static inline struct arphdr *arp_hdr(const struct sk_buff *skb)
      30                 :            : {
      31                 :            :         return (struct arphdr *)skb_network_header(skb);
      32                 :            : }
      33                 :            : 
      34                 :            : static inline int arp_hdr_len(struct net_device *dev)
      35                 :            : {
      36                 :            :         switch (dev->type) {
      37                 :            : #if IS_ENABLED(CONFIG_FIREWIRE_NET)
      38                 :            :         case ARPHRD_IEEE1394:
      39                 :            :                 /* ARP header, device address and 2 IP addresses */
      40                 :            :                 return sizeof(struct arphdr) + dev->addr_len + sizeof(u32) * 2;
      41                 :            : #endif
      42                 :            :         default:
      43                 :            :                 /* ARP header, plus 2 device addresses, plus 2 IP addresses. */
      44                 :       5665 :                 return sizeof(struct arphdr) + (dev->addr_len + sizeof(u32)) * 2;
      45                 :            :         }
      46                 :            : }
      47                 :            : #endif  /* _LINUX_IF_ARP_H */

Generated by: LCOV version 1.9