Documentation  |   Table of Contents   |  < Previous   |  Next >   |  Index

Table of Contents

Memory, Databases, and Files

Exploring Palm OS®

About This Document

The Exploring Palm OS Series

Additional Resources

Changes to This Document

3108-002

3108-001

Part I: Concepts

1 Memory

Memory Architecture

The Dynamic Heaps

The Storage Heaps

Heap Details

Chunks

The Memory Manager

Allocating and Freeing Memory Chunks

Manipulating Chunk Contents

Summary of Memory Management

2 Palm OS Databases

Database Overview

Schema Databases

Resources and Resource Databases

Uniquely Identifying Databases

Database Attributes

Automatic Database Backup and Restore

Working with Schema Databases

Schemas and Tables

Schema Database Rows

Cursors

Secure Databases

Concurrent Database Access

Working with Non-Schema Databases

Structure of a Non-Schema Database Header

Working with Non-Schema Databases

Record Attributes

Resource Databases

Data Manager Tips

File Streaming Layer

Using the File Streaming API

3 Virtual File Systems

VFS Manager

The VFS Manager, the Data Manager, and File Streaming APIs

Checking for the Presence of the VFS Manager

Standard Directories

Applications on Cards

Volume Operations

Hidden Volumes

Matching Volumes to Slots

Naming Volumes

File Operations

Common Operations

Naming Files

Working with Palm OS Databases

Directory Operations

Directory Paths

Common Operations

Enumerating the Files in a Directory

Determining the Default Directory for a Particular File Type

Default Directories Registered at Initialization

Custom Calls

Custom I/O

Summary of VFS Manager

Part II: Reference

4 Data Manager

Data Manager Structures and Types

CategoryID

DatabaseID

DmBackupRestoreStateType

DmDatabaseInfoType

DmFindType

DmOpenModeType

DmOpenRef

DmResourceID

DmResourceType

DmSearchStateType

DmSortRecordInfoType

DmStorageInfoType

Data Manager Constants

Non-Schema Database Record Attributes

Database Attributes

Miscellaneous Data Manager Constants

Data Manager Error Codes

Data Manager Functions and Macros

DmArchiveRecord

DmAttachRecord

DmAttachResource

DmBackupFinalize

DmBackupInitialize

DmBackupUpdate

DmCloseDatabase

DmCloseIteratorByTypeCreator

DmCreateDatabase

DmCreateDatabaseFromImage

DmCreateDatabaseFromImageV50

DmCreateDatabaseV50

DmDatabaseInfo

DmDatabaseInfoV50

DmDatabaseProtectV50

DmDatabaseSize

DmDatabaseSizeV50

DmDeleteCategory

DmDeleteDatabase

DmDeleteDatabaseV50

DmDeleteRecord

DmDetachRecord

DmDetachResource

DmFindDatabase

DmFindDatabaseByTypeCreator

DmFindDatabaseV50

DmFindRecordByID

DmFindRecordByOffsetInCategory

DmFindResource

DmFindResourceType

DmGet1ResourceV50

DmGetAppInfo

DmGetAppInfoIDV50

DmGetDatabaseLockState

DmGetDatabaseV50

DmGetFallbackOverlayLocale

DmGetLastErr

DmGetNextDatabaseByTypeCreator

DmGetNextDatabaseByTypeCreatorV50

DmGetOpenInfo

DmGetOverlayDatabaseLocale

DmGetOverlayDatabaseName

DmGetOverlayLocale

DmGetPositionInCategory

DmGetRecord

DmGetRecordAttr

DmGetRecordCategory

DmGetRecordID

DmGetRecordSortPosition

DmGetResource

DmGetResourceByIndex

DmGetResourceV50

DmGetStorageInfo

DmHandleFree

DmHandleLock

DmHandleResize

DmHandleSize

DmHandleUnlock

DmInitiateAutoBackupOfOpenDatabase

DmInsertionSort

DmMoveCategory

DmMoveRecord

DmNewHandle

DmNewRecord

DmNewResource

DmNextOpenDatabase

DmNextOpenDatabaseV50

