xref: /btstack/port/stm32-wb55xx-nucleo-freertos/Middlewares/STM32_WPAN/ble/core/template/osal.h (revision 0561b2d8d5dba972c7daa57d5e677f7a1327edfd)
1  /*****************************************************************************
2   * @file    osal.h
3   * @author  MCD Application Team
4   * @brief   This header file defines the OS abstraction layer used by
5   *          the BLE stack. OSAL defines the set of functions which needs to be
6   *          ported to target operating system and target platform.
7   *          Actually, only memset, memcpy and memcmp wrappers are defined.
8   *****************************************************************************
9   * @attention
10   *
11   * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
12   * All rights reserved.</center></h2>
13   *
14   * This software component is licensed by ST under Ultimate Liberty license
15   * SLA0044, the "License"; You may not use this file except in compliance with
16   * the License. You may obtain a copy of the License at:
17   *                             www.st.com/SLA0044
18   *
19   ******************************************************************************
20   */
21  
22  #ifndef OSAL_H__
23  #define OSAL_H__
24  
25  
26  /**
27   * This function copies size number of bytes from a
28   * memory location pointed by src to a destination
29   * memory location pointed by dest
30   *
31   * @param[in] dest Destination address
32   * @param[in] src  Source address
33   * @param[in] size size in the bytes
34   *
35   * @return  Address of the destination
36   */
37  
38  extern void* Osal_MemCpy( void *dest, const void *src, unsigned int size );
39  
40  /**
41   * This function sets first number of bytes, specified
42   * by size, to the destination memory pointed by ptr
43   * to the specified value
44   *
45   * @param[in] ptr    Destination address
46   * @param[in] value  Value to be set
47   * @param[in] size   Size in the bytes
48   *
49   * @return  Address of the destination
50   */
51  
52  extern void* Osal_MemSet( void *ptr, int value, unsigned int size );
53  
54  /**
55   * This function compares n bytes of two regions of memory
56   *
57   * @param[in] s1    First buffer to compare.
58   * @param[in] s2    Second buffer to compare.
59   * @param[in] size  Number of bytes to compare.
60   *
61   * @return  0 if the two buffers are equal, 1 otherwise
62   */
63  extern int Osal_MemCmp( const void *s1, const void *s2, unsigned int size );
64  
65  
66  #endif /* OSAL_H__ */
67