Changeset 89c57b6 in mainline for uspace/srv/net/il/ip/ip.h


Ignore:
Timestamp:
2011-04-13T14:45:41Z (14 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
88634420
Parents:
cefb126 (diff), 17279ead (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

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

    rcefb126 r89c57b6  
    2828
    2929/** @addtogroup ip
    30  *  @{
     30 * @{
    3131 */
    3232
    3333/** @file
    34  *  IP module.
     34 * IP module.
    3535 */
    3636
    37 #ifndef __NET_IP_H__
    38 #define __NET_IP_H__
     37#ifndef NET_IP_H_
     38#define NET_IP_H_
    3939
    4040#include <fibril_synch.h>
    41 #include <ipc/ipc.h>
    4241#include <ipc/services.h>
    43 
    44 #include <net_device.h>
    45 #include <inet.h>
     42#include <net/device.h>
     43#include <net/inet.h>
    4644#include <ip_interface.h>
    4745#include <adt/int_map.h>
     
    5048
    5149/** Type definition of the IP global data.
    52  *  @see ip_globals
     50 * @see ip_globals
    5351 */
    54 typedef struct ip_globals       ip_globals_t;
     52typedef struct ip_globals ip_globals_t;
    5553
    5654/** Type definition of the IP network interface specific data.
    57  *  @see ip_netif
     55 * @see ip_netif
    5856 */
    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;
     57typedef struct ip_netif ip_netif_t;
    6558
    6659/** Type definition of the IP protocol specific data.
    67  *  @see ip_proto
     60 * @see ip_proto
    6861 */
    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;
     62typedef struct ip_proto ip_proto_t;
    7563
    7664/** Type definition of the IP route specific data.
     
    7967typedef struct ip_route ip_route_t;
    8068
    81 /** Type definition of the IP route specific data pointer.
    82  *  @see ip_route
     69/** IP network interfaces.
     70 * Maps devices to the IP network interface specific data.
     71 * @see device.h
    8372 */
    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)
     73DEVICE_MAP_DECLARE(ip_netifs, ip_netif_t);
    9174
    9275/** IP registered protocols.
    93  *  Maps protocols to the IP protocol specific data.
    94  *  @see int_map.h
     76 * Maps protocols to the IP protocol specific data.
     77 * @see int_map.h
    9578 */
    96 INT_MAP_DECLARE(ip_protos, ip_proto_t)
     79INT_MAP_DECLARE(ip_protos, ip_proto_t);
    9780
    9881/** IP routing table.
    99  *  @see generic_field.h
     82 * @see generic_field.h
    10083 */
    101 GENERIC_FIELD_DECLARE(ip_routes, ip_route_t)
     84GENERIC_FIELD_DECLARE(ip_routes, ip_route_t);
    10285
    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          */
     86/** IP network interface specific data. */
     87struct ip_netif {
     88        /** ARP module. Assigned if using ARP. */
     89        module_t *arp;
     90        /** Broadcast address. */
    11291        in_addr_t broadcast;
    113         /** Device identifier.
    114          */
     92        /** Device identifier. */
    11593        device_id_t device_id;
    116         /** Indicates whether using DHCP.
    117          */
     94        /** Indicates whether using DHCP. */
    11895        int dhcp;
    119         /** IP version.
    120          */
     96        /** IP version. */
    12197        int ipv;
    122         /** Packet dimension.
    123          */
     98        /** Packet dimension. */
    12499        packet_dimension_t packet_dimension;
    125         /** Netif module phone.
    126          */
     100        /** Netif module phone. */
    127101        int phone;
    128         /** Routing table.
    129          */
     102        /** Routing table. */
    130103        ip_routes_t routes;
    131         /** Indicates whether IP routing is enabled.
    132          */
     104        /** Indicates whether IP routing is enabled. */
    133105        int routing;
    134         /** Netif module service.
    135          */
     106        /** Netif module service. */
    136107        services_t service;
    137         /** Device state.
    138          */
     108        /** Device state. */
    139109        device_state_t state;
    140110};
    141111
    142 /** IP protocol specific data.
    143  */
    144 struct ip_proto{
    145         /** Protocol module phone.
    146          */
     112/** IP protocol specific data. */
     113struct ip_proto {
     114        /** Protocol module phone. */
    147115        int phone;
    148         /** Protocol number.
    149          */
     116        /** Protocol number. */
    150117        int protocol;
    151         /** Protocol packet receiving function.
    152          */
     118        /** Protocol packet receiving function. */
    153119        tl_received_msg_t received_msg;
    154         /** Protocol module service.
    155          */
     120        /** Protocol module service. */
    156121        services_t service;
    157122};
    158123
    159 /** IP route specific data.
    160  */
    161 struct ip_route{
    162         /** Target address.
    163          */
     124/** IP route specific data. */
     125struct ip_route {
     126        /** Target address. */
    164127        in_addr_t address;
    165         /** Gateway.
    166          */
     128        /** Gateway. */
    167129        in_addr_t gateway;
    168         /** Parent netif.
    169          */
    170         ip_netif_ref netif;
    171         /** Target network mask.
    172          */
     130        /** Parent netif. */
     131        ip_netif_t *netif;
     132        /** Target network mask. */
    173133        in_addr_t netmask;
    174134};
    175135
    176 /** IP global data.
    177  */
    178 struct  ip_globals{
    179         /** Default client connection function for support modules.
    180          */
    181         async_client_conn_t client_connection;
    182         /** Default gateway.
    183          */
     136/** IP global data. */
     137struct ip_globals {
     138        /** Default gateway. */
    184139        ip_route_t gateway;
    185         /** Safety lock.
    186          */
     140        /** Safety lock. */
    187141        fibril_rwlock_t lock;
    188         /** Known support modules.
    189          */
     142        /** Known support modules. */
    190143        modules_t modules;
    191         /** Networking module phone.
    192          */
     144        /** Networking module phone. */
    193145        int net_phone;
    194         /** Registered network interfaces.
    195          */
     146        /** Registered network interfaces. */
    196147        ip_netifs_t netifs;
    197         /** Netifs safeyt lock.
    198          */
     148        /** Netifs safeyt lock. */
    199149        fibril_rwlock_t netifs_lock;
    200         /** Packet counter.
    201          */
     150        /** Packet counter. */
    202151        uint16_t packet_counter;
    203         /** Registered protocols.
    204          */
     152        /** Registered protocols. */
    205153        ip_protos_t protos;
    206         /** Protocols safety lock.
    207          */
     154        /** Protocols safety lock. */
    208155        fibril_rwlock_t protos_lock;
    209156};
Note: See TracChangeset for help on using the changeset viewer.