* First part of ICMP support: this is based on the work by Ivo Vachkov (GSoC

2007), and Yin Qiu (GSoC 2008). And even though I needed to rewrite pretty
  much all of it because of the countless bugs and problems it had, it still
  shares the same architectural problems of introducing a domain dependent
  error mechanism to the upper layers, and needing the
  net_buffer::network_header hack. This I will rework later.
* net_buffer's append_size(), and prepend_size() will now gracefully handle
  buffers without a data node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37647 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2010-07-21 12:00:27 +00:00
parent f6a57629c3
commit 1978fb81ee
8 changed files with 386 additions and 105 deletions
+6 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2006-2008, Haiku, Inc. All Rights Reserved.
* Copyright 2006-2010, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef NET_BUFFER_H
@@ -14,6 +14,7 @@
#define NET_BUFFER_MODULE_NAME "network/stack/buffer/v1"
typedef struct net_buffer {
struct list_link link;
@@ -36,7 +37,10 @@ typedef struct net_buffer {
uint32 flags;
uint32 size;
uint8 protocol;
// TODO: these two should go away again
uint8 hoplimit;
void * network_header;
} net_buffer;
struct ancillary_data_container;
@@ -98,4 +102,5 @@ struct net_buffer_module_info {
void (*dump)(net_buffer *buffer);
};
#endif // NET_BUFFER_H