Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/net/include/netif_interface.h

    r14f1db0 r849ed54  
    2828
    2929/** @addtogroup netif
    30  * @{
     30 *  @{
     31 */
     32
     33/** @file
     34 *  Network interface module interface.
     35 *  The same interface is used for standalone remote modules as well as for bundle network interface layer modules.
     36 *  The standalone remote modules have to be compiled with the netif_remote.c source file.
     37 *  The bundle network interface layer modules are compiled with the netif_nil_bundle.c source file and the choosen network interface layer implementation source file.
    3138 */
    3239
     
    3441#define __NET_NETIF_INTERFACE_H__
    3542
    36 #ifdef CONFIG_NETIF_NIL_BUNDLE
     43#include <ipc/services.h>
    3744
    38 #include <netif_local.h>
    39 #include <netif_nil_bundle.h>
    40 #include <packet/packet_server.h>
     45#include <net_messages.h>
     46#include <adt/measured_strings.h>
     47#include <packet/packet.h>
     48#include <net_device.h>
    4149
    42 #define netif_module_message    netif_nil_module_message
    43 #define netif_module_start      netif_nil_module_start
    44 #define netif_get_addr_req      netif_get_addr_req_local
    45 #define netif_probe_req         netif_probe_req_local
    46 #define netif_send_msg          netif_send_msg_local
    47 #define netif_start_req         netif_start_req_local
    48 #define netif_stop_req          netif_stop_req_local
    49 #define netif_stats_req         netif_stats_req_local
    50 #define netif_bind_service      netif_bind_service_local
     50/** @name Network interface module interface
     51 *  This interface is used by other modules.
     52 */
     53/*@{*/
    5154
    52 #else /* CONFIG_NETIF_NIL_BUNDLE */
     55/** Returns the device local hardware address.
     56 *  @param[in] netif_phone The network interface phone.
     57 *  @param[in] device_id The device identifier.
     58 *  @param[out] address The device local hardware address.
     59 *  @param[out] data The address data.
     60 *  @returns EOK on success.
     61 *  @returns EBADMEM if the address parameter is NULL.
     62 *  @returns ENOENT if there no such device.
     63 *  @returns Other error codes as defined for the netif_get_addr_message() function.
     64 */
     65extern int netif_get_addr_req(int netif_phone, device_id_t device_id, measured_string_ref * address, char ** data);
    5366
    54 #include <netif_remote.h>
    55 #include <packet/packet_client.h>
     67/** Probes the existence of the device.
     68 *  @param[in] netif_phone The network interface phone.
     69 *  @param[in] device_id The device identifier.
     70 *  @param[in] irq The device interrupt number.
     71 *  @param[in] io The device input/output address.
     72 *  @returns EOK on success.
     73 *  @returns Other errro codes as defined for the netif_probe_message().
     74 */
     75extern int netif_probe_req(int netif_phone, device_id_t device_id, int irq, int io);
    5676
    57 #define netif_module_message    netif_module_message_standalone
    58 #define netif_module_start      netif_module_start_standalone
    59 #define netif_get_addr_req      netif_get_addr_req_remote
    60 #define netif_probe_req         netif_probe_req_remote
    61 #define netif_send_msg          netif_send_msg_remote
    62 #define netif_start_req         netif_start_req_remote
    63 #define netif_stop_req          netif_stop_req_remote
    64 #define netif_stats_req         netif_stats_req_remote
    65 #define netif_bind_service      netif_bind_service_remote
     77/** Sends the packet queue.
     78 *  @param[in] netif_phone The network interface phone.
     79 *  @param[in] device_id The device identifier.
     80 *  @param[in] packet The packet queue.
     81 *  @param[in] sender The sending module service.
     82 *  @returns EOK on success.
     83 *  @returns Other error codes as defined for the generic_send_msg() function.
     84 */
     85extern int netif_send_msg(int netif_phone, device_id_t device_id, packet_t packet, services_t sender);
    6686
    67 #endif /* CONFIG_NETIF_NIL_BUNDLE */
     87/** Starts the device.
     88 *  @param[in] netif_phone The network interface phone.
     89 *  @param[in] device_id The device identifier.
     90 *  @returns EOK on success.
     91 *  @returns Other error codes as defined for the find_device() function.
     92 *  @returns Other error codes as defined for the netif_start_message() function.
     93 */
     94extern int netif_start_req(int netif_phone, device_id_t device_id);
     95
     96/** Stops the device.
     97 *  @param[in] netif_phone The network interface phone.
     98 *  @param[in] device_id The device identifier.
     99 *  @returns EOK on success.
     100 *  @returns Other error codes as defined for the find_device() function.
     101 *  @returns Other error codes as defined for the netif_stop_message() function.
     102 */
     103extern int netif_stop_req(int netif_phone, device_id_t device_id);
     104
     105/** Returns the device usage statistics.
     106 *  @param[in] netif_phone The network interface phone.
     107 *  @param[in] device_id The device identifier.
     108 *  @param[out] stats The device usage statistics.
     109 *  @returns EOK on success.
     110 */
     111extern int netif_stats_req(int netif_phone, device_id_t device_id, device_stats_ref stats);
     112
     113/** Creates bidirectional connection with the network interface module and registers the message receiver.
     114 *  @param[in] service The network interface module service.
     115 *  @param[in] device_id The device identifier.
     116 *  @param[in] me The requesting module service.
     117 *  @param[in] receiver The message receiver.
     118 *  @returns The phone of the needed service.
     119 *  @returns EOK on success.
     120 *  @returns Other error codes as defined for the bind_service() function.
     121 */
     122extern int netif_bind_service(services_t service, device_id_t device_id, services_t me, async_client_conn_t receiver);
     123
     124/*@}*/
    68125
    69126#endif
Note: See TracChangeset for help on using the changeset viewer.