DmNextOpenResDatabase

DmNextOpenResDatabaseV50

DmNumDatabases

DmNumDatabasesV50

DmNumRecords

DmNumRecordsInCategory

DmNumResources

DmOpenDatabase

DmOpenDatabaseByTypeCreator

DmOpenDatabaseByTypeCreatorV50

DmOpenDatabaseInfoV50

DmOpenDatabaseV50

DmOpenDBNoOverlay

DmOpenDBNoOverlayV50

DmOpenIteratorByTypeCreator

DmPtrResize

DmPtrSize

DmPtrUnlock

DmQueryNextInCategory

DmQueryRecord

DmQuickSort

DmRecordInfoV50

DmRecoverHandle

DmReleaseRecord

DmReleaseResource

DmRemoveRecord

DmRemoveResource

DmRemoveSecretRecords

DmResetRecordStates

DmResizeRecord

DmResizeResource

DmResourceInfo

DmResourceInfoV50

DmRestoreFinalize

DmRestoreInitialize

DmRestoreUpdate

DmSearchRecordOpenDatabases

DmSearchResourceOpenDatabases

DmSet

DmSetDatabaseInfo

DmSetDatabaseInfoV50

DmSetDatabaseProtection

DmSetFallbackOverlayLocale

DmSetOverlayLocale

DmSetRecordAttr

DmSetRecordCategory

DmSetRecordID

DmSetRecordInfoV50

DmSetResourceInfo

DmStrCopy

DmWrite

DmWriteCheckV50

Application-Defined Functions

DmCompareFunctionType

5 File Stream

File Stream Structures and Types

FileHand

File Stream Constants

File Stream Error Codes

Primary Open Modes

Secondary Open Modes

Miscellaneous File Stream Constants

FileOpEnum

FileOriginEnum

File Stream Functions and Macros

FileClearerr

FileClose

FileControl

FileDelete

FileDeleteV50

FileDmRead

FileEOF

FileError

FileFlush

FileGetLastError

FileOpen

FileOpenV50

FileRead

FileReadLow

FileRewind

FileSeek

FileTell

FileTruncate

FileWrite

6 Memory Manager

Memory Manager Structures and Types

LocalID

MemHeapInfoType

Memory Manager Constants

Debug Mode Flags

Dynamic Heap Options

Heap Flags

Memory Manager Error Codes

LocalIDKind

Memory Manager Functions and Macros

MemCmp

MemDebugMode

MemDynHeapGetInfo

MemDynHeapOption

MemDynHeapReleaseUnused

MemHandleDataStorage

MemHandleFree

MemHandleHeapID

MemHandleLock

MemHandleNew

MemHandleResize

MemHandleSetOwner

MemHandleSize

MemHandleUnlock

MemHeapCheck

MemHeapCompact

MemHeapDynamic

MemHeapFlags

MemHeapFreeBytes

MemHeapID

MemHeapScramble

MemHeapSize

MemMove

MemNumHeaps

MemNumRAMHeaps

MemPtrDataStorage

MemPtrFree

MemPtrHeapID

MemPtrNew

MemPtrRealloc

MemPtrRecoverHandle

MemPtrResize

MemPtrSetOwner

MemPtrSize

MemPtrUnlock

MemSet

MemSetDebugMode

7 Schema Databases

Schema Databases Structures and Types

DbColumnPropertySpecType

DbColumnPropertyValueType

DbMatchModeType

DbSchemaColumnData

DbSchemaColumnDefnType

DbSchemaColumnProperty

DbSchemaColumnType

DbSchemaColumnValueType

DbShareModeType

DbTableDefinitionType

Schema Databases Constants

Schema Database Row Attributes

Table Column Attributes

Schema Database Access Rule Action Types

Cursor Open Flags

Miscellaneous Schema Database Constants

DbFetchType

Schema Databases Functions and Macros

DbAddCategory

DbAddColumn

DbAddSortIndex

DbAddTable

DbArchiveRow

DbCloseDatabase

DbCopyColumnValue

DbCopyColumnValues

DbCreateDatabase

