diff options
| author | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
| commit | 8e4bff4cab0ddac6060645b0715210484d02ff40 (patch) | |
| tree | 3a5c3024371a04692a3a6d9974d001cdff8ebf84 /drivers/misc/mdbg/mdbg_ring.h | |
Diffstat (limited to 'drivers/misc/mdbg/mdbg_ring.h')
| -rw-r--r-- | drivers/misc/mdbg/mdbg_ring.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/drivers/misc/mdbg/mdbg_ring.h b/drivers/misc/mdbg/mdbg_ring.h new file mode 100644 index 00000000..f09d3513 --- /dev/null +++ b/drivers/misc/mdbg/mdbg_ring.h @@ -0,0 +1,54 @@ +/************************************************************************************************************ */
+/*****Copyright: 2014 Spreatrum. All Right Reserved */
+/*****File: mdbg_ring.h */
+/*****Description: Marlin Debug System ring buffer definition. */
+/*****Developer: fan.kou@spreadtrum.com */
+/*****Date: 06/01/2014 */
+/************************************************************************************************************ */
+
+#ifndef _MDBG_RING_H
+#define _MDBG_RING_H
+
+/*******************************************************/
+/*********************INCLUDING********************/
+/*******************************************************/
+#include "mdbg_type.h"
+#include <linux/mutex.h>
+
+/*******************************************************/
+/******************Macor Definitions****************/
+/*******************************************************/
+#define MDBG_RING_R 0
+#define MDBG_RING_W 1
+
+#define MDBG_RING_MIN_SIZE (1024 * 4)
+
+#define MDBG_RING_LOCK_SIZE (sizeof(mdbg_ring_lock))
+
+
+/*******************************************************/
+/******************Type Definitions*****************/
+/*******************************************************/
+typedef struct mutex mdbg_ring_lock;
+
+typedef struct mdbg_ring_t {
+ MDBG_SIZE_T size;
+ char * pbuff;
+ char* rp;
+ char* wp;
+ char* end;
+ mdbg_ring_lock* plock;
+}MDBG_RING_T;
+
+/*******************************************************/
+/***********Public Interface Declaration************/
+/*******************************************************/
+MDBG_RING_T* mdbg_ring(MDBG_SIZE_T size);
+void mdbg_ring_destroy(MDBG_RING_T* pRing);
+int mdbg_ring_read(MDBG_RING_T* pRing, char* buf, int len);
+int mdbg_ring_write(MDBG_RING_T* pRing, char* buf, int len);
+char* mdbg_ring_write_ext(MDBG_RING_T* pRing, MDBG_SIZE_T len);
+bool mdbg_ring_will_full(MDBG_RING_T* pRing, int len);
+
+#endif
+
|
