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

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since b7fd2a0 was b7fd2a0, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 7 years ago

Use errno_t in all uspace and kernel code.

Change type of every variable, parameter and return value that holds an
<errno.h> constant to either errno_t (the usual case), or sys_errno_t
(some places in kernel). This is for the purpose of self-documentation,
as well as for type-checking with a bit of type definition hackery.

Although this is a massive commit, it is a simple text replacement, and thus
is very easy to verify. Simply do the following:

`
git checkout <this commit's hash>
git reset HEAD
git add .
tools/srepl '\berrno_t\b' int
git add .
tools/srepl '\bsys_errno_t\b' sysarg_t
git reset
git diff
`

While this doesn't ensure that the replacements are correct, it does ensure
that the commit doesn't do anything except those replacements. Since errno_t
is typedef'd to int in the usual case (and sys_errno_t to sysarg_t), even if
incorrect, this commit cannot change behavior.

  • Property mode set to 100644
File size: 4.3 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 errno_t nic_get_address_impl(ddf_fun_t *dev_fun, nic_address_t *address);
49extern errno_t nic_send_frame_impl(ddf_fun_t *dev_fun, void *data, size_t size);
50extern errno_t nic_callback_create_impl(ddf_fun_t *dev_fun);
51extern errno_t nic_get_state_impl(ddf_fun_t *dev_fun, nic_device_state_t *state);
52extern errno_t nic_set_state_impl(ddf_fun_t *dev_fun, nic_device_state_t state);
53extern errno_t nic_get_stats_impl(ddf_fun_t *dev_fun, nic_device_stats_t *stats);
54extern errno_t nic_unicast_get_mode_impl(ddf_fun_t *dev_fun,
55 nic_unicast_mode_t *, size_t, nic_address_t *, size_t *);
56extern errno_t nic_unicast_set_mode_impl(ddf_fun_t *dev_fun,
57 nic_unicast_mode_t, const nic_address_t *, size_t);
58extern errno_t nic_multicast_get_mode_impl(ddf_fun_t *dev_fun,
59 nic_multicast_mode_t *, size_t, nic_address_t *, size_t *);
60extern errno_t nic_multicast_set_mode_impl(ddf_fun_t *dev_fun,
61 nic_multicast_mode_t, const nic_address_t *, size_t);
62extern errno_t nic_broadcast_get_mode_impl(ddf_fun_t *, nic_broadcast_mode_t *);
63extern errno_t nic_broadcast_set_mode_impl(ddf_fun_t *, nic_broadcast_mode_t);
64extern errno_t nic_blocked_sources_get_impl(ddf_fun_t *,
65 size_t, nic_address_t *, size_t *);
66extern errno_t nic_blocked_sources_set_impl(ddf_fun_t *, const nic_address_t *, size_t);
67extern errno_t nic_vlan_get_mask_impl(ddf_fun_t *, nic_vlan_mask_t *);
68extern errno_t nic_vlan_set_mask_impl(ddf_fun_t *, const nic_vlan_mask_t *);
69extern errno_t 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 errno_t nic_wol_virtue_remove_impl(ddf_fun_t *dev_fun, nic_wv_id_t id);
72extern errno_t 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 errno_t 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 errno_t nic_wol_virtue_get_caps_impl(ddf_fun_t *, nic_wv_type_t, int *);
77extern errno_t nic_poll_get_mode_impl(ddf_fun_t *,
78 nic_poll_mode_t *, struct timeval *);
79extern errno_t nic_poll_set_mode_impl(ddf_fun_t *,
80 nic_poll_mode_t, const struct timeval *);
81extern errno_t 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 errno_t 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.