Skip to content

logo

Title: Eco.FileSystemManagement1 Software Component Specification

USPD: US.ECO.00014-01 90
Component Name: Eco.FileSystemManagement1
Short Description (max 300 char.): implements file operations in an operating system
Component Use Category: MULTIPURPOSE
Component Type: SYSTEM
CID: 00000000000000000000000046534D31
Marketplace URL: https://ecoos.dev/product/e71f846d-89dc-425f-b3f8-e1884a84b77a
Status: Draft
Modified Date: October 19th, 2025
Version: 1.0

Tags: File, Folder, Directory, File system, File Explorer

AuthorsCompany
Vladimir BashevPEERF

Table of Contents

1. Overview

1.1. Introduction

1.2. Notes

1.3. Links

2. Eco.FileSystemManagement1 Component

3. IEcoFileSystemManagement1 Interface

3.1. IEcoFileSystemManagement1 interface IDL descriptor

3.1.1. get_FileManager function

3.1.2. get_DirectoryManager function

3.1.3. get_DriveManager function

4. IEcoFileInfo1 Interface

4.1. IEcoFileInfo1 interface IDL descriptor

4.1.1. get_Id function

5. IEcoFileManager1 Interface

5.1. IEcoFileManager1 interface IDL descriptor

5.1.1. Create function

5.1.2. Open function

5.1.3. Close function

6. IEcoDirectoryInfo1 Interface

6.1. IEcoDirectoryInfo1 interface IDL descriptor

6.1.1. get_Id function

7. IEcoDirectoryManager1 Interface

7.1. IEcoDirectoryManager1 interface IDL descriptor

7.1.1. Create function

7.1.2. Delete function

8. IEcoDriveInfo1 Interface

8.1. IEcoDriveInfo1 interface IDL descriptor

8.1.1. get_Id function

9. IEcoDriveManager1 Interface

9.1. IEcoDriveManager1 IDL

9.1.1. get_Drive function

10. IEcoFile1 Interface

10.1. IEcoFile1 interface IDL descriptor

10.1.1. get_Size function

10.1.2. get_Name function

10.1.3. get_Info function

10.1.4. get_Pointer function

10.1.5. set_Pointer function

10.1.6. Read function

10.1.7. Write function

10.1.8. Close function

10.1.9. get_Descriptor function

11. Error codes

Appendix A: Sample code and Training programs

1. Overview

This document describes the requirements for the implementation of Eco.FileSystemManagement1 component. (Component)

1.1. Introduction

Description.

1.2. Notes

  • Keywords

1.3. Links

This paragraph contains links to information to help you understand this document:
Available in Marketplace at url: https://ecoos.dev/product/e71f846d-89dc-425f-b3f8-e1884a84b77a

2. Eco.FileSystemManagement1 Component

The Eco.FileSystemManagement1 component is designated for OS file system operations
The component has the following features: TBA

3. IEcoFileSystemManagement1 Interface

3.1. IEcoFileSystemManagement1 interface IDL descriptor

cpp
import "IEcoBase1.idl"  
import "IEcoFileManager1.idl"  
import "IEcoDirectoryManager1.idl"  
import "IEcoDriveManager1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000101),  
]  
interface IEcoFileSystemManagement1 : IEcoUnknown {  
  
IEcoFileManager1*	get_FileManager	([in] void);  
		  
IEcoDirectoryManager1*	get_DirectoryManager	([in] void);  
		  
IEcoDriveManager1*	get_DriveManager	([in] void);  
		  
}

3.1.1. get_FileManager function

The function

3.1.2. get_DirectoryManager function

The function

3.1.3. get_DriveManager function

The function

4. IEcoFileInfo1 Interface

4.1. IEcoFileInfo1 interface IDL descriptor

cpp
import "IEcoBase1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000103),  
]  
interface IEcoFileInfo1 : IEcoUnknown {  
  
UGUID*	get_Id	([in] void);  
  
}

4.1.1. get_Id function

The function

5. IEcoFileManager1 Interface

5.1. IEcoFileManager1 interface IDL descriptor

cpp
import "IEcoBase1.idl"  
import "IEcoFile1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000102),  
]  
interface IEcoFileManager1 : IEcoUnknown {  
  
IEcoFile1*	Create	([in] chart* pszName);  
		  
IEcoFile1*	Open	([in] chart* pszName);  
		  
int32_t	Close	([in] IEcoFile1* pIFile);  
		  
}

5.1.1. Create function

The function

5.1.2. Open function

The function

5.1.3. Close function

The function

6. IEcoDirectoryInfo1 Interface

6.1. IEcoDirectoryInfo1 interface IDL descriptor

cpp
import "IEcoBase1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000108),  
]  
interface IEcoDirectoryInfo1 : IEcoUnknown {  
  
UGUID*	get_Id	([in] void);  
		  
}

6.1.1. get_Id function

The function

7. IEcoDirectoryManager1 Interface

7.1. IEcoDirectoryManager1 interface IDL descriptor

cpp
import "IEcoBase1.idl"  
import "IEcoDirectoryInfo1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000107),  
]  
interface IEcoDirectoryManager1 : IEcoUnknown {  
  
IEcoDirectoryInfo1*	Create	([in] chart_t* pszName);  
		  
int32_t	Delete	([in] chart_t* pszName);  
		  
}

7.1.1. Create function

The function

7.1.2. Delete function

The function

8. IEcoDriveInfo1 Interface

8.1. IEcoDriveInfo1 interface IDL descriptor

cpp
import "IEcoBase1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000106),  
]  
interface IEcoDriveInfo1 : IEcoUnknown {  
  
UGUID*	get_Id	([in] void);  
		  
}


8.1.1. get_Id function

The function

9. IEcoDriveManager1 Interface

9.1. IEcoDriveManager1 IDL

cpp
import "IEcoBase1.idl"  
import "IEcoDriveInfo1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000105),  
]  
interface IEcoDriveManager1 : IEcoUnknown {  
  
IEcoDriveInfo1*	get_Drive	([in] char_t* pszName);  
		  
}

9.1.1. get_Drive function

The function

10. IEcoFile1 Interface

10.1. IEcoFile1 interface IDL descriptor

cpp
import "IEcoBase1.idl"  
import "IEcoFileInfo1.idl"  
  
[  
object,  
uguid(00000000-0000-0000-0000-C00000000104),  
]  
interface IEcoFile1 : IEcoUnknown {  
  
uint32_t	get_Size	([in] void);  
		  
char_t*	get_Name	([in] void);  
		  
IEcoFileInfo1*	get_Info	([in] void);  
		  
uint32_t	get_Pointer	([in] void);  
		  
void	set_Pointer	([in] uint32_t value);  
		  
int16_t	Read	([in] voidptr_t pv,  
 [in | out] uint32_t* pSize);  
		  
int16_t	Write	([in] voidptr_t pv,  
 [in | out] uint32_t* pSize);  
		  
int16_t	Close	([in] void);  
		  
descriptor_t	get_Descriptor	([in] void);  
		  
}

10.1.1. get_Size function

The function

10.1.2. get_Name function

The function

10.1.3. get_Info function

The function

10.1.4. get_Pointer function

The function

10.1.5. set_Pointer function

The function

10.1.6. Read function

The function

10.1.7. Write function

The function

10.1.8. Close function

The function

10.1.9. get_Descriptor function

The function


11. 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.

Heading 1


Appendix A: Sample code and Training programs