亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? appldata_net_sum.c

?? 優龍2410linux2.6.8內核源代碼
?? C
字號:
/* * arch/s390/appldata/appldata_net_sum.c * * Data gathering module for Linux-VM Monitor Stream, Stage 1. * Collects accumulated network statistics (Packets received/transmitted, * dropped, errors, ...). * * Copyright (C) 2003 IBM Corporation, IBM Deutschland Entwicklung GmbH. * * Author: Gerald Schaefer <geraldsc@de.ibm.com> */#include <linux/config.h>#include <linux/module.h>#include <linux/init.h>#include <linux/slab.h>#include <linux/errno.h>#include <linux/kernel_stat.h>#include <linux/netdevice.h>#include "appldata.h"#define MY_PRINT_NAME	"appldata_net_sum"	/* for debug messages, etc. *//* * Network data * * This is accessed as binary data by z/VM. If changes to it can't be avoided, * the structure version (product ID, see appldata_base.c) needs to be changed * as well and all documentation and z/VM applications using it must be updated. * * The record layout is documented in the Linux for zSeries Device Drivers * book: * http://oss.software.ibm.com/developerworks/opensource/linux390/index.shtml */struct appldata_net_sum_data {	u64 timestamp;	u32 sync_count_1;	/* after VM collected the record data, */	u32 sync_count_2;	/* sync_count_1 and sync_count_2 should be the				   same. If not, the record has been updated on				   the Linux side while VM was collecting the				   (possibly corrupt) data */	u32 nr_interfaces;	/* nr. of network interfaces being monitored */	u32 padding;		/* next value is 64-bit aligned, so these */				/* 4 byte would be padded out by compiler */	u64 rx_packets;		/* total packets received        */	u64 tx_packets;		/* total packets transmitted     */	u64 rx_bytes;		/* total bytes received          */	u64 tx_bytes;		/* total bytes transmitted       */	u64 rx_errors;		/* bad packets received          */	u64 tx_errors;		/* packet transmit problems      */	u64 rx_dropped;		/* no space in linux buffers     */	u64 tx_dropped;		/* no space available in linux   */	u64 collisions;		/* collisions while transmitting */} appldata_net_sum_data;static inline void appldata_print_debug(struct appldata_net_sum_data *net_data){	P_DEBUG("--- NET - RECORD ---\n");	P_DEBUG("nr_interfaces = %u\n", net_data->nr_interfaces);	P_DEBUG("rx_packets    = %8lu\n", net_data->rx_packets);	P_DEBUG("tx_packets    = %8lu\n", net_data->tx_packets);	P_DEBUG("rx_bytes      = %8lu\n", net_data->rx_bytes);	P_DEBUG("tx_bytes      = %8lu\n", net_data->tx_bytes);	P_DEBUG("rx_errors     = %8lu\n", net_data->rx_errors);	P_DEBUG("tx_errors     = %8lu\n", net_data->tx_errors);	P_DEBUG("rx_dropped    = %8lu\n", net_data->rx_dropped);	P_DEBUG("tx_dropped    = %8lu\n", net_data->tx_dropped);	P_DEBUG("collisions    = %8lu\n", net_data->collisions);	P_DEBUG("sync_count_1 = %u\n", net_data->sync_count_1);	P_DEBUG("sync_count_2 = %u\n", net_data->sync_count_2);	P_DEBUG("timestamp    = %lX\n", net_data->timestamp);}/* * appldata_get_net_sum_data() * * gather accumulated network statistics */static void appldata_get_net_sum_data(void *data){	int i;	struct appldata_net_sum_data *net_data;	struct net_device *dev;	struct net_device_stats *stats;	unsigned long rx_packets, tx_packets, rx_bytes, tx_bytes, rx_errors,			tx_errors, rx_dropped, tx_dropped, collisions;	net_data = data;	net_data->sync_count_1++;	i = 0;	rx_packets = 0;	tx_packets = 0;	rx_bytes   = 0;	tx_bytes   = 0;	rx_errors  = 0;	tx_errors  = 0;	rx_dropped = 0;	tx_dropped = 0;	collisions = 0;	read_lock(&dev_base_lock);	for (dev = dev_base; dev != NULL; dev = dev->next) {		if (dev->get_stats == NULL) {			continue;		}		stats = dev->get_stats(dev);		rx_packets += stats->rx_packets;		tx_packets += stats->tx_packets;		rx_bytes   += stats->rx_bytes;		tx_bytes   += stats->tx_bytes;		rx_errors  += stats->rx_errors;		tx_errors  += stats->tx_errors;		rx_dropped += stats->rx_dropped;		tx_dropped += stats->tx_dropped;		collisions += stats->collisions;		i++;	}	read_unlock(&dev_base_lock);	net_data->nr_interfaces = i;	net_data->rx_packets = rx_packets;	net_data->tx_packets = tx_packets;	net_data->rx_bytes   = rx_bytes;	net_data->tx_bytes   = tx_bytes;	net_data->rx_errors  = rx_errors;	net_data->tx_errors  = tx_errors;	net_data->rx_dropped = rx_dropped;	net_data->tx_dropped = tx_dropped;	net_data->collisions = collisions;	net_data->timestamp = get_clock();	net_data->sync_count_2++;#ifdef APPLDATA_DEBUG	appldata_print_debug(net_data);#endif}static struct appldata_ops ops = {	.ctl_nr    = CTL_APPLDATA_NET_SUM,	.name	   = "net_sum",	.record_nr = APPLDATA_RECORD_NET_SUM_ID,	.size	   = sizeof(struct appldata_net_sum_data),	.callback  = &appldata_get_net_sum_data,	.data      = &appldata_net_sum_data,	.owner     = THIS_MODULE,};/* * appldata_net_init() * * init data, register ops */static int __init appldata_net_init(void){	int rc;	P_DEBUG("sizeof(net) = %lu\n", sizeof(struct appldata_net_sum_data));	rc = appldata_register_ops(&ops);	if (rc != 0) {		P_ERROR("Error registering ops, rc = %i\n", rc);	} else {		P_DEBUG("%s-ops registered!\n", ops.name);	}	return rc;}/* * appldata_net_exit() * * unregister ops */static void __exit appldata_net_exit(void){	appldata_unregister_ops(&ops);	P_DEBUG("%s-ops unregistered!\n", ops.name);}module_init(appldata_net_init);module_exit(appldata_net_exit);MODULE_LICENSE("GPL");MODULE_AUTHOR("Gerald Schaefer");MODULE_DESCRIPTION("Linux-VM Monitor Stream, accumulated network statistics");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线欧美日韩精品| 国产成人午夜高潮毛片| 国产精品动漫网站| 国产日韩欧美精品综合| 久久久久久久免费视频了| 久久亚洲综合色一区二区三区| 日韩一区二区在线观看视频播放| 欧美日韩国产一级片| 欧美男人的天堂一二区| 911国产精品| 日韩亚洲欧美综合| 久久综合九色综合97_久久久 | 亚洲欧洲性图库| 国产精品久99| 亚洲另类一区二区| 午夜精品久久久| 免费高清在线视频一区·| 久久9热精品视频| 国产白丝网站精品污在线入口| 成人性视频网站| 在线观看免费亚洲| 欧美一区二区三区在线| 久久久99精品免费观看不卡| 中文字幕av一区二区三区免费看| 亚洲天堂2014| 蜜桃精品视频在线| 成人免费视频app| 欧美日韩亚州综合| 日韩欧美成人一区二区| 国产精品久久久久影院色老大| 亚洲精品视频在线| 国内精品免费在线观看| 色综合天天综合给合国产| 欧美日韩1区2区| 国产精品传媒在线| 亚洲成人av中文| 国产福利一区在线观看| 91激情在线视频| 久久久99精品久久| 日韩精品一二三区| 91麻豆自制传媒国产之光| 日韩一二在线观看| 一区二区三区四区在线| 国内成人自拍视频| 这里只有精品视频在线观看| 国产精品国产自产拍在线| 五月婷婷激情综合| 99精品黄色片免费大全| 日韩精品一区二区三区三区免费| 成人欧美一区二区三区白人 | 成人综合激情网| 88在线观看91蜜桃国自产| 国产精品久久一级| 麻豆国产91在线播放| 欧美性一级生活| 中文字幕一区三区| 国产精一品亚洲二区在线视频| 欧美最新大片在线看| 中文字幕一区二区三区在线不卡| 久久精品国产在热久久| 欧美乱熟臀69xxxxxx| 亚洲精品美腿丝袜| 91丨porny丨最新| 国产欧美一区二区精品秋霞影院| 免费成人在线影院| 91麻豆精品国产无毒不卡在线观看 | 大陆成人av片| 久久久久久**毛片大全| 高清beeg欧美| 久久久久久久av麻豆果冻| 麻豆传媒一区二区三区| 91麻豆精品国产91久久久久久| 亚洲午夜久久久久久久久电影院| 99久久er热在这里只有精品15| 国产视频一区在线播放| 国产综合久久久久久久久久久久| 91精品在线免费观看| 日韩有码一区二区三区| 欧美一区二区三区播放老司机 | 欧美一区二区三区精品| 天天综合天天做天天综合| 欧美日韩一区二区三区在线看| 一区二区三区国产精品| 欧美无人高清视频在线观看| 亚洲国产综合91精品麻豆| 欧美综合天天夜夜久久| 性做久久久久久免费观看欧美| 欧美另类变人与禽xxxxx| 偷拍一区二区三区四区| 日韩亚洲欧美综合| 国产成人免费av在线| 中文字幕一区二区三区四区不卡| 色综合久久久久综合体| 亚洲成a天堂v人片| 欧美videossexotv100| 国产电影精品久久禁18| 中文字幕亚洲在| 欧美日韩激情一区二区| 日韩av一级电影| 久久精品人人做人人爽人人| 北条麻妃一区二区三区| 伊人婷婷欧美激情| 日韩欧美一区二区在线视频| 国产精品原创巨作av| 亚洲色图在线视频| 欧美一级在线视频| 成人高清免费观看| 香蕉成人啪国产精品视频综合网| 精品美女一区二区三区| 99久久精品国产一区二区三区 | 国产精品久久久久久久岛一牛影视| 91色综合久久久久婷婷| 男女男精品视频| 国产精品国产三级国产普通话蜜臀| 欧美视频自拍偷拍| 粉嫩嫩av羞羞动漫久久久 | 日韩精品一区二区三区老鸭窝| 成人三级伦理片| 免费人成精品欧美精品| 亚洲三级在线观看| 久久午夜色播影院免费高清| 欧美三级视频在线观看| 粉嫩av一区二区三区在线播放| 午夜精品福利一区二区三区av | 亚洲图片激情小说| 精品美女在线观看| 欧美午夜精品理论片a级按摩| 国产一区二区女| 日韩av电影免费观看高清完整版 | 91丨九色丨蝌蚪丨老版| 精品亚洲国产成人av制服丝袜 | 久久精品国产亚洲aⅴ| 亚洲宅男天堂在线观看无病毒| 久久嫩草精品久久久精品| 欧美日韩国产一区| 色呦呦日韩精品| 成人免费视频视频| 丁香亚洲综合激情啪啪综合| 麻豆精品一区二区三区| 日韩成人一级大片| 午夜精品成人在线视频| 亚洲综合成人网| 最新久久zyz资源站| 久久精品亚洲乱码伦伦中文| 欧美成人三级在线| 日韩欧美精品在线视频| 555www色欧美视频| 91麻豆精品国产91久久久久| 欧美性高清videossexo| 欧美午夜视频网站| 日韩欧美色综合网站| 日韩欧美一级精品久久| 日韩一区二区三| 日韩小视频在线观看专区| 91精品国产色综合久久ai换脸 | 久久久美女艺术照精彩视频福利播放| 6080yy午夜一二三区久久| 欧美日韩国产高清一区二区三区 | 欧美zozo另类异族| 久久久精品日韩欧美| 久久精品人人爽人人爽| 久久久99精品免费观看| 中文字幕av一区二区三区高| 中文子幕无线码一区tr| 亚洲欧洲另类国产综合| 亚洲另类在线制服丝袜| 亚瑟在线精品视频| 久久99久久久欧美国产| 国产一区二区三区电影在线观看| 国产盗摄女厕一区二区三区| 成人蜜臀av电影| 日本韩国欧美三级| 91.成人天堂一区| 久久久久久久久久久久久夜| 国产精品久久毛片av大全日韩| 一区二区三区国产精品| 欧美aaa在线| 不卡的av在线播放| 欧美日韩一二区| 久久精品视频免费| 亚洲精品v日韩精品| 免费在线观看精品| 成人高清免费在线播放| 欧美日韩免费观看一区二区三区| 精品国产精品网麻豆系列| 中文字幕在线一区免费| 日韩制服丝袜av| 99视频精品免费视频| 欧美放荡的少妇| 国产精品嫩草影院av蜜臀| 亚洲成人你懂的| 成人福利视频在线| 欧美一二三四区在线| 中文字幕在线不卡一区| 久久精品噜噜噜成人88aⅴ| 91麻豆国产香蕉久久精品| 日韩美女视频在线| 一区二区三区美女| 国产成人精品一区二区三区网站观看| 欧美三区免费完整视频在线观看|