
Title: Eco.MemoryManager1 Software Component Specification
USPD: US.ECO.00016-01 90
Component Name: Eco.MemoryManager1
Short Description (max 300 char.): implements computer memory access and management functions
Component Use Category: MULTIPURPOSE
Component Type: DRIVER
CID: 0000000000000000000000004D656D31
Marketplace URL: https://ecoos.dev/product/d28c861e-df9b-4585-bbc5-e9637e308932
Status: Draft
Modified Date: October 11, 2025
Version: 1.0
Tags: Memory, Malloc, Memory Manager, Heap, Calloc, Free
| Authors | Company |
|---|---|
| Vladimir Bashev | PEERF |
Table of Contents
2. Eco.MemoryManager1 Component
3. IEcoMemoryManager1 Interface
3.1.3. get_UsedBlocks function
4. IEcoMemoryAllocator1 Interface
Appendix A: Training and sample programs
1. Overview
This document describes the requirements for the implementation of the Eco.MemoryManager1 component (Component).
1.1. Introduction
Description.
1.2. Notes
- Keywords
1.3. Links
This paragraph contains links to component marketplace and information to help you understand this document:
Available in marketplace at: https://ecoos.dev/product/d28c861e-df9b-4585-bbc5-e9637e308932
2. Eco.MemoryManager1 Component
The Eco.MemoryManager1 component is
The component has the following description:
3. IEcoMemoryManager1 Interface
3.1. IEcoMemoryManager1 IDL
import "IEcoBase1.idl"
import "IEcoMemoryAllocator1.idl"
[
object,
uguid(00000000-0000-0000-0000-B00000000101),
]
interface IEcoMemoryManager1 : IEcoUnknown {
int16_t Init ([in] void* startAddress,
[in] uint32_t size);
bool_t get_Status ([in | out] ECOMEMORYMANAGER1STATUS* status);
bool_t get_UsedBlocks ([in | out] ECOMEMORYMANAGER1BLOCK* blocks,
[in | out] uint32_t* sizeInBlocks);
}3.1.1. Init function
The function
3.1.2. get_Status function
The function
3.1.3. get_UsedBlocks function
The function
4. IEcoMemoryAllocator1 Interface
4.1. IEcoMemoryAllocator1 IDL
import "IEcoBase1.idl"
[
object,
uguid(00000000-0000-0000-0000-B00000000102),
]
interface IEcoMemoryAllocator1 : IEcoUnknown {
void* Alloc ([in] uint32_t size);
void Free ([in] void *pv);
void* Realloc ([in] void *pv,
[in] uint32_t size);
void* Copy ([in] void *pvDst,
[in] void *pvSrc,
[in] uint32_t size);
void* Fill ([in] void *pvDst,
[in] char_t Fill,
[in] uint32_t size);
int16_t Compare ([in] void *pv1,
[in] void *pv2,
[in] uint32_t size);
uint32_t RetrieveSize ([in] void *pv);
}4.1.1. Alloc function
The function
4.1.2. Free function
The function
4.1.3. Realloc function
The function
4.1.4. Copy function
The function
4.1.5. Fill function
The function
4.1.6. Compare function
The function
4.1.7. RetrieveSize function
The function
5. Error codes
The following table contains the error codes.
| Error code | Value | Description |
|---|---|---|
| ERR_ECO_SUCCESES | 0x0000 | Operation successful. |
| ERR_ECO_UNEXPECTED | 0xFFFF | Unexpected condition. |
| ERR_ECO_POINTER | 0xFFEE | NULL was passed incorrectly for a pointer value. |
| ERR_ECO_NOINTERFACE | 0xFFED | No such interface supported. |
| ERR_ECO_COMPONENT_NOTFOUND | 0xFFE9 | The component was not found. |

