xref: /haiku/src/add-ons/kernel/network/stack/stack_private.h (revision df50f7a9b4b0bbe77413d722875b0a346c61d527)
1c22d69bfSAxel Dörfler /*
2157da1cdSAxel Dörfler  * Copyright 2006-2007, Haiku, Inc. All Rights Reserved.
3c22d69bfSAxel Dörfler  * Distributed under the terms of the MIT License.
4c22d69bfSAxel Dörfler  *
5c22d69bfSAxel Dörfler  * Authors:
6c22d69bfSAxel Dörfler  *		Axel Dörfler, axeld@pinc-software.de
7c22d69bfSAxel Dörfler  */
8c22d69bfSAxel Dörfler #ifndef STACK_PRIVATE_H
9c22d69bfSAxel Dörfler #define STACK_PRIVATE_H
10c22d69bfSAxel Dörfler 
11c22d69bfSAxel Dörfler 
12c22d69bfSAxel Dörfler #include <net_buffer.h>
13c22d69bfSAxel Dörfler #include <net_datalink.h>
14c22d69bfSAxel Dörfler #include <net_datalink_protocol.h>
15c22d69bfSAxel Dörfler #include <net_protocol.h>
16c22d69bfSAxel Dörfler #include <net_socket.h>
17bfb45f71SHugo Santos #include <net_stack.h>
18*df50f7a9SIngo Weinhold #include <net_stack_interface.h>
19c22d69bfSAxel Dörfler 
20c22d69bfSAxel Dörfler 
21bfb45f71SHugo Santos extern net_stack_module_info gNetStackModule;
22c22d69bfSAxel Dörfler extern net_buffer_module_info gNetBufferModule;
23c22d69bfSAxel Dörfler extern net_socket_module_info gNetSocketModule;
24c22d69bfSAxel Dörfler extern net_datalink_module_info gNetDatalinkModule;
25c22d69bfSAxel Dörfler extern net_datalink_protocol_module_info gDatalinkInterfaceProtocolModule;
26*df50f7a9SIngo Weinhold extern net_stack_interface_module_info gNetStackInterfaceModule;
27c22d69bfSAxel Dörfler 
28c22d69bfSAxel Dörfler // stack.cpp
29c22d69bfSAxel Dörfler status_t register_domain_datalink_protocols(int family, int type, ...);
30c22d69bfSAxel Dörfler status_t register_domain_protocols(int family, int type, int protocol, ...);
31c22d69bfSAxel Dörfler status_t get_domain_protocols(net_socket *socket);
32c22d69bfSAxel Dörfler status_t put_domain_protocols(net_socket *socket);
33c22d69bfSAxel Dörfler status_t get_domain_datalink_protocols(net_interface *interface);
34c22d69bfSAxel Dörfler status_t put_domain_datalink_protocols(net_interface *interface);
35c22d69bfSAxel Dörfler 
36*df50f7a9SIngo Weinhold status_t init_stack();
37*df50f7a9SIngo Weinhold status_t uninit_stack();
38*df50f7a9SIngo Weinhold 
39c22d69bfSAxel Dörfler #endif	// STACK_PRIVATE_H
40