Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
csr_wifi_hip_unifi_udi.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  (c) Cambridge Silicon Radio Limited 2011
4  All rights reserved and confidential information of CSR
5 
6  Refer to LICENSE.txt included with this source for details
7  on the license terms.
8 
9 *****************************************************************************/
10 
11 /*
12  * ---------------------------------------------------------------------------
13  * FILE: csr_wifi_hip_unifi_udi.h
14  *
15  * PURPOSE:
16  * Declarations and definitions for the UniFi Debug Interface.
17  *
18  * ---------------------------------------------------------------------------
19  */
20 #ifndef __CSR_WIFI_HIP_UNIFI_UDI_H__
21 #define __CSR_WIFI_HIP_UNIFI_UDI_H__
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #include "csr_wifi_hip_unifi.h"
28 #include "csr_wifi_hip_signals.h"
29 
30 
31 /*
32  * Support for tracing the wire protocol.
33  */
35 {
37  UDI_LOG_TO_HOST = 0x0001
38 };
39 
40 typedef 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 
47 
48 
49 /*
50  * Function to print current status info to a string.
51  * This is used in the linux /proc interface and might be useful
52  * in other systems.
53  */
54 s32 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 /* __CSR_WIFI_HIP_UNIFI_UDI_H__ */