|
来此请教一个问题,由于以前很少接触硬件驱动的编写,甚至都没有做过单片机开发,最近却被迫要在Linux下面的无线网卡驱动里面做一些东西,遇到了很多的不可理解的地方,请教一下牛人。
在驱动中,有好多的程序找不到他的定义之处,在Linux内核中也找不到,这种函数是什么性质的函数呢?
比如说在madwifi的ah.h里面就有很多这样只是一个声明的函数。如下所示
void __ahdecl(*ah_beaconInit)(struct ath_hal *,
u_int32_t nexttbtt, u_int32_t intval);
void __ahdecl(*ah_setStationBeaconTimers)(struct ath_hal*,
const HAL_BEACON_STATE *);
void __ahdecl(*ah_resetStationBeaconTimers)(struct ath_hal*);
HAL_BOOL __ahdecl(*ah_waitForBeaconDone)(struct ath_hal *,
HAL_BUS_ADDR);
/* Interrupt functions */
HAL_BOOL __ahdecl(*ah_isInterruptPending)(struct ath_hal*);
HAL_BOOL __ahdecl(*ah_getPendingInterrupts)(struct ath_hal*, HAL_INT*);
HAL_INT __ahdecl(*ah_getInterrupts)(struct ath_hal*);
HAL_INT __ahdecl(*ah_setInterrupts)(struct ath_hal*, HAL_INT);
};这些函数指针都没有进行过赋值,但是都可以使用。请问怎样解释这些函数。谢谢指教!
|
|