Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
net
wimax
wimax-internal.h
Go to the documentation of this file.
1
/*
2
* Linux WiMAX
3
* Internal API for kernel space WiMAX stack
4
*
5
*
6
* Copyright (C) 2007 Intel Corporation <
[email protected]
>
7
* Inaky Perez-Gonzalez <
[email protected]
>
8
*
9
* This program is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License version
11
* 2 as published by the Free Software Foundation.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21
* 02110-1301, USA.
22
*
23
*
24
* This header file is for declarations and definitions internal to
25
* the WiMAX stack. For public APIs and documentation, see
26
* include/net/wimax.h and include/linux/wimax.h.
27
*/
28
29
#ifndef __WIMAX_INTERNAL_H__
30
#define __WIMAX_INTERNAL_H__
31
#ifdef __KERNEL__
32
33
#include <linux/device.h>
34
#include <
net/wimax.h
>
35
36
37
/*
38
* Decide if a (locked) device is ready for use
39
*
40
* Before using the device structure, it must be locked
41
* (wimax_dev->mutex). As well, most operations need to call this
42
* function to check if the state is the right one.
43
*
44
* An error value will be returned if the state is not the right
45
* one. In that case, the caller should not attempt to use the device
46
* and just unlock it.
47
*/
48
static
inline
__must_check
49
int
wimax_dev_is_ready(
struct
wimax_dev
*
wimax_dev
)
50
{
51
if
(wimax_dev->
state
==
__WIMAX_ST_NULL
)
52
return
-
EINVAL
;
/* Device is not even registered! */
53
if
(wimax_dev->
state
==
WIMAX_ST_DOWN
)
54
return
-
ENOMEDIUM
;
55
if
(wimax_dev->
state
==
__WIMAX_ST_QUIESCING
)
56
return
-
ESHUTDOWN
;
57
return
0;
58
}
59
60
61
static
inline
62
void
__wimax_state_set(
struct
wimax_dev *wimax_dev,
enum
wimax_st
state
)
63
{
64
wimax_dev->
state
=
state
;
65
}
66
extern
void
__wimax_state_change
(
struct
wimax_dev *,
enum
wimax_st
);
67
68
#ifdef CONFIG_DEBUG_FS
69
extern
int
wimax_debugfs_add
(
struct
wimax_dev *);
70
extern
void
wimax_debugfs_rm
(
struct
wimax_dev *);
71
#else
72
static
inline
int
wimax_debugfs_add
(
struct
wimax_dev *wimax_dev)
73
{
74
return
0;
75
}
76
static
inline
void
wimax_debugfs_rm
(
struct
wimax_dev *wimax_dev) {}
77
#endif
78
79
extern
void
wimax_id_table_add
(
struct
wimax_dev *);
80
extern
struct
wimax_dev *
wimax_dev_get_by_genl_info
(
struct
genl_info
*,
int
);
81
extern
void
wimax_id_table_rm
(
struct
wimax_dev *);
82
extern
void
wimax_id_table_release
(
void
);
83
84
extern
int
wimax_rfkill_add
(
struct
wimax_dev *);
85
extern
void
wimax_rfkill_rm
(
struct
wimax_dev *);
86
87
extern
struct
genl_family
wimax_gnl_family
;
88
extern
struct
genl_multicast_group
wimax_gnl_mcg
;
89
90
#endif
/* #ifdef __KERNEL__ */
91
#endif
/* #ifndef __WIMAX_INTERNAL_H__ */
Generated on Thu Jan 10 2013 15:02:27 for Linux Kernel by
1.8.2