cregit-Linux how code gets into the kernel

Release 4.7 include/uapi/linux/icmp.h

/*
 * 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>
 *
 *              This program is free software; you can redistribute it and/or
 *              modify it under the terms of the GNU General Public License
 *              as published by the Free Software Foundation; either version
 *              2 of the License, or (at your option) any later version.
 */
#ifndef _UAPI_LINUX_ICMP_H

#define _UAPI_LINUX_ICMP_H

#include <linux/types.h>


#define ICMP_ECHOREPLY		0	
/* Echo Reply                   */

#define ICMP_DEST_UNREACH	3	
/* Destination Unreachable      */

#define ICMP_SOURCE_QUENCH	4	
/* Source Quench                */

#define ICMP_REDIRECT		5	
/* Redirect (change route)      */

#define ICMP_ECHO		8	
/* Echo Request                 */

#define ICMP_TIME_EXCEEDED	11	
/* Time Exceeded                */

#define ICMP_PARAMETERPROB	12	
/* Parameter Problem            */

#define ICMP_TIMESTAMP		13	
/* Timestamp Request            */

#define ICMP_TIMESTAMPREPLY	14	
/* Timestamp Reply              */

#define ICMP_INFO_REQUEST	15	
/* Information Request          */

#define ICMP_INFO_REPLY		16	
/* Information Reply            */

#define ICMP_ADDRESS		17	
/* Address Mask Request         */

#define ICMP_ADDRESSREPLY	18	
/* Address Mask Reply           */

#define NR_ICMP_TYPES		18


/* Codes for UNREACH. */

#define ICMP_NET_UNREACH	0	
/* Network Unreachable          */

#define ICMP_HOST_UNREACH	1	
/* Host Unreachable             */

#define ICMP_PROT_UNREACH	2	
/* Protocol Unreachable         */

#define ICMP_PORT_UNREACH	3	
/* Port Unreachable             */

#define ICMP_FRAG_NEEDED	4	
/* Fragmentation Needed/DF set  */

#define ICMP_SR_FAILED		5	
/* Source Route failed          */

#define ICMP_NET_UNKNOWN	6

#define ICMP_HOST_UNKNOWN	7

#define ICMP_HOST_ISOLATED	8

#define ICMP_NET_ANO		9

#define ICMP_HOST_ANO		10

#define ICMP_NET_UNR_TOS	11

#define ICMP_HOST_UNR_TOS	12

#define ICMP_PKT_FILTERED	13	
/* Packet filtered */

#define ICMP_PREC_VIOLATION	14	
/* Precedence violation */

#define ICMP_PREC_CUTOFF	15	
/* Precedence cut off */

#define NR_ICMP_UNREACH		15	
/* instead of hardcoding immediate value */

/* Codes for REDIRECT. */

#define ICMP_REDIR_NET		0	
/* Redirect Net                 */

#define ICMP_REDIR_HOST		1	
/* Redirect Host                */

#define ICMP_REDIR_NETTOS	2	
/* Redirect Net for TOS         */

#define ICMP_REDIR_HOSTTOS	3	
/* Redirect Host for TOS        */

/* Codes for TIME_EXCEEDED. */

#define ICMP_EXC_TTL		0	
/* TTL count exceeded           */

#define ICMP_EXC_FRAGTIME	1	
/* Fragment Reass time exceeded */



struct icmphdr {
  
__u8		type;
  
__u8		code;
  
__sum16	checksum;
  union {
	struct {
		
__be16	id;
		
__be16	sequence;
	} 
echo;
	
__be32	gateway;
	struct {
		
__be16	__unused;
		
__be16	mtu;
	} 
frag;
  } 
un;
};


/*
 *      constants for (set|get)sockopt
 */


#define ICMP_FILTER			1


struct icmp_filter {
	
__u32		data;
};


#endif /* _UAPI_LINUX_ICMP_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
david howellsdavid howells250100.00%1100.00%
Total250100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}