Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/il/ip/ip.h

    r88a1bb9 re526f08  
    2828
    2929/** @addtogroup ip
    30  * @{
     30 *  @{
    3131 */
    3232
    3333/** @file
    34  * IP module.
    35  */
    36 
    37 #ifndef NET_IP_H_
    38 #define NET_IP_H_
     34 *  IP module.
     35 */
     36
     37#ifndef __NET_IP_H__
     38#define __NET_IP_H__
    3939
    4040#include <fibril_synch.h>
     
    5050
    5151/** Type definition of the IP global data.
    52  * @see ip_globals
    53  */
    54 typedef struct ip_globals ip_globals_t;
     52 *  @see ip_globals
     53 */
     54typedef struct ip_globals       ip_globals_t;
    5555
    5656/** Type definition of the IP network interface specific data.
    57  * @see ip_netif
    58  */
    59 typedef struct ip_netif ip_netif_t;
     57 *  @see ip_netif
     58 */
     59typedef struct ip_netif ip_netif_t;
     60
     61/** Type definition of the IP network interface specific data pointer.
     62 *  @see ip_netif
     63 */
     64typedef ip_netif_t *    ip_netif_ref;
    6065
    6166/** Type definition of the IP protocol specific data.
    62  * @see ip_proto
    63  */
    64 typedef struct ip_proto ip_proto_t;
     67 *  @see ip_proto
     68 */
     69typedef struct ip_proto ip_proto_t;
     70
     71/** Type definition of the IP protocol specific data pointer.
     72 *  @see ip_proto
     73 */
     74typedef ip_proto_t *    ip_proto_ref;
    6575
    6676/** Type definition of the IP route specific data.
     
    6979typedef struct ip_route ip_route_t;
    7080
     81/** Type definition of the IP route specific data pointer.
     82 *  @see ip_route
     83 */
     84typedef ip_route_t *    ip_route_ref;
     85
    7186/** IP network interfaces.
    72  * Maps devices to the IP network interface specific data.
    73  * @see device.h
    74  */
    75 DEVICE_MAP_DECLARE(ip_netifs, ip_netif_t);
     87 *  Maps devices to the IP network interface specific data.
     88 *  @see device.h
     89 */
     90DEVICE_MAP_DECLARE(ip_netifs, ip_netif_t)
    7691
    7792/** IP registered protocols.
    78  * Maps protocols to the IP protocol specific data.
    79  * @see int_map.h
    80  */
    81 INT_MAP_DECLARE(ip_protos, ip_proto_t);
     93 *  Maps protocols to the IP protocol specific data.
     94 *  @see int_map.h
     95 */
     96INT_MAP_DECLARE(ip_protos, ip_proto_t)
    8297
    8398/** IP routing table.
    84  * @see generic_field.h
    85  */
    86 GENERIC_FIELD_DECLARE(ip_routes, ip_route_t);
    87 
    88 /** IP network interface specific data. */
    89 struct ip_netif {
    90         /** ARP module. Assigned if using ARP. */
    91         module_t *arp;
    92         /** Broadcast address. */
     99 *  @see generic_field.h
     100 */
     101GENERIC_FIELD_DECLARE(ip_routes, ip_route_t)
     102
     103/** IP network interface specific data.
     104 */
     105struct  ip_netif{
     106        /** ARP module.
     107         *  Assigned if using ARP.
     108         */
     109        module_ref arp;
     110        /** Broadcast address.
     111         */
    93112        in_addr_t broadcast;
    94         /** Device identifier. */
     113        /** Device identifier.
     114         */
    95115        device_id_t device_id;
    96         /** Indicates whether using DHCP. */
     116        /** Indicates whether using DHCP.
     117         */
    97118        int dhcp;
    98         /** IP version. */
     119        /** IP version.
     120         */
    99121        int ipv;
    100         /** Packet dimension. */
     122        /** Packet dimension.
     123         */
    101124        packet_dimension_t packet_dimension;
    102         /** Netif module phone. */
     125        /** Netif module phone.
     126         */
    103127        int phone;
    104         /** Routing table. */
     128        /** Routing table.
     129         */
    105130        ip_routes_t routes;
    106         /** Indicates whether IP routing is enabled. */
     131        /** Indicates whether IP routing is enabled.
     132         */
    107133        int routing;
    108         /** Netif module service. */
     134        /** Netif module service.
     135         */
    109136        services_t service;
    110         /** Device state. */
     137        /** Device state.
     138         */
    111139        device_state_t state;
    112140};
    113141
    114 /** IP protocol specific data. */
    115 struct ip_proto {
    116         /** Protocol module phone. */
     142/** IP protocol specific data.
     143 */
     144struct ip_proto{
     145        /** Protocol module phone.
     146         */
    117147        int phone;
    118         /** Protocol number. */
     148        /** Protocol number.
     149         */
    119150        int protocol;
    120         /** Protocol packet receiving function. */
     151        /** Protocol packet receiving function.
     152         */
    121153        tl_received_msg_t received_msg;
    122         /** Protocol module service. */
     154        /** Protocol module service.
     155         */
    123156        services_t service;
    124157};
    125158
    126 /** IP route specific data. */
    127 struct ip_route {
    128         /** Target address. */
     159/** IP route specific data.
     160 */
     161struct ip_route{
     162        /** Target address.
     163         */
    129164        in_addr_t address;
    130         /** Gateway. */
     165        /** Gateway.
     166         */
    131167        in_addr_t gateway;
    132         /** Parent netif. */
    133         ip_netif_t *netif;
    134         /** Target network mask. */
     168        /** Parent netif.
     169         */
     170        ip_netif_ref netif;
     171        /** Target network mask.
     172         */
    135173        in_addr_t netmask;
    136174};
    137175
    138 /** IP global data. */
    139 struct ip_globals {
    140         /** Default client connection function for support modules. */
     176/** IP global data.
     177 */
     178struct  ip_globals{
     179        /** Default client connection function for support modules.
     180         */
    141181        async_client_conn_t client_connection;
    142         /** Default gateway. */
     182        /** Default gateway.
     183         */
    143184        ip_route_t gateway;
    144         /** Safety lock. */
     185        /** Safety lock.
     186         */
    145187        fibril_rwlock_t lock;
    146         /** Known support modules. */
     188        /** Known support modules.
     189         */
    147190        modules_t modules;
    148         /** Networking module phone. */
     191        /** Networking module phone.
     192         */
    149193        int net_phone;
    150         /** Registered network interfaces. */
     194        /** Registered network interfaces.
     195         */
    151196        ip_netifs_t netifs;
    152         /** Netifs safeyt lock. */
     197        /** Netifs safeyt lock.
     198         */
    153199        fibril_rwlock_t netifs_lock;
    154         /** Packet counter. */
     200        /** Packet counter.
     201         */
    155202        uint16_t packet_counter;
    156         /** Registered protocols. */
     203        /** Registered protocols.
     204         */
    157205        ip_protos_t protos;
    158         /** Protocols safety lock. */
     206        /** Protocols safety lock.
     207         */
    159208        fibril_rwlock_t protos_lock;
    160209};
Note: See TracChangeset for help on using the changeset viewer.