54 lines
1.8 KiB
C
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 */ |