Revision 1396
updated wl_basic with default packet handling
wl_basic.c | ||
---|---|---|
22 | 22 |
unsigned char* packet, int length) ) { |
23 | 23 |
int returnme = wl_init(); |
24 | 24 |
wl_basic_register_handler(handle_receive); |
25 |
current_packet.new_flag = 0; |
|
25 | 26 |
return returnme; |
26 | 27 |
} |
27 | 28 |
|
28 | 29 |
/** |
30 |
* |
|
31 |
* |
|
32 |
**/ |
|
33 |
int wl_basic_init_default( ) { |
|
34 |
return wl_basic_init(&wl_basic_packet_receive_handler); |
|
35 |
} |
|
36 |
|
|
37 |
/** |
|
29 | 38 |
* Internal function to register a packet group handler for Basic Group |
30 | 39 |
* |
31 | 40 |
* @param handle_receive function pointer to handler function for Basic Group |
... | ... | |
64 | 73 |
wl_send_global_packet(WL_BASIC_GROUP, type, data, len, 0); |
65 | 74 |
} |
66 | 75 |
|
76 |
/** |
|
77 |
* Default packet handler used if none is specified on init |
|
78 |
* |
|
79 |
* @param type Packet type |
|
80 |
* @param data Packet buffer, data you received |
|
81 |
* @param length Length of the data buffer in bytes |
|
82 |
**/ |
|
83 |
void wl_basic_packet_receive_handler( char type, int source, unsigned char* packet, int length ) { |
|
84 |
current_packet.new_flag = 1; |
|
85 |
current_packet.type = type; |
|
86 |
current_packet.source = source; |
|
87 |
current_packet.pointer = packet; |
|
88 |
current_packet.length = length; |
|
89 |
} |
|
90 |
|
|
91 |
/** |
|
92 |
* Wrapper for wl_do() |
|
93 |
* |
|
94 |
* @return pointer to the data of the packet just received |
|
95 |
**/ |
|
96 |
unsigned char* wl_basic_do( void ) { |
|
97 |
wl_do(); |
|
98 |
if (current_packet.new_flag == 1) { |
|
99 |
current_packet.new_flag = 0; |
|
100 |
return current_packet.pointer; |
|
101 |
} |
|
102 |
return 0; |
|
103 |
} |
|
104 |
|
Also available in: Unified diff