79 lines
2.1 KiB
C
79 lines
2.1 KiB
C
/**
|
|
******************************************************************************
|
|
* @file stm32_lock_user.h
|
|
* @author STMicroelectronics
|
|
* @brief User defined lock mechanisms
|
|
*
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2025 STMicroelectronics.
|
|
* All rights reserved.
|
|
*
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
* in the root directory of this software component.
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
|
|
#ifndef __STM32_LOCK_USER_H__
|
|
#define __STM32_LOCK_USER_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#if STM32_LOCK_API != 1 /* Version of the implemented API */
|
|
#error stm32_lock_user.h not compatible with current version of stm32_lock.h
|
|
#endif
|
|
|
|
/* Remove the following line when you have implemented your own thread-safe
|
|
* solution. */
|
|
//#error Please implement your own thread-safe solution
|
|
|
|
/* Private defines -----------------------------------------------------------*/
|
|
/** Initialize members in instance of <code>LockingData_t</code> structure */
|
|
#define LOCKING_DATA_INIT { /* Add fields initialization here */ }
|
|
|
|
/* Private typedef -----------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
/* Add fields here */
|
|
} LockingData_t;
|
|
|
|
/* Private functions ---------------------------------------------------------*/
|
|
|
|
/**
|
|
* @brief Initialize STM32 lock
|
|
* @param lock The lock to init
|
|
*/
|
|
static inline void stm32_lock_init(LockingData_t *lock)
|
|
{
|
|
/* Replace with your implementation */
|
|
}
|
|
|
|
/**
|
|
* @brief Acquire STM32 lock
|
|
* @param lock The lock to acquire
|
|
*/
|
|
static inline void stm32_lock_acquire(LockingData_t *lock)
|
|
{
|
|
/* Replace with your implementation */
|
|
}
|
|
|
|
/**
|
|
* @brief Release STM32 lock
|
|
* @param lock The lock to release
|
|
*/
|
|
static inline void stm32_lock_release(LockingData_t *lock)
|
|
{
|
|
/* Replace with your implementation */
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __STM32_LOCK_USER_H__ */
|