Blame view

include/linux/icmp.h 1 KB
2874c5fd2   Thomas Gleixner   treewide: Replace...
1
  /* SPDX-License-Identifier: GPL-2.0-or-later */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2
3
4
5
6
7
8
9
10
11
  /*
   * INET		An implementation of the TCP/IP protocol suite for the LINUX
   *		operating system.  INET is implemented using the  BSD Socket
   *		interface as the means of communication with the user level.
   *
   *		Definitions for the ICMP protocol.
   *
   * Version:	@(#)icmp.h	1.0.3	04/28/93
   *
   * Author:	Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
12
13
14
   */
  #ifndef _LINUX_ICMP_H
  #define	_LINUX_ICMP_H
88c7664f1   Arnaldo Carvalho de Melo   [SK_BUFF]: Introd...
15
  #include <linux/skbuff.h>
607ca46e9   David Howells   UAPI: (Scripted) ...
16
  #include <uapi/linux/icmp.h>
eba75c587   Willem de Bruijn   icmp: support rfc...
17
  #include <uapi/linux/errqueue.h>
88c7664f1   Arnaldo Carvalho de Melo   [SK_BUFF]: Introd...
18
19
20
  
  static inline struct icmphdr *icmp_hdr(const struct sk_buff *skb)
  {
9c70220b7   Arnaldo Carvalho de Melo   [SK_BUFF]: Introd...
21
  	return (struct icmphdr *)skb_transport_header(skb);
88c7664f1   Arnaldo Carvalho de Melo   [SK_BUFF]: Introd...
22
  }
15122464d   Matteo Croce   icmp: add helpers...
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  
  static inline bool icmp_is_err(int type)
  {
  	switch (type) {
  	case ICMP_DEST_UNREACH:
  	case ICMP_SOURCE_QUENCH:
  	case ICMP_REDIRECT:
  	case ICMP_TIME_EXCEEDED:
  	case ICMP_PARAMETERPROB:
  		return true;
  	}
  
  	return false;
  }
eba75c587   Willem de Bruijn   icmp: support rfc...
37
  void ip_icmp_error_rfc4884(const struct sk_buff *skb,
178c49d9f   Willem de Bruijn   icmp: prepare rfc...
38
39
  			   struct sock_ee_data_rfc4884 *out,
  			   int thlen, int off);
eba75c587   Willem de Bruijn   icmp: support rfc...
40

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
41
  #endif	/* _LINUX_ICMP_H */