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