DbCreateSecureDatabase

DbCreateSecureDatabaseFromImage

DbCursorArchiveAllRows

DbCursorBindData

DbCursorBindDataWithOffset

DbCursorClose

DbCursorDeleteAllRows

DbCursorFlushCache

DbCursorGetCurrentPosition

DbCursorGetCurrentRowID

DbCursorGetPositionForRowID

DbCursorGetRowCount

DbCursorGetRowIDForPosition

DbCursorIsBOF

DbCursorIsDeleted

DbCursorIsEOF

DbCursorMove

DbCursorMoveFirst

DbCursorMoveLast

DbCursorMoveNext

DbCursorMovePrev

DbCursorRelocateRow

DbCursorMoveToRowID

DbCursorOpen

DbCursorOpenWithCategory

DbCursorRemoveAllRows

DbCursorRequery

DbCursorSetAbsolutePosition

DbCursorUpdate

DbDeleteRow

DbEnableSorting

DbGetAllColumnDefinitions

DbGetAllColumnPropertyValues

DbGetAllColumnValues

DbGetCategory

DbGetColumnDefinitions

DbGetColumnID

DbGetColumnPropertyValue

DbGetColumnPropertyValues

DbGetColumnValue

DbGetColumnValues

DbGetRowAttr

DbGetRuleSet

DbGetSortDefinition

DbGetTableForRow

DbGetTableName

DbGetTableSchema

DbHasSortIndex

DbHasTable

DbInsertRow

DbIsCursorID

DbIsRowID

DbIsRowInCategory

DbIsSortingEnabled

DbMoveCategory

DbNumCategory

DbNumColumns

DbNumSortIndexes

DbNumTables

DbOpenDatabase

DbOpenDatabaseByName

DbReleaseStorage

DbRemoveCategory

DbRemoveCategoryAllRows

DbRemoveColumn

DbRemoveColumnProperty

DbRemoveRow

DbRemoveSecretRows

DbRemoveSortIndex

DbRemoveTable

DbSetCategory

DbSetColumnPropertyValue

DbSetColumnPropertyValues

DbSetRowAttr

DbWriteColumnValue

DbWriteColumnValues

8 VFS Manager

VFS Manager Structures and Types

FileInfoType

FileOrigin

FileRef

VFSAnyMountParamType

VFSPOSEMountParamType

VFSSlotMountParamType

VolumeInfoType

VFS Manager Constants

VFS Manager Error Codes

Defined File Systems

Open Mode Constants

File and Directory Attributes

Volume Attributes

Volume Mount Classes

Date Types

Seek Origins

Iterator Controls and Constants

Volume Mount Flags

Miscellaneous Constants and Definitions

VFS Manager Functions and Macros

VFSCustomControl

VFSDirCreate

VFSDirEntryEnumerate

VFSExportDatabaseToFile

VFSExportDatabaseToFileCustom

VFSExportDatabaseToFileCustomV40

VFSExportDatabaseToFileV40

VFSFileClose

VFSFileCreate

VFSFileDBGetRecord

VFSFileDBGetResource

VFSFileDBInfo

VFSFileDelete

VFSFileEOF

VFSFileGetAttributes

VFSFileGetDate

VFSFileOpen

VFSFileOpenFromURL

VFSFileRead

VFSFileReadData

VFSFileRename

VFSFileResize

VFSFileSeek

VFSFileSetAttributes

VFSFileSetDate

VFSFileSize

VFSFileTell

VFSFileWrite

VFSGetDefaultDirectory

VFSImportDatabaseFromFile

VFSImportDatabaseFromFileCustom

VFSImportDatabaseFromFileCustomV40

VFSImportDatabaseFromFileV40

VFSRegisterDefaultDirectory

VFSUnregisterDefaultDirectory

VFSVolumeEnumerate

VFSVolumeFormat

VFSVolumeGetLabel

VFSVolumeInfo

VFSVolumeMount

VFSVolumeSetLabel

VFSVolumeSize

VFSVolumeUnmount

Application-Defined Functions

VFSExportProcPtr

VFSImportProcPtr