summaryrefslogtreecommitdiff
path: root/drivers/misc/mdbg/mdbg_ring.h
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
committerYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
commit8e4bff4cab0ddac6060645b0715210484d02ff40 (patch)
tree3a5c3024371a04692a3a6d9974d001cdff8ebf84 /drivers/misc/mdbg/mdbg_ring.h
Initial file dump from open source releaseHEADmaster
Diffstat (limited to 'drivers/misc/mdbg/mdbg_ring.h')
-rw-r--r--drivers/misc/mdbg/mdbg_ring.h54
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
+