source: mainline/uspace/lib/nic/include/nic_impl.h@ 22fb7ab

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 22fb7ab was 77ad86c, checked in by Martin Decky <martin@…>, 13 years ago

cstyle (no change in functionality)

  • Property mode set to 100644
File size: 4.2 KB
Line 
1/*
2 * Copyright (c) 2011 Radim Vansa
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * - The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/**
30 * @addtogroup libnic
31 * @{
32 */
33/**
34 * @file
35 * @brief Prototypes of default DDF NIC interface methods implementations
36 */
37
38#ifndef NIC_IMPL_H__
39#define NIC_IMPL_H__
40
41#include <assert.h>
42#include <nic/nic.h>
43#include <ddf/driver.h>
44
45/* Inclusion of this file is not prohibited, because drivers could want to
46 * inject some adaptation layer between the DDF call and NICF implementation */
47
48extern int nic_get_address_impl(ddf_fun_t *dev_fun, nic_address_t *address);
49extern int nic_send_frame_impl(ddf_fun_t *dev_fun, void *data, size_t size);
50extern int nic_callback_create_impl(ddf_fun_t *dev_fun);
51extern int nic_get_state_impl(ddf_fun_t *dev_fun, nic_device_state_t *state);
52extern int nic_set_state_impl(ddf_fun_t *dev_fun, nic_device_state_t state);
53extern int nic_get_stats_impl(ddf_fun_t *dev_fun, nic_device_stats_t *stats);
54extern int nic_unicast_get_mode_impl(ddf_fun_t *dev_fun,
55 nic_unicast_mode_t *, size_t, nic_address_t *, size_t *);
56extern int nic_unicast_set_mode_impl(ddf_fun_t *dev_fun,
57 nic_unicast_mode_t, const nic_address_t *, size_t);
58extern int nic_multicast_get_mode_impl(ddf_fun_t *dev_fun,
59 nic_multicast_mode_t *, size_t, nic_address_t *, size_t *);
60extern int nic_multicast_set_mode_impl(ddf_fun_t *dev_fun,
61 nic_multicast_mode_t, const nic_address_t *, size_t);
62extern int nic_broadcast_get_mode_impl(ddf_fun_t *, nic_broadcast_mode_t *);
63extern int nic_broadcast_set_mode_impl(ddf_fun_t *, nic_broadcast_mode_t);
64extern int nic_blocked_sources_get_impl(ddf_fun_t *,
65 size_t, nic_address_t *, size_t *);
66extern int nic_blocked_sources_set_impl(ddf_fun_t *, const nic_address_t *, size_t);
67extern int nic_vlan_get_mask_impl(ddf_fun_t *, nic_vlan_mask_t *);
68extern int nic_vlan_set_mask_impl(ddf_fun_t *, const nic_vlan_mask_t *);
69extern int nic_wol_virtue_add_impl(ddf_fun_t *dev_fun, nic_wv_type_t type,
70 const void *data, size_t length, nic_wv_id_t *new_id);
71extern int nic_wol_virtue_remove_impl(ddf_fun_t *dev_fun, nic_wv_id_t id);
72extern int nic_wol_virtue_probe_impl(ddf_fun_t *dev_fun, nic_wv_id_t id,
73 nic_wv_type_t *type, size_t max_length, void *data, size_t *length);
74extern int nic_wol_virtue_list_impl(ddf_fun_t *dev_fun, nic_wv_type_t type,
75 size_t max_count, nic_wv_id_t *id_list, size_t *id_count);
76extern int nic_wol_virtue_get_caps_impl(ddf_fun_t *, nic_wv_type_t, int *);
77extern int nic_poll_get_mode_impl(ddf_fun_t *,
78 nic_poll_mode_t *, struct timeval *);
79extern int nic_poll_set_mode_impl(ddf_fun_t *,
80 nic_poll_mode_t, const struct timeval *);
81extern int nic_poll_now_impl(ddf_fun_t *);
82
83extern void nic_default_handler_impl(ddf_fun_t *dev_fun,
84 ipc_callid_t callid, ipc_call_t *call);
85extern int nic_open_impl(ddf_fun_t *fun);
86extern void nic_close_impl(ddf_fun_t *fun);
87
88extern void nic_device_added_impl(ddf_dev_t *dev);
89
90#endif
91
92/** @}
93 */
Note: See TracBrowser for help on using the repository browser.