#include "stdlib.h"
#include "string.h"
#define AIC_THIS_FILE 0x888889
-#include "helios_ringbuf.h"
+#include "bk_ringbuf.h"
#include "aic_assert_def.h"
-helios_ring_buf_t *helios_rb_create(unsigned int size)
+bk_ring_buf_t *bk_rb_create(unsigned int size)
{
- helios_ring_buf_t *rb = NULL;
+ bk_ring_buf_t *rb = NULL;
if (size <= 0) {
return NULL;
AIC_ASSERT(!(size&(size - 1))); // 此ringbuffer长度必须为2的n次方
- rb = malloc(sizeof(helios_ring_buf_t));
+ rb = malloc(sizeof(bk_ring_buf_t));
if (NULL == rb) {
return NULL;
}
- memset(rb, 0, sizeof(helios_ring_buf_t));
+ memset(rb, 0, sizeof(bk_ring_buf_t));
rb->data = malloc(size);
memset(rb->data, 0, size);
return rb;
}
-void helios_rb_destroy(helios_ring_buf_t **rb)
+void bk_rb_destroy(bk_ring_buf_t **rb)
{
if (*rb) {
if ((*rb)->data) {
}
}
-unsigned int helios_rb_is_empty(helios_ring_buf_t *rb)
+unsigned int bk_rb_is_empty(bk_ring_buf_t *rb)
{
return (rb->wpos == rb->rpos);
}
-unsigned int helios_rb_is_full(helios_ring_buf_t *rb)
+unsigned int bk_rb_is_full(bk_ring_buf_t *rb)
{
return (rb->size == (unsigned int)(rb->wpos-rb->rpos));
}
-unsigned int helios_rb_data_len(helios_ring_buf_t *rb)
+unsigned int bk_rb_data_len(bk_ring_buf_t *rb)
{
return (rb->wpos - rb->rpos);
}
-unsigned int helios_rb_free_space(helios_ring_buf_t *rb)
+unsigned int bk_rb_free_space(bk_ring_buf_t *rb)
{
return (rb->size - (rb->wpos - rb->rpos));
}
-void helios_rb_clear(helios_ring_buf_t *rb)
+void bk_rb_clear(bk_ring_buf_t *rb)
{
rb->wpos = rb->rpos = 0;
memset(rb->data, 0, rb->size);
return;
}
-unsigned int helios_rb_write(helios_ring_buf_t *rb, unsigned char *data, unsigned int len)
+unsigned int bk_rb_write(bk_ring_buf_t *rb, unsigned char *data, unsigned int len)
{
unsigned int w_size = 0, w_free_size = 0;
unsigned int r_free_size = 0;
}
//shaohua.li@20200922
//��ֹ���̲߳������»�ȡ��r_free_size��
- //��Ŀ�����ǰ�����ε���helios_rb_free_space(rb)����ֵ��һ�£�(��һ�ε��ú������̴߳�ϣ������̴߳�rb�������ݵ��µڶ��η���ֵ��ȡ��??
+ //��Ŀ�����ǰ�����ε���bk_rb_free_space(rb)����ֵ��һ�£�(��һ�ε��ú������̴߳�ϣ������̴߳�rb�������ݵ��µڶ��η���ֵ��ȡ��??
//����w_size��ֵС��lenֵ������ʹ���潫dataָ���������copy��rb
- //w_size = len < helios_rb_free_space(rb) ? len : helios_rb_free_space(rb);
- r_free_size = helios_rb_free_space(rb);
+ //w_size = len < bk_rb_free_space(rb) ? len : bk_rb_free_space(rb);
+ r_free_size = bk_rb_free_space(rb);
w_size = len < r_free_size ? len : r_free_size;
/* first put the data starting from write_pos to buffer end */
return w_size;
}
-unsigned int helios_rb_read(helios_ring_buf_t *rb, unsigned char *data, unsigned int len)
+unsigned int bk_rb_read(bk_ring_buf_t *rb, unsigned char *data, unsigned int len)
{
unsigned int r_size = 0, r_free_size = 0;
unsigned int r_data_len = 0;
//shaohua.li@20200922
//��ֹ���̲߳������»�ȡ��datalen��
- //��Ŀ�����ǰ�����ε���helios_rb_data_len(rb)����ֵ��һ�£�(��һ�ε��ú������̴߳�ϣ�������rbд�����ݵ��µڶ��λ�ȡ��??
+ //��Ŀ�����ǰ�����ε���bk_rb_data_len(rb)����ֵ��һ�£�(��һ�ε��ú������̴߳�ϣ�������rbд�����ݵ��µڶ��λ�ȡ��??
//����r_size��ֵ����lenֵ������ʹ�������dataָ��Խ��
- //r_size = len < helios_rb_data_len(rb) ? len : helios_rb_data_len(rb);
- r_data_len = helios_rb_data_len(rb);
+ //r_size = len < bk_rb_data_len(rb) ? len : bk_rb_data_len(rb);
+ r_data_len = bk_rb_data_len(rb);
r_size = len < r_data_len ? len : r_data_len;
/* first get the data from ring_buf->read_pos until the end of the buffer */
* limitations under the License.
*/
-#ifndef __HELIOS_RINGBUF_H__
-#define __HELIOS_RINGBUF_H__
+#ifndef __bk_RINGBUF_H__
+#define __bk_RINGBUF_H__
#ifdef __cplusplus
extern "C" {
typedef unsigned long long u64;
-typedef struct helios_ring_buf_struct {
+typedef struct bk_ring_buf_struct {
unsigned int size;
u64 rpos;
u64 wpos;
unsigned char *data;
-}helios_ring_buf_t;
+}bk_ring_buf_t;
-helios_ring_buf_t *helios_rb_create(unsigned int size);
+bk_ring_buf_t *bk_rb_create(unsigned int size);
-void helios_rb_destroy(helios_ring_buf_t **rb);
+void bk_rb_destroy(bk_ring_buf_t **rb);
-unsigned int helios_rb_is_empty(helios_ring_buf_t *rb);
+unsigned int bk_rb_is_empty(bk_ring_buf_t *rb);
-unsigned int helios_rb_is_full(helios_ring_buf_t *rb);
+unsigned int bk_rb_is_full(bk_ring_buf_t *rb);
-unsigned int helios_rb_data_len(helios_ring_buf_t *rb);
+unsigned int bk_rb_data_len(bk_ring_buf_t *rb);
-unsigned int helios_rb_free_space(helios_ring_buf_t *rb);
+unsigned int bk_rb_free_space(bk_ring_buf_t *rb);
-unsigned int helios_rb_write(helios_ring_buf_t *rb, unsigned char *data, unsigned int len);
+unsigned int bk_rb_write(bk_ring_buf_t *rb, unsigned char *data, unsigned int len);
-unsigned int helios_rb_read(helios_ring_buf_t *rb, unsigned char *data, unsigned int len);
+unsigned int bk_rb_read(bk_ring_buf_t *rb, unsigned char *data, unsigned int len);
-void helios_rb_clear(helios_ring_buf_t *rb);
+void bk_rb_clear(bk_ring_buf_t *rb);
#ifdef __cplusplus
} /*"C" */