Files
kunlun/inc/utils/iot_addr_hash_table.h
2024-09-28 14:24:04 +08:00

54 lines
1.8 KiB
C

/****************************************************************************
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
be copied by any method or incorporated into another program without
the express written consent of Aerospace C.Power. This Information or any portion
thereof remains the property of Aerospace C.Power. The Information contained herein
is believed to be accurate and Aerospace C.Power assumes no responsibility or
liability for its use in any way and conveys no license or title under
any patent or copyright and makes no representation or warranty that this
Information is free from patent or copyright infringement.
****************************************************************************/
#ifndef IOT_ADDR_HASH_TABLE_H
#define IOT_ADDR_HASH_TABLE_H
/* export includes */
#include "iot_addr_hash_table_api.h"
/* common includes */
#include "iot_utils.h"
#ifdef __cplusplus
extern "C" {
#endif
/* exponent of max table size */
#define IOT_ADDR_HASH_TABLE_SIZE_MAX 10
/* iot mac address hash table */
typedef struct _iot_addr_hash_table {
/* number of entries supported */
uint16_t entry_cnt;
/* size of each entry */
uint16_t entry_size;
/* hash table size. The larger the table, the smaller the possibilty to
* hit hash key conflict.
*/
uint16_t table_size;
/* extern address entry flag */
uint8_t meter_flag;
/* entry point for each mac address hash index */
iot_addr_hash_entry_t **hash_ent;
/* entry pool */
iot_mem_pool_t *entry_p;
} iot_addr_hash_table_t;
#ifdef __cplusplus
}
#endif
#endif /* IOT_ADDR_HASH_TABLE_H */