+static surf_action_t ws_action_open(void *workstation, const char* path, const char* mode)
+{
+ void *storage = ((workstation_CLM03_t) workstation)->storage;
+ return ((surf_resource_t) storage)->model->extension.storage.open(storage, path, mode);
+}
+
+static surf_action_t ws_action_close(void *workstation, surf_file_t fp)
+{
+ void *storage = ((workstation_CLM03_t) workstation)->storage;
+ return ((surf_resource_t) storage)->model->extension.storage.close(storage, fp);
+}
+
+static surf_action_t ws_action_read(void *workstation, void* ptr, size_t size, size_t nmemb, surf_file_t stream)
+{
+ void *storage = ((workstation_CLM03_t) workstation)->storage;
+ return ((surf_resource_t) storage)->model->extension.storage.read(storage, ptr, size, nmemb, stream);
+}
+
+static surf_action_t ws_action_write(void *workstation, const void* ptr, size_t size, size_t nmemb, surf_file_t stream)
+{
+ void *storage = ((workstation_CLM03_t) workstation)->storage;
+ return ((surf_resource_t) storage)->model->extension.storage.write(storage, ptr, size, nmemb, stream);
+}
+
+static surf_action_t ws_action_stat(void *workstation, int fd, void* buf)
+{
+ void *storage = ((workstation_CLM03_t) workstation)->storage;
+ return ((surf_resource_t) storage)->model->extension.storage.stat(storage, fd, buf);
+}
+