33 lines
794 B
C
33 lines
794 B
C
#ifndef __USER_P11_EVENT_IRQ_H__
|
|
#define __USER_P11_EVENT_IRQ_H__
|
|
|
|
|
|
struct p11_event_handler {
|
|
int event_type;
|
|
int (*handler)(int event_type, u16 len, u8 *data);
|
|
};
|
|
|
|
|
|
#define P11_IRQ_EVENT_HANDLER(type, fn) \
|
|
static const struct p11_event_handler __event_handler_##fn sec(.p11_irq_handler) __attribute__((used)) = { \
|
|
.event_type = type, \
|
|
.handler = fn, \
|
|
}
|
|
|
|
extern struct p11_event_handler p11_event_handler_begin[];
|
|
extern struct p11_event_handler p11_event_handler_end[];
|
|
|
|
#define list_for_each_p11_event_handler(p) \
|
|
for (p = p11_event_handler_begin; p < p11_event_handler_end; p++)
|
|
|
|
//数据最大数据长度在p11 系统配置,用户可以灵活配置
|
|
//当前配置512 字节
|
|
extern void user_main_post_to_p11_system(u8 cmd, u16 len, u8 *data, u8 wait);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|