Files
kunlun/plc/halmac/inc/mac.h
2024-09-28 14:24:04 +08:00

73 lines
2.1 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 MAC_H
#define MAC_H
/* os shim includes */
#include "os_types.h"
#include "os_task.h"
/* common includes */
#include "iot_mem_pool.h"
#include "iot_queue.h"
#include "iot_utils.h"
/* mac module internal includes */
#include "mac_dsr.h"
#include "mac_msg.h"
#ifdef __cplusplus
extern "C" {
#endif
/* define the mac message queue count and priorities, the higer the priority
* the lower the queue number.
*/
#define MAC_MSG_QUEUE_HP 0
#define MAC_MSG_QUEUE_MP 1
#define MAC_MSG_QUEUE_LP 2
#define MAC_MSG_QUEUE_MAX_PRIO 3
/* mac layer global descriptor */
typedef struct _mac_global {
/* mac task handle */
os_task_h task_h;
/* mac message queues */
mac_msg_queue_t msg_q[MAC_MSG_QUEUE_MAX_PRIO];
/* mac messages pool */
iot_mem_pool_t *msg_p;
/* mac sync messages pool */
iot_mem_pool_t *msg_sync_p;
/* mac dsr handler table */
mac_dsr_table_t dsr_table;
} mac_global_t;
/* CPU0 & CPU1 mac layer share data context */
typedef struct _mac_cpu_share_ctxt {
uint32_t is_need_cpu1_mac_reinit : 1,
resv : 31;
} mac_cpu_share_ctxt_t;
/* mac layer global data */
extern mac_global_t* p_mac_glb;
#ifdef __cplusplus
}
#endif
#endif /* MAC_H */