* Removed no longer needed disk device related syscalls

(_kern_{supports,validate}_*(), etc.).
* Adjusted the prototypes of the disk device modification syscalls.
  Commented out their implementations for the time -- they'll mostly
  have to be rewritten completely.
* Implemented the userland disk device jobs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22781 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2007-10-31 21:16:22 +00:00
parent 61291964c3
commit 300868ce27
16 changed files with 321 additions and 1254 deletions
@@ -86,133 +86,48 @@ status_t _user_get_next_disk_system_info(int32 *cookie,
user_disk_system_info *info);
status_t _user_find_disk_system(const char *name, user_disk_system_info *info);
bool _user_supports_defragmenting_partition(partition_id partitionID,
int32 changeCounter,
bool *whileMounted);
bool _user_supports_repairing_partition(partition_id partitionID,
int32 changeCounter, bool checkOnly,
bool *whileMounted);
bool _user_supports_resizing_partition(partition_id partitionID,
int32 changeCounter,
bool *canResizeContents,
bool *whileMounted);
bool _user_supports_moving_partition(partition_id partitionID,
int32 changeCounter,
partition_id *unmovable,
partition_id *needUnmounting,
size_t bufferSize);
bool _user_supports_setting_partition_name(partition_id partitionID,
int32 changeCounter);
bool _user_supports_setting_partition_content_name(partition_id partitionID,
int32 changeCounter,
bool *whileMounted);
bool _user_supports_setting_partition_type(partition_id partitionID,
int32 changeCounter);
bool _user_supports_setting_partition_parameters(partition_id partitionID,
int32 changeCounter);
bool _user_supports_setting_partition_content_parameters(
partition_id partitionID, int32 changeCounter, bool *whileMounted);
bool _user_supports_initializing_partition(partition_id partitionID,
int32 changeCounter,
const char *diskSystemName);
bool _user_supports_creating_child_partition(partition_id partitionID,
int32 changeCounter);
bool _user_supports_deleting_child_partition(partition_id partitionID,
int32 changeCounter);
bool _user_is_sub_disk_system_for(disk_system_id diskSystemID,
partition_id partitionID,
int32 changeCounter);
status_t _user_validate_resize_partition(partition_id partitionID,
int32 changeCounter, off_t *size);
status_t _user_validate_move_partition(partition_id partitionID,
int32 changeCounter, off_t *newOffset);
status_t _user_validate_set_partition_name(partition_id partitionID,
int32 changeCounter, char *name);
status_t _user_validate_set_partition_content_name(partition_id partitionID,
int32 changeCounter,
char *name);
status_t _user_validate_set_partition_type(partition_id partitionID,
int32 changeCounter,
const char *type);
status_t _user_validate_initialize_partition(partition_id partitionID,
int32 changeCounter,
const char *diskSystemName,
char *name,
const char *parameters,
size_t parametersSize);
status_t _user_validate_create_child_partition(partition_id partitionID,
int32 changeCounter,
off_t *offset, off_t *size,
const char *type,
const char *parameters,
size_t parametersSize);
status_t _user_get_partitionable_spaces(partition_id partitionID,
int32 changeCounter,
partitionable_space_data *buffer,
int32 count, int32 *actualCount);
status_t _user_get_next_supported_partition_type(partition_id partitionID,
int32 changeCounter,
int32 *cookie, char *type);
status_t _user_get_partition_type_for_content_type(disk_system_id diskSystemID,
const char *contentType,
char *type);
// disk device modification
status_t _user_prepare_disk_device_modifications(partition_id deviceID);
status_t _user_commit_disk_device_modifications(partition_id deviceID,
port_id port, int32 token,
bool completeProgress);
status_t _user_cancel_disk_device_modifications(partition_id deviceID);
bool _user_is_disk_device_modified(partition_id deviceID);
status_t _user_defragment_partition(partition_id partitionID,
int32 changeCounter);
status_t _user_repair_partition(partition_id partitionID, int32 changeCounter,
bool checkOnly);
status_t _user_resize_partition(partition_id partitionID, int32 changeCounter,
off_t size);
status_t _user_move_partition(partition_id partitionID, int32 changeCounter,
off_t newOffset);
int32* changeCounter);
status_t _user_repair_partition(partition_id partitionID, int32* changeCounter,
bool checkOnly);
status_t _user_resize_partition(partition_id partitionID, int32* changeCounter,
partition_id childID, int32* childChangeCounter, off_t size,
off_t contentSize);
status_t _user_move_partition(partition_id partitionID, int32* changeCounter,
partition_id childID, int32* childChangeCounter,
off_t newOffset, partition_id* descendantIDs,
int32* descendantChangeCounters, int32 descendantCount);
status_t _user_set_partition_name(partition_id partitionID,
int32 changeCounter, const char *name);
int32* changeCounter, partition_id childID,
int32* childChangeCounter, const char* name);
status_t _user_set_partition_content_name(partition_id partitionID,
int32 changeCounter,
const char *name);
int32* changeCounter, const char* name);
status_t _user_set_partition_type(partition_id partitionID,
int32 changeCounter, const char *type);
int32* changeCounter, partition_id childID,
int32* childChangeCounter, const char* type);
status_t _user_set_partition_parameters(partition_id partitionID,
int32 changeCounter,
const char *parameters,
size_t parametersSize);
int32* changeCounter, partition_id childID,
int32* childChangeCounter, const char* parameters,
size_t parametersSize);
status_t _user_set_partition_content_parameters(partition_id partitionID,
int32 changeCounter,
const char *parameters,
size_t parametersSize);
int32* changeCounter, const char* parameters,
size_t parametersSize);
status_t _user_initialize_partition(partition_id partitionID,
int32 changeCounter,
const char *diskSystemName,
const char *name, const char *parameters,
size_t parametersSize);
int32* changeCounter, const char* diskSystemName,
const char* name, const char* parameters,
size_t parametersSize);
status_t _user_uninitialize_partition(partition_id partitionID,
int32 changeCounter);
status_t _user_create_child_partition(partition_id partitionID,
int32 changeCounter, off_t offset,
off_t size, const char *type,
const char *parameters,
size_t parametersSize,
partition_id *childID);
status_t _user_delete_partition(partition_id partitionID, int32 changeCounter);
int32* changeCounter);
// jobs
status_t _user_get_next_disk_device_job_info(int32 *cookie,
user_disk_device_job_info *info);
status_t _user_get_disk_device_job_info(disk_job_id id,
user_disk_device_job_info *info);
status_t _user_get_disk_device_job_progress_info(disk_job_id id,
disk_device_job_progress_info *info);
status_t _user_pause_disk_device_job(disk_job_id id);
status_t _user_cancel_disk_device_job(disk_job_id id, bool reverse);
status_t _user_create_child_partition(partition_id partitionID,
int32* changeCounter, off_t offset, off_t size,
const char* type, const char* name, const char* parameters,
size_t parametersSize, partition_id* childID,
int32* childChangeCounter);
status_t _user_delete_child_partition(partition_id partitionID,
int32* changeCounter, partition_id childID,
int32 childChangeCounter);
#ifdef __cplusplus
}