WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
wlan_ring.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved.
3 * Description: Header file of wlan_ring.c.
4 * Date: 2023-03-16
5 */
6
7#ifndef WLAN_RING_H
8#define WLAN_RING_H
9
10#include "securec.h"
11#include "td_type.h"
12#include "osal_types.h"
13
14#ifdef __cplusplus
15#if __cplusplus
16 extern "C" {
17#endif
18#endif
19
27
28typedef union {
29 struct {
33 } bits;
34
35 /* Define an unsigned member */
38
39/* 判断ring是否为满,如果满,返回TRUE;反之,返回FALSE */
40#define oal_ring_is_full(read_ctrl, write_ctrl) \
41 ((((read_ctrl).bits.index) == ((write_ctrl).bits.index)) && \
42 (((read_ctrl).bits.wrap_flag) != ((write_ctrl).bits.wrap_flag)))
43
44/* 判断ring是否为空,如果空,返回TRUE;反之,返回FALSE */
45#define oal_ring_is_empty(read_ctrl, write_ctrl) \
46 (((read_ctrl).u32) == ((write_ctrl).u32))
47
48/* 判断ring是否翻转,如果翻转,返回TRUE;反之,返回FALSE */
49#define oal_ring_wrap_around(read_ctrl, write_ctrl) \
50 (((read_ctrl).bits.wrap_flag) != ((write_ctrl).bits.wrap_flag))
51
52#define OAL_WORD_TO_BYTE 4
53
57
58#ifdef __cplusplus
59#if __cplusplus
60 }
61#endif
62#endif
63#endif /* end of wlan_ring.h */
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition wlan_ring.h:20
uintptr_t entries_addr
Definition wlan_ring.h:21
osal_u16 ring_depth
Definition wlan_ring.h:24
uintptr_t read_idx_addr
Definition wlan_ring.h:22
uintptr_t write_idx_addr
Definition wlan_ring.h:23
osal_u16 ring_entry_size
Definition wlan_ring.h:25
unsigned int uintptr_t
Definition td_type.h:65
Definition wlan_ring.h:28
osal_u32 resv
Definition wlan_ring.h:32
osal_u32 wrap_flag
Definition wlan_ring.h:31
osal_u32 u32
Definition wlan_ring.h:36
osal_u32 index
Definition wlan_ring.h:30
osal_u32 oal_ring_read(oal_ring_ctrl_stru *ring_ctrl, osal_u32 *element)
osal_u32 oal_ring_write(oal_ring_ctrl_stru *ring_ctrl, osal_u32 *element)
osal_u32 oal_get_ring_element_num(oal_ring_ctrl_stru *ring_ctrl)