diff --git a/headers/private/kernel/disk_device_manager/ddm_userland_interface.h b/headers/private/kernel/disk_device_manager/ddm_userland_interface.h index 784d15230a..35a144b27e 100644 --- a/headers/private/kernel/disk_device_manager/ddm_userland_interface.h +++ b/headers/private/kernel/disk_device_manager/ddm_userland_interface.h @@ -145,26 +145,29 @@ status_t _kern_commit_disk_device_modifications(partition_id deviceID, status_t _kern_cancel_disk_device_modifications(partition_id deviceID); bool _kern_is_disk_device_modified(partition_id deviceID); -#if 0 +status_t _kern_defragment_partition(partition_id partition); +status_t _kern_repair_partition(partition_id partition, bool checkOnly); +status_t _kern_resize_partition(partition_id partition, off_t size, + bool resizeContents); +status_t _kern_move_partition(partition_id partition, off_t newOffset, + bool force); +status_t _kern_set_partition_name(partition_id partition, const char *name); +status_t _kern_set_partition_content_name(partition_id partition, + const char *name); +status_t _kern_set_partition_type(partition_id partition, const char *type); +status_t _kern_set_partition_parameters(partition_id partition, + const char *parameters); +status_t _kern_set_partition_content_parameters(partition_id partition, + const char *parameters); +status_t _kern_initialize_partition(partition_id partition, + const char *diskSystem, const char *name, + const char *parameters); +status_t _kern_create_child_partition(partition_id partition, off_t offset, + off_t size, const char *type, + const char *parameters, partition_id *child); +status_t _kern_delete_partition(partition_id partition); -status_t defragment_partition(partition_id partition); -status_t repair_partition(partition_id partition, bool checkOnly); -status_t resize_partition(partition_id partition, off_t size); -status_t move_partition(partition_id partition, off_t offset); -status_t set_partition_parameters(partition_id partition, - const char *parameters, - const char *contentParameters); -status_t initialize_partition(partition_id partition, const char *diskSystem, - const char *parameters); - // Note: There is also fs_initialize_volume(), which is not compatible - // with this function, for it is more general with respect to how the - // volume to be initialized is specified (though this might be solved - // by providing an API for registering files as disk devices), and more - // specific regarding the other parameters (flags and volumeName). -status_t create_child_partition(partition_id partition, off_t offset, - off_t size, const char *parameters, - partition_id *child); -status_t delete_partition(partition_id partition); +#if 0 // jobs status_t get_next_disk_device_job_info(user_disk_device_job_info *info, diff --git a/src/kernel/core/disk_device_manager/ddm_userland_interface.cpp b/src/kernel/core/disk_device_manager/ddm_userland_interface.cpp index d16a2ba04e..06c400fe91 100644 --- a/src/kernel/core/disk_device_manager/ddm_userland_interface.cpp +++ b/src/kernel/core/disk_device_manager/ddm_userland_interface.cpp @@ -696,6 +696,8 @@ _kern_validate_move_partition(partition_id partitionID, off_t *newOffset, status_t _kern_validate_set_partition_name(partition_id partitionID, char *name) { + if (!name) + return B_BAD_VALUE; KDiskDeviceManager *manager = KDiskDeviceManager::Default(); // get the partition KPartition *partition = manager->ReadLockPartition(partitionID); @@ -720,6 +722,8 @@ _kern_validate_set_partition_name(partition_id partitionID, char *name) status_t _kern_validate_set_partition_content_name(partition_id partitionID, char *name) { + if (!name) + return B_BAD_VALUE; KDiskDeviceManager *manager = KDiskDeviceManager::Default(); // get the partition KPartition *partition = manager->ReadLockPartition(partitionID); @@ -772,7 +776,7 @@ _kern_validate_initialize_partition(partition_id partitionID, const char *diskSystemName, char *name, const char *parameters) { - if (!diskSystemName) + if (!diskSystemName || !name) return B_BAD_VALUE; KDiskDeviceManager *manager = KDiskDeviceManager::Default(); // get the partition @@ -922,3 +926,103 @@ _kern_is_disk_device_modified(partition_id device) return false; } +// _kern_defragment_partition +status_t +_kern_defragment_partition(partition_id partition) +{ + // not implemented + return B_ERROR; +} + +// _kern_repair_partition +status_t +_kern_repair_partition(partition_id partition, bool checkOnly) +{ + // not implemented + return B_ERROR; +} + +// _kern_resize_partition +status_t +_kern_resize_partition(partition_id partition, off_t size, bool resizeContents) +{ + // not implemented + return B_ERROR; +} + +// _kern_move_partition +status_t +_kern_move_partition(partition_id partition, off_t newOffset, bool force) +{ + // not implemented + return B_ERROR; +} + +// _kern_set_partition_name +status_t +_kern_set_partition_name(partition_id partition, const char *name) +{ + // not implemented + return B_ERROR; +} + +// _kern_set_partition_content_name +status_t +_kern_set_partition_content_name(partition_id partition, const char *name) +{ + // not implemented + return B_ERROR; +} + +// _kern_set_partition_type +status_t +_kern_set_partition_type(partition_id partition, const char *type) +{ + // not implemented + return B_ERROR; +} + +// _kern_set_partition_parameters +status_t +_kern_set_partition_parameters(partition_id partition, const char *parameters) +{ + // not implemented + return B_ERROR; +} + +// _kern_set_partition_content_parameters +status_t +_kern_set_partition_content_parameters(partition_id partition, + const char *parameters) +{ + // not implemented + return B_ERROR; +} + +// _kern_initialize_partition +status_t +_kern_initialize_partition(partition_id partition, const char *diskSystem, + const char *name, const char *parameters) +{ + // not implemented + return B_ERROR; +} + +// _kern_create_child_partition +status_t +_kern_create_child_partition(partition_id partition, off_t offset, off_t size, + const char *type, const char *parameters, + partition_id *child) +{ + // not implemented + return B_ERROR; +} + +// _kern_delete_partition +status_t +_kern_delete_partition(partition_id partition) +{ + // not implemented + return B_ERROR; +} +