typedef struct surf_storage_model_extension_public {
surf_action_t(*open) (void *workstation, const char* path, const char* mode);
surf_action_t(*close) (void *workstation, surf_file_t fp);
surf_action_t(*read) (void *workstation, void* ptr, size_t size, size_t nmemb, surf_file_t stream);
surf_action_t(*write) (void *workstation, const void* ptr, size_t size, size_t nmemb, surf_file_t stream);
surf_action_t(*stat) (void *workstation, int fd, void* buf);
typedef struct surf_storage_model_extension_public {
surf_action_t(*open) (void *workstation, const char* path, const char* mode);
surf_action_t(*close) (void *workstation, surf_file_t fp);
surf_action_t(*read) (void *workstation, void* ptr, size_t size, size_t nmemb, surf_file_t stream);
surf_action_t(*write) (void *workstation, const void* ptr, size_t size, size_t nmemb, surf_file_t stream);
surf_action_t(*stat) (void *workstation, int fd, void* buf);