Skip to content

logo

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

AuthorsCompany
Vladimir BashevPEERF

Table of Contents

1. Overview

1.1. Introduction

1.2. Note

1.3. Links

2. Eco.MemoryManager1 Component

3. IEcoMemoryManager1 Interface

3.1. IEcoMemoryManager1 IDL

3.1.1. Init function

3.1.2. get_Status function

3.1.3. get_UsedBlocks function

4. IEcoMemoryAllocator1 Interface

4.1. IEcoMemoryAllocator1 IDL

4.1.1. Alloc function

4.1.2. Free function

4.1.3. Realloc function

4.1.4. Copy function

4.1.5. Fill function

4.1.6. Compare function

4.1.7. RetrieveSize function

5. Error codes

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

cpp
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

cpp
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 codeValueDescription
ERR_ECO_SUCCESES0x0000Operation successful.
ERR_ECO_UNEXPECTED0xFFFFUnexpected condition.
ERR_ECO_POINTER0xFFEENULL was passed incorrectly for a pointer value.
ERR_ECO_NOINTERFACE0xFFEDNo such interface supported.
ERR_ECO_COMPONENT_NOTFOUND0xFFE9The component was not found.

Appendix A: Training and sample programs