SMFS Reference
SMFS is a Secure Memory File System (as exported to FMs).
It allows FMs to store keys into tamper-protected battery-backed Static RAM (SRAM)
It has the following general specifications:
>Arbitrary depth directory structure supported.
>File names are any character other than '\' or '/'.
>Path separator is '/' (the Windows '\' is not allowed)
>Files are of 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
>Max file name length is 16
>Max path length is 100
>Max number of open files is 32
>Max number of file search handles is 16
Error Codes
SMFS_ERR_ERROR | 1 | A general error has occurred |
SMFS_ERR_NOT_INITED | 2 | The SMFS has not been initialized |
SMFS_ERR_MEMORY | 3 | The SMFS has run out of memory |
SMFS_ERR_NAME_TOO_LONG | 4 | The name given for a file is too long |
SMFS_ERR_RESOURCES | 5 | The SMFS has run out of resources |
SMFS_ERR_PARAMETER | 6 | An invalid parameter was passed to SMFS |
SMFS_ERR_ACCESS | 7 | User does not have request access to file |
SMFS_ERR_NOT_FOUND | 8 | Requested file was not found |
SMFS_ERR_BUSY | 9 | Operation is being attempted on an open file |
SMFS_ERR_EXIST | 10 | A file being created already exists |
SMFS_ERR_FILE_TYPE | 11 | Operation being performed on wrong file type |
File Attributes Structure (SmFsAttr)
This structure holds the file or directory attributes
Synopsis
SmFsAttr {
unsigned int Size;
unsigned int isDir;
};
Members
Size: Current file size in bytes or directory size in entries
isDir: Flag specifying if file is a directory