Home Products EldoS Products Solid File System - EldoS Software (solfs-engine-palm-file-system)
Solid File System - EldoS Software - Palm File System PDF Print E-mail

Solid File System™ (SolFS) - Single-File Virtual File System for .NET, Windows, Linux, PocketPC

Solid File System (SolFS) is a flexible, high-performance file system, designed for use with real media (such as Hard Drives or Flash Cards) or logical structures (files on disks, database records, application resources, and raw memory). SolFS gives you advantages of reliable encryption, transparent compression, high sorage capacity, application-defined attributes, custom tags, storage metadata, use of Unicode, creation of virtual disks, and support of mobile devices.

Created by: EldoS Corporation

Description Features Applications Environments License
Help&Support Download Ask for pricing

Solid File System™ (SolFS) and Palm-specific data storage methods

The Default

If you develop applications for PalmOS®, you are aware about the ways PalmOS stores data. There are two ways of them available: via Database API and via File Streaming API.

Databases are the native way to keep information on Palm devices. The database on PalmOS is a set of memory blocks, each having an ID. The databases have certain limitations of the block size and are not very handy to use when you attempt to store files in database records.

File Streaming API, similar to standard C++ and Unix file APIs, was added to simplify the task of storing files on PalmOS. In fact, it also stores data in database records, but let the developer use common API. While this API offers some basic functionality, it is extremely limited. It has no directory support, no file enumeration, each file is stored in it's own database etc.. Below you wll find a comparison chart, which shows the limitations of default PalmOS file management.

The Alternative

Solid File System is a library, which provides a full-featured file system on top of PalmOS data storage capabilities. You get transparent encryption and compression, directory management, file enumeration. Solid File System supports journalling, multiple streams per file, large stream and file size, file and storage metadata, symbolic links.

With Solid File System you use the API set, similar to Windows API. You don't need to learn new API to use SolFS functions.

One of the most important SolFS benefits is that all your information is stored in a single file. This makes maintenance and management of information much easier.

Face to Face

Feature Solid File System (SolFS™) Database API File Streaming API
Supported platforms Windows, .NET, Unix, Windows CE, PalmOS, other PalmOS1 PalmOS1
File name length Unlimited 32 bytes 32 bytes
File name character set Unicode ANSI ANSI
File name case sensitivity Optional Sensitive Sensitive
Maximum stream/file size ((2^32)-1) * (2^15) / 2 bytes, i.e. ~128 Tb2 2^32 bytes 2^32 bytes
Maximum storage size ((2^32)-1) * (2^15) bytes, i.e. ~256 Tb2 Limited by underlying hardware Limited by underlying hardware
Directory hierarchies Supported - -
File search and enumeration3 Complete Limited Limited, via Database API
Feature Solid File System (SolFS™) Database API File Streaming API
Multiple streams per file Supported - -
Symbolic links Supported - -
Stream Metadata Supported Limited Limited
Storage metadata Supported - -
Feature Solid File System (SolFS™) Database API File Streaming API
Encryption Per-stream, whole-storage - -
Encryption algorithm AES 256 + SHA 256 (HMAC)
Custom algorithms supported
- -
Data integrity Journalling for both stream and file system integrity
Self-checking and repair operations
- -
File Compression Per-stream ZLib - -
Feature Solid File System (SolFS™) Database API File Streaming API

1 PalmOS databases, when transferred to other systems, can be manipulated using third-party libraries.
2 By default, SolFS library writes data to one PalmOS database and it's max.size is limited to the maximum possible size of a single database (which is 2^32 bytes). In callback mode you can utilize other mechanisms for backend media and so the limitations will be removed.
3 SolFS enumeration offers search by mask and by attributes. PalmOS databases can be only enumerated by type and creator.