字符流先入先出队列fifo

tos_fifo_create

  1. k_err_t tos_fifo_create(k_fifo_t *fifo, uint8_t *buffer, size_t size);
  • 功能描述

创建一个字符流先入先出队列。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄[in]buffer字符流先入先出队列内存池[in]size字符流先入先出队列内存池大小

  • 返回值

K_ERR_NONE 队列创建成功。

K_ERR_OBJ_PTR_NULL fifo是空指针。

tos_fifo_destroy

  1. k_err_t tos_fifo_destroy(k_fifo_t *fifo);
  • 功能描述

销毁一个字符流先入先出队列。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄

  • 返回值

K_ERR_NONE 队列创建成功。

K_ERR_OBJ_PTR_NULL fifo是空指针。

K_ERR_OBJ_INVALID fifo指向的不是一个合法的先入先出队列。

tos_fifo_push

  1. k_err_t tos_fifo_push(k_fifo_t *fifo, uint8_t data);
  • 功能描述

向字符流先入先出队列压入一个字符。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄[in]data压入的字符

  • 返回值

K_ERR_NONE 字符压入成功。

K_ERR_FIFO_FULL 字符流先入先出队列已满。

tos_fifo_push_stream

  1. k_err_t tos_fifo_push_stream(k_fifo_t *fifo, uint8_t *stream, size_t size);
  • 功能描述

向字符流先入先出队列压入一个字符流。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄[in]stream压入的字符流[in]size字符流长度

  • 返回值

实际压入的字符流长度。

tos_fifo_pop

  1. k_err_t tos_fifo_pop(k_fifo_t *fifo, uint8_t *out);
  • 功能描述

从字符流先入先出队列弹出一个字符。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄[out]out弹出的字符

  • 返回值

K_ERR_NONE 字符弹出成功。

K_ERR_FIFO_EMPTY 字符流先入先出队列内存池已空。

tos_fifo_pop_stream

  1. int tos_fifo_pop_stream(k_fifo_t *fifo, uint8_t *buffer, size_t size);
  • 功能描述

从字符流先入先出队列弹出一个字符流。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄[out]stream弹出的字符流[in]size字符流长度

  • 返回值

实际弹出的字符流长度。

tos_fifo_flush

  1. void tos_fifo_flush(k_fifo_t *fifo);
  • 功能描述

冲洗字符流先入先出队列。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄

  • 返回值

tos_fifo_is_empty

  1. int tos_fifo_is_empty(k_fifo_t *fifo);
  • 功能描述

判断字符流先入先出队列是否为空。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄

  • 返回值

0,fifo不为空。

非0值,fifo为空。

tos_fifo_is_full

  1. int tos_fifo_is_full(k_fifo_t *fifo);
  • 功能描述

判断字符流先入先出队列是否为满。

  • 参数解释

IN/OUT参数名描述[in]fifo字符流先入先出队列句柄

  • 返回值

0,fifo不为满。

非0值,fifo为满。