1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#ifndef __CSR_WIFI_HIP_UNIFI_UDI_H__
21#define __CSR_WIFI_HIP_UNIFI_UDI_H__
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include "csr_wifi_hip_unifi.h"
28#include "csr_wifi_hip_signals.h"
29
30
31
32
33
34enum udi_log_direction
35{
36 UDI_LOG_FROM_HOST = 0x0000,
37 UDI_LOG_TO_HOST = 0x0001
38};
39
40typedef void (*udi_func_t)(void *ospriv, u8 *sigdata,
41 u32 signal_len,
42 const bulk_data_param_t *bulkdata,
43 enum udi_log_direction dir);
44
45CsrResult unifi_set_udi_hook(card_t *card, udi_func_t udi_fn);
46CsrResult unifi_remove_udi_hook(card_t *card, udi_func_t udi_fn);
47
48
49
50
51
52
53
54s32 unifi_print_status(card_t *card, char *str, s32 *remain);
55
56#define UNIFI_SNPRINTF_RET(buf_p, remain, written) \
57 do { \
58 if (written >= remain) { \
59 if (remain >= 2) { \
60 buf_p[remain - 2] = '\n'; \
61 buf_p[remain - 1] = 0; \
62 } \
63 buf_p += remain; \
64 remain = 0; \
65 } else if (written > 0) { \
66 buf_p += written; \
67 remain -= written; \
68 } \
69 } while (0)
70
71
72#ifdef __cplusplus
73}
74#endif
75
76#endif
77