SMFS Reference
SMFS is a Secure Memory File System (as exported to FMs). It allows FMs to store keys and objects in the HSM's Flash memory. Objects are always encrypted by an HSM-controled key, before being stored in Flash. It becomes unrecoverable upon tampering of the HSM, when HSM Policy (40) Decommission on Tamper is enabled.
It has the following general specifications:
>Arbitrary depth directory structure supported
>File names are any character other than '\0' or '/'
>Path separator is '/'. The Windows \ is not allowed
>Files are fixed size and initialized with zeros when created
>Directories will expand in size as needed to fit more files
This chapter contains the following sections:
>File Attributes Structure (SmFsAttr)
Important Constants
>Maximum file name length is 16
>Maximum path length is 100
>Maximum number of open files is 32
>Maximum number of file search handles is 16
Error Codes
SMFS_ERR_ERROR | A general error has occurred |
SMFS_ERR_NOT_INITED | The SMFS has not been initialized |
SMFS_ERR_MEMORY | The SMFS has run out of memory |
SMFS_ERR_NAME_TOO_LONG | The name given for a file is too long |
SMFS_ERR_RESOURCES | The SMFS has run out of resources |
SMFS_ERR_PARAMETER | An invalid parameter was passed to SMFS |
SMFS_ERR_ACCESS | User does not have request access to file |
SMFS_ERR_NOT_FOUND | Requested file was not found |
SMFS_ERR_BUSY | Operation is being attempted on an open file |
SMFS_ERR_EXIST | A file being created already exists |
SMFS_ERR_FILE_TYPE | Operation being performed on wrong file type |
File Attributes Structure (SmFsAttr)
Synopsis
SmFsAttr { unsigned int Size; unsigned int isDir; };
Description
This structure holds the file or directory attributes
Members
Size | Current file size in bytes or directory size in entries. |
isDir | Flag specifying if file is a directory. |
Function Descriptions
The SMFS reference section contains the following functions: