embox

Форк
0
/
info_printer.c 
45 строк · 873.0 Байт
1
/**
2
 * @file
3
 * @brief
4
 *
5
 * @date 25.10.2011
6
 * @author Anton Kozlov
7
 */
8
#include <stdio.h>
9
#include <pnet/core/core.h>
10
#include <pnet/core/node.h>
11
#include <pnet/core/repo.h>
12
#include <pnet/pack/pnet_pack.h>
13
#include <net/skbuff.h>
14

15
static int stamp = 1;
16
static void print_pack(struct pnet_pack *pack) {
17
	struct sk_buff *skb;
18

19
	printf("%d: ", stamp++);
20
	switch(pack->dir) {
21
	case PNET_PACK_DIRECTION_RX:
22
		printf("RX");
23
		break;
24
	case PNET_PACK_DIRECTION_TX:
25
		printf("TX");
26
		break;
27
	};
28
	skb = (struct sk_buff *) pack->data;
29
	printf(": %d bytes\n", skb->len);
30
}
31

32
static int net_info_tx_hnd(struct pnet_pack *pack) {
33
	print_pack(pack);
34
	return NET_HND_FORWARD_DEFAULT;
35
}
36

37
static int net_info_rx_hnd(struct pnet_pack *pack) {
38
	print_pack(pack);
39
	return NET_HND_FORWARD_DEFAULT;
40
}
41

42
PNET_NODE_DEF("info printer", {
43
	.rx_hnd = net_info_rx_hnd,
44
	.tx_hnd = net_info_tx_hnd
45
});
46

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.