Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 : : /* 3 : : * INET An implementation of the TCP/IP protocol suite for the LINUX 4 : : * operating system. INET is implemented using the BSD Socket 5 : : * interface as the means of communication with the user level. 6 : : * 7 : : * Definitions for the ICMP protocol. 8 : : * 9 : : * Version: @(#)icmp.h 1.0.3 04/28/93 10 : : * 11 : : * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 12 : : */ 13 : : #ifndef _LINUX_ICMP_H 14 : : #define _LINUX_ICMP_H 15 : : 16 : : #include <linux/skbuff.h> 17 : : #include <uapi/linux/icmp.h> 18 : : 19 : 0 : static inline struct icmphdr *icmp_hdr(const struct sk_buff *skb) 20 : : { 21 [ # # # # ]: 0 : return (struct icmphdr *)skb_transport_header(skb); 22 : : } 23 : : 24 : 0 : static inline bool icmp_is_err(int type) 25 : : { 26 [ # # ]: 0 : switch (type) { 27 : : case ICMP_DEST_UNREACH: 28 : : case ICMP_SOURCE_QUENCH: 29 : : case ICMP_REDIRECT: 30 : : case ICMP_TIME_EXCEEDED: 31 : : case ICMP_PARAMETERPROB: 32 : : return true; 33 : : } 34 : : 35 : : return false; 36 : : } 37 : : 38 : : #endif /* _LINUX_ICMP_H */