linux/net/ipv4/proc.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * 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.
 *
 *		This file implements the various access functions for the
 *		PROC file system.  It is mainly used for debugging and
 *		statistics.
 *
 * Authors:	Fred N. van Kempen, <[email protected]>
 *		Gerald J. Heim, <[email protected]>
 *		Fred Baumgarten, <[email protected]>
 *		Erik Schoenfelder, <[email protected]>
 *
 * Fixes:
 *		Alan Cox	:	UDP sockets show the rxqueue/txqueue
 *					using hint flag for the netinfo.
 *	Pauline Middelink	:	identd support
 *		Alan Cox	:	Make /proc safer.
 *	Erik Schoenfelder	:	/proc/net/snmp
 *		Alan Cox	:	Handle dead sockets properly.
 *	Gerhard Koerting	:	Show both timers
 *		Alan Cox	:	Allow inode to be NULL (kernel socket)
 *	Andi Kleen		:	Add support for open_requests and
 *					split functions for more readibility.
 *	Andi Kleen		:	Add support for /proc/net/netstat
 *	Arnaldo C. Melo		:	Convert to seq_file
 */
#include <linux/types.h>
#include <net/net_namespace.h>
#include <net/icmp.h>
#include <net/protocol.h>
#include <net/tcp.h>
#include <net/mptcp.h>
#include <net/proto_memory.h>
#include <net/udp.h>
#include <net/udplite.h>
#include <linux/bottom_half.h>
#include <linux/inetdevice.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/export.h>
#include <net/sock.h>
#include <net/raw.h>

#define TCPUDP_MIB_MAX

/*
 *	Report socket allocation statistics [[email protected]]
 */
static int sockstat_seq_show(struct seq_file *seq, void *v)
{}

/* snmp items */
static const struct snmp_mib snmp4_ipstats_list[] =;

/* Following items are displayed in /proc/net/netstat */
static const struct snmp_mib snmp4_ipextstats_list[] =;

static const struct {} icmpmibmap[] =;


static const struct snmp_mib snmp4_tcp_list[] =;

static const struct snmp_mib snmp4_udp_list[] =;

static const struct snmp_mib snmp4_net_list[] =;

static void icmpmsg_put_line(struct seq_file *seq, unsigned long *vals,
			     unsigned short *type, int count)
{}

static void icmpmsg_put(struct seq_file *seq)
{}

static void icmp_put(struct seq_file *seq)
{}

/*
 *	Called from the PROCfs module. This outputs /proc/net/snmp.
 */
static int snmp_seq_show_ipstats(struct seq_file *seq, void *v)
{}

static int snmp_seq_show_tcp_udp(struct seq_file *seq, void *v)
{}

static int snmp_seq_show(struct seq_file *seq, void *v)
{}

/*
 *	Output /proc/net/netstat
 */
static int netstat_seq_show(struct seq_file *seq, void *v)
{}

static __net_init int ip_proc_init_net(struct net *net)
{}

static __net_exit void ip_proc_exit_net(struct net *net)
{}

static __net_initdata struct pernet_operations ip_proc_ops =;

int __init ip_misc_proc_init(void)
{}