1/* 2 * Copyright 2006-2010, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Axel D��rfler, axeld@pinc-software.de 7 */ 8#ifndef DOMAINS_H 9#define DOMAINS_H 10 11 12#include <lock.h> 13#include <util/list.h> 14#include <util/DoublyLinkedList.h> 15 16#include "routes.h" 17 18 19struct net_device_interface; 20 21 22struct net_domain_private : net_domain, 23 DoublyLinkedListLinkImpl<net_domain_private> { 24 recursive_lock lock; 25 26 RouteList routes; 27 RouteInfoList route_infos; 28}; 29 30 31net_domain* get_domain(int family); 32status_t register_domain(int family, const char* name, 33 struct net_protocol_module_info* module, 34 struct net_address_module_info* addressModule, net_domain* *_domain); 35status_t unregister_domain(net_domain* domain); 36 37status_t init_domains(); 38status_t uninit_domains(); 39 40 41#endif // DOMAINS_H 42