Files
E3/e3_176_ref/drivers/source/firewall/sdrv_firewall_gpio.h
2025-10-21 19:40:27 +08:00

73 lines
3.1 KiB
C

/** ************************************************************************************************
* SEMIDRIVE Copyright Statement
* Copyright (c) SEMIDRIVE. All rights reserved
*
* This software and all rights therein are owned by SEMIDRIVE, and are
* protected by copyright law and other relevant laws, regulations and
* protection. Without SEMIDRIVE's prior written consent and/or related rights,
* please do not use this software or any potion thereof in any form or by any
* means. You may not reproduce, modify or distribute this software except in
* compliance with the License. Unless required by applicable law or agreed to
* in writing, software distributed under the License is distributed on
* an 'AS IS' basis, WITHOUT WARRANTIES OF ANY KIND, either express or implied.
*
**************************************************************************************************/
/** ************************************************************************************************
* \file sdrv_firewall_gpio.h
* \brief This file contains interface header for SSDk Firewall GPIO module.
*
* <table>
* <tr><th>Date <th>Version
* <tr><td>2023/11/29 <td>1.0.0
* </table>
**************************************************************************************************/
#ifndef FIREWALL_GPIO_H
#define FIREWALL_GPIO_H
#ifdef __cplusplus
extern "C" {
#endif
/***************************************************************************************************
* Include header files
**************************************************************************************************/
#include <sdrv_firewall.h>
/***************************************************************************************************
* Global Function Declarations
**************************************************************************************************/
/**
* @brief Configure the dio rule space and perimissions.
*
* This function Configure the dio rule space and perimissions.
* This function should be called only once.
*
* @param[in] io_cfg the configuration of pin permission.
* @param[in] core_num the number of cores.
*
* @return The result of this function.
* @details - return FIREWALL_E_OK : Configure the dio rule space and perimissions success.
* - return FIREWALL_E_NULL_POINTER : The pointer is a NULL_PTR.
* - return FIREWALL_E_GPIO_CORE_NUM : The number of the core configurations is unvalid.
*/
status_t sdrv_firewall_gpio_rulespace_configure(
const sdrv_gpio_core_cfg_t *io_cfg, uint8_t core_num);
/**
* @brief Lock the configurations of the dio rule space and perimissions.
*
* This function locks the configurations of the dio rule space and perimissions.
* This function is called by sdrv_firewall_init().
* This function should be called after sdrv_firewall_gpio_rulespace_configure().
*/
void sdrv_firewall_gpio_rulespace_Lock(void);
#ifdef __cplusplus
}
#endif
#endif /* FIREWALL_GPIO_H */
/* End of file */