Implementation of a filesystem device tied to in-memory data. More...
#include <string.h>#include <stdio.h>#include "skinkit.h"#include "mem.h"#include "memfs.h"#include "swdevice.h"#include "skindevs.h"#include "devutils.h"#include "kitdevs.h"#include "file.h"#include "sync.h"#include "hqmemcpy.h"Data Structures | |
| struct | _RAMDeviceState |
| Encapsulates the state of a single instance of the RAM device. More... | |
Macros | |
| #define | PARAM_TYPE "Type" |
| Name of the read-only type device parameter for this device. | |
| #define | PARAM_PREFIX "Prefix" |
| Name of the prefix device parameter for this device. | |
| #define | PARAM_TYPE_VALUE "FileSystem" |
Constant value of the /Type device parameter. This allows the RIP to classify this device as a storage medium. | |
Typedefs | |
| typedef struct _RAMDeviceState | RAMDeviceState |
| Encapsulates the state of a single instance of the RAM device. | |
Variables | |
| DEVICETYPE | RAM_Device_Type |
| The RAM input device type structure. | |
Implementation of a filesystem device tied to in-memory data.
This RAM device implementation implements a file system using compressed RAM storage. The Harlequin RIP SDK comes with an import tool that can be used to compress and pre-compile a directory tree into a RAM device file system.
This is useful for backending the %os% device for embedded systems for which there is no disk, or to help avoid multiple RIP implementations writing caches to a single shared installation.
The current implementation of the RAM device uses multiple filesystem roots. If the RIP is built with a SW folder in RAM, then the first instance mounted will refer to the SW-in-RAM tree. Other device instances will refer to newly instantiated RAM devices. Like the file device, the RAM device supports prefixes. Therefore, even with a single root, it is possible for multiple instances of the RAM device to exist independently of each other, using prefixes to navigate down to a specified node under the base root.