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 6.0.2 December 20, 2005 NetBSD 6.0.2
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.