rt_Memory.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*----------------------------------------------------------------------------
  2. * CMSIS-RTOS - RTX
  3. *----------------------------------------------------------------------------
  4. * Name: RT_MEMORY.H
  5. * Purpose: Interface functions for Dynamic Memory Management System
  6. * Rev.: V4.79
  7. *----------------------------------------------------------------------------
  8. *
  9. * Copyright (c) 1999-2009 KEIL, 2009-2017 ARM Germany GmbH. All rights reserved.
  10. *
  11. * SPDX-License-Identifier: Apache-2.0
  12. *
  13. * Licensed under the Apache License, Version 2.0 (the License); you may
  14. * not use this file except in compliance with the License.
  15. * You may obtain a copy of the License at
  16. *
  17. * www.apache.org/licenses/LICENSE-2.0
  18. *
  19. * Unless required by applicable law or agreed to in writing, software
  20. * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  21. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  22. * See the License for the specific language governing permissions and
  23. * limitations under the License.
  24. *---------------------------------------------------------------------------*/
  25. /* Types */
  26. typedef struct mem { /* << Memory Pool management struct >> */
  27. struct mem *next; /* Next Memory Block in the list */
  28. U32 len; /* Length of data block */
  29. } MEMP;
  30. /* Functions */
  31. extern U32 rt_init_mem (void *pool, U32 size);
  32. extern void *rt_alloc_mem (void *pool, U32 size);
  33. extern U32 rt_free_mem (void *pool, void *mem);