radio(9)
- NetBSD Manual Pages
RADIO(9) NetBSD Kernel Developer's Manual RADIO(9)
NAME
radio -- interface between low and high level radio drivers
DESCRIPTION
The radio device driver is divided into a high level, hardware indepen-
dent layer, and a low level hardware dependent layer. The interface
between these is the radio_hw_if structure.
struct radio_hw_if {
int (*open)(void *, int, int, struct lwp *);
int (*close)(void *, int, int, struct lwp *);
int (*get_info)(void *, struct radio_info *);
int (*set_info)(void *, struct radio_info *);
int (*search)(void *, int);
};
The high level radio driver attaches to the low level driver when the
latter calls radio_attach_mi. This call should be
void
radio_attach_mi(rhwp, hdlp, dev)
struct radio_hw_if *rhwp;
void *hdlp;
struct device *dev;
The radio_hw_if struct is as shown above. The hdlp argument is a handle
to some low level data structure. It is sent as the first argument to
all the functions in radio_hw_if when the high level driver calls them.
dev is the device struct for the hardware device.
The fields of radio_hw_if are described in some more detail below.
int open (void *, int flags, int fmt, struct lwp *p);
Optional.
Is called when the radio device is opened.
Returns 0 on success, otherwise an error code.
int close (void *, int flags, int fmt, struct lwp *p);
Optional.
Is called when the radio device is closed.
Returns 0 on success, otherwise an error code.
int get_info (void *, struct radio_info *);
Fill the radio_info struct.
Returns 0 on success, otherwise an error code.
int set_info (void *, struct radio_info *);
Set values from the radio_info struct.
Returns 0 on success, otherwise an error code.
int search (void *, int);
Returns 0 on success, otherwise an error code.
SEE ALSO
radio(4)
NetBSD 5.0.2 December 20, 2005 NetBSD 5.0.2
Powered by man-cgi (2024-03-20).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.