Changes in uspace/srv/net/il/ip/ip.h [849ed54:e8199d77] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/il/ip/ip.h
r849ed54 re8199d77 28 28 29 29 /** @addtogroup ip 30 * 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * 34 * IP module. 35 35 */ 36 36 37 #ifndef __NET_IP_H__38 #define __NET_IP_H__37 #ifndef NET_IP_H_ 38 #define NET_IP_H_ 39 39 40 40 #include <fibril_synch.h> … … 42 42 #include <ipc/services.h> 43 43 44 #include <net _device.h>45 #include < inet.h>44 #include <net/device.h> 45 #include <net/inet.h> 46 46 #include <ip_interface.h> 47 47 #include <adt/int_map.h> … … 50 50 51 51 /** Type definition of the IP global data. 52 * 52 * @see ip_globals 53 53 */ 54 typedef struct ip_globals 54 typedef struct ip_globals ip_globals_t; 55 55 56 56 /** Type definition of the IP network interface specific data. 57 * 57 * @see ip_netif 58 58 */ 59 typedef struct ip_netif 59 typedef struct ip_netif ip_netif_t; 60 60 61 61 /** Type definition of the IP network interface specific data pointer. 62 * 62 * @see ip_netif 63 63 */ 64 typedef ip_netif_t * 64 typedef ip_netif_t *ip_netif_ref; 65 65 66 66 /** Type definition of the IP protocol specific data. 67 * 67 * @see ip_proto 68 68 */ 69 typedef struct ip_proto 69 typedef struct ip_proto ip_proto_t; 70 70 71 71 /** Type definition of the IP protocol specific data pointer. 72 * 72 * @see ip_proto 73 73 */ 74 typedef ip_proto_t * 74 typedef ip_proto_t *ip_proto_ref; 75 75 76 76 /** Type definition of the IP route specific data. … … 82 82 * @see ip_route 83 83 */ 84 typedef ip_route_t * 84 typedef ip_route_t *ip_route_ref; 85 85 86 86 /** IP network interfaces. 87 * 88 * 87 * Maps devices to the IP network interface specific data. 88 * @see device.h 89 89 */ 90 DEVICE_MAP_DECLARE(ip_netifs, ip_netif_t) 90 DEVICE_MAP_DECLARE(ip_netifs, ip_netif_t); 91 91 92 92 /** IP registered protocols. 93 * 94 * 93 * Maps protocols to the IP protocol specific data. 94 * @see int_map.h 95 95 */ 96 INT_MAP_DECLARE(ip_protos, ip_proto_t) 96 INT_MAP_DECLARE(ip_protos, ip_proto_t); 97 97 98 98 /** IP routing table. 99 * 99 * @see generic_field.h 100 100 */ 101 GENERIC_FIELD_DECLARE(ip_routes, ip_route_t) 101 GENERIC_FIELD_DECLARE(ip_routes, ip_route_t); 102 102 103 /** IP network interface specific data. 104 */ 105 struct ip_netif{ 106 /** ARP module. 107 * Assigned if using ARP. 108 */ 103 /** IP network interface specific data. */ 104 struct ip_netif { 105 /** ARP module. Assigned if using ARP. */ 109 106 module_ref arp; 110 /** Broadcast address. 111 */ 107 /** Broadcast address. */ 112 108 in_addr_t broadcast; 113 /** Device identifier. 114 */ 109 /** Device identifier. */ 115 110 device_id_t device_id; 116 /** Indicates whether using DHCP. 117 */ 111 /** Indicates whether using DHCP. */ 118 112 int dhcp; 119 /** IP version. 120 */ 113 /** IP version. */ 121 114 int ipv; 122 /** Packet dimension. 123 */ 115 /** Packet dimension. */ 124 116 packet_dimension_t packet_dimension; 125 /** Netif module phone. 126 */ 117 /** Netif module phone. */ 127 118 int phone; 128 /** Routing table. 129 */ 119 /** Routing table. */ 130 120 ip_routes_t routes; 131 /** Indicates whether IP routing is enabled. 132 */ 121 /** Indicates whether IP routing is enabled. */ 133 122 int routing; 134 /** Netif module service. 135 */ 123 /** Netif module service. */ 136 124 services_t service; 137 /** Device state. 138 */ 125 /** Device state. */ 139 126 device_state_t state; 140 127 }; 141 128 142 /** IP protocol specific data. 143 */ 144 struct ip_proto{ 145 /** Protocol module phone. 146 */ 129 /** IP protocol specific data. */ 130 struct ip_proto { 131 /** Protocol module phone. */ 147 132 int phone; 148 /** Protocol number. 149 */ 133 /** Protocol number. */ 150 134 int protocol; 151 /** Protocol packet receiving function. 152 */ 135 /** Protocol packet receiving function. */ 153 136 tl_received_msg_t received_msg; 154 /** Protocol module service. 155 */ 137 /** Protocol module service. */ 156 138 services_t service; 157 139 }; 158 140 159 /** IP route specific data. 160 */ 161 struct ip_route{ 162 /** Target address. 163 */ 141 /** IP route specific data. */ 142 struct ip_route { 143 /** Target address. */ 164 144 in_addr_t address; 165 /** Gateway. 166 */ 145 /** Gateway. */ 167 146 in_addr_t gateway; 168 /** Parent netif. 169 */ 147 /** Parent netif. */ 170 148 ip_netif_ref netif; 171 /** Target network mask. 172 */ 149 /** Target network mask. */ 173 150 in_addr_t netmask; 174 151 }; 175 152 176 /** IP global data. 177 */ 178 struct ip_globals{ 179 /** Default client connection function for support modules. 180 */ 153 /** IP global data. */ 154 struct ip_globals { 155 /** Default client connection function for support modules. */ 181 156 async_client_conn_t client_connection; 182 /** Default gateway. 183 */ 157 /** Default gateway. */ 184 158 ip_route_t gateway; 185 /** Safety lock. 186 */ 159 /** Safety lock. */ 187 160 fibril_rwlock_t lock; 188 /** Known support modules. 189 */ 161 /** Known support modules. */ 190 162 modules_t modules; 191 /** Networking module phone. 192 */ 163 /** Networking module phone. */ 193 164 int net_phone; 194 /** Registered network interfaces. 195 */ 165 /** Registered network interfaces. */ 196 166 ip_netifs_t netifs; 197 /** Netifs safeyt lock. 198 */ 167 /** Netifs safeyt lock. */ 199 168 fibril_rwlock_t netifs_lock; 200 /** Packet counter. 201 */ 169 /** Packet counter. */ 202 170 uint16_t packet_counter; 203 /** Registered protocols. 204 */ 171 /** Registered protocols. */ 205 172 ip_protos_t protos; 206 /** Protocols safety lock. 207 */ 173 /** Protocols safety lock. */ 208 174 fibril_rwlock_t protos_lock; 209 175 };
Note:
See TracChangeset
for help on using the changeset viewer.