diff --git a/headers/private/kernel/syscalls.h b/headers/private/kernel/syscalls.h index 0a27da785c..72783d70e8 100644 --- a/headers/private/kernel/syscalls.h +++ b/headers/private/kernel/syscalls.h @@ -260,156 +260,127 @@ extern status_t _kern_get_cpuid(cpuid_info *info, uint32 eax, uint32 cpu); #endif -/* DDM syscalls */ +/* Disk Device Manager syscalls */ // iterating, retrieving device/partition data -partition_id _kern_get_next_disk_device_id(int32 *cookie, size_t *neededSize); -partition_id _kern_find_disk_device(const char *filename, size_t *neededSize); -partition_id _kern_find_partition(const char *filename, size_t *neededSize); -status_t _kern_get_disk_device_data(partition_id deviceID, bool deviceOnly, - bool shadow, user_disk_device_data *buffer, - size_t bufferSize, size_t *neededSize); - -partition_id _kern_register_file_device(const char *filename); -status_t _kern_unregister_file_device(partition_id deviceID, - const char *filename); +extern partition_id _kern_get_next_disk_device_id(int32 *cookie, size_t *neededSize); +extern partition_id _kern_find_disk_device(const char *filename, size_t *neededSize); +extern partition_id _kern_find_partition(const char *filename, size_t *neededSize); +extern status_t _kern_get_disk_device_data(partition_id deviceID, bool deviceOnly, + bool shadow, user_disk_device_data *buffer, + size_t bufferSize, size_t *neededSize); +extern partition_id _kern_register_file_device(const char *filename); +extern status_t _kern_unregister_file_device(partition_id deviceID, + const char *filename); // Only a valid deviceID or filename need to be passed. The other one // is -1/NULL. If both is given only filename is ignored. // disk systems -status_t _kern_get_disk_system_info(disk_system_id id, - user_disk_system_info *info); -status_t _kern_get_next_disk_system_info(int32 *cookie, - user_disk_system_info *info); -status_t _kern_find_disk_system(const char *name, user_disk_system_info *info); +extern status_t _kern_get_disk_system_info(disk_system_id id, + user_disk_system_info *info); +extern status_t _kern_get_next_disk_system_info(int32 *cookie, + user_disk_system_info *info); +extern status_t _kern_find_disk_system(const char *name, user_disk_system_info *info); +extern bool _kern_supports_defragmenting_partition(partition_id partitionID, + int32 changeCounter, bool *whileMounted); +extern bool _kern_supports_repairing_partition(partition_id partitionID, + int32 changeCounter, bool checkOnly, bool *whileMounted); +extern bool _kern_supports_resizing_partition(partition_id partitionID, + int32 changeCounter, bool *canResizeContents, bool *whileMounted); +extern bool _kern_supports_moving_partition(partition_id partitionID, + int32 changeCounter, partition_id *unmovable, + partition_id *needUnmounting, size_t bufferSize); +extern bool _kern_supports_setting_partition_name(partition_id partitionID, + int32 changeCounter); +extern bool _kern_supports_setting_partition_content_name(partition_id partitionID, + int32 changeCounter, bool *whileMounted); +extern bool _kern_supports_setting_partition_type(partition_id partitionID, + int32 changeCounter); +extern bool _kern_supports_setting_partition_parameters(partition_id partitionID, + int32 changeCounter); +extern bool _kern_supports_setting_partition_content_parameters( + partition_id partitionID, int32 changeCounter, bool *whileMounted); +extern bool _kern_supports_initializing_partition(partition_id partitionID, + int32 changeCounter, const char *diskSystemName); +extern bool _kern_supports_creating_child_partition(partition_id partitionID, + int32 changeCounter); +extern bool _kern_supports_deleting_child_partition(partition_id partitionID, + int32 changeCounter); +extern bool _kern_is_sub_disk_system_for(disk_system_id diskSystemID, + partition_id partitionID, int32 changeCounter); -bool _kern_supports_defragmenting_partition(partition_id partitionID, - int32 changeCounter, - bool *whileMounted); -bool _kern_supports_repairing_partition(partition_id partitionID, - int32 changeCounter, bool checkOnly, - bool *whileMounted); -bool _kern_supports_resizing_partition(partition_id partitionID, - int32 changeCounter, - bool *canResizeContents, - bool *whileMounted); -bool _kern_supports_moving_partition(partition_id partitionID, - int32 changeCounter, - partition_id *unmovable, - partition_id *needUnmounting, - size_t bufferSize); -bool _kern_supports_setting_partition_name(partition_id partitionID, - int32 changeCounter); -bool _kern_supports_setting_partition_content_name(partition_id partitionID, - int32 changeCounter, - bool *whileMounted); -bool _kern_supports_setting_partition_type(partition_id partitionID, - int32 changeCounter); -bool _kern_supports_setting_partition_parameters(partition_id partitionID, - int32 changeCounter); -bool _kern_supports_setting_partition_content_parameters( - partition_id partitionID, int32 changeCounter, bool *whileMounted); -bool _kern_supports_initializing_partition(partition_id partitionID, - int32 changeCounter, - const char *diskSystemName); -bool _kern_supports_creating_child_partition(partition_id partitionID, - int32 changeCounter); -bool _kern_supports_deleting_child_partition(partition_id partitionID, - int32 changeCounter); -bool _kern_is_sub_disk_system_for(disk_system_id diskSystemID, - partition_id partitionID, - int32 changeCounter); - -status_t _kern_validate_resize_partition(partition_id partitionID, - int32 changeCounter, off_t *size); -status_t _kern_validate_move_partition(partition_id partitionID, - int32 changeCounter, off_t *newOffset); -status_t _kern_validate_set_partition_name(partition_id partitionID, - int32 changeCounter, char *name); -status_t _kern_validate_set_partition_content_name(partition_id partitionID, - int32 changeCounter, - char *name); -status_t _kern_validate_set_partition_type(partition_id partitionID, - int32 changeCounter, - const char *type); -status_t _kern_validate_initialize_partition(partition_id partitionID, - int32 changeCounter, - const char *diskSystemName, - char *name, - const char *parameters, - size_t parametersSize); -status_t _kern_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 _kern_get_partitionable_spaces(partition_id partitionID, - int32 changeCounter, - partitionable_space_data *buffer, - int32 count, int32 *actualCount); -status_t _kern_get_next_supported_partition_type(partition_id partitionID, - int32 changeCounter, - int32 *cookie, char *type); -status_t _kern_get_partition_type_for_content_type(disk_system_id diskSystemID, - const char *contentType, - char *type); +extern status_t _kern_validate_resize_partition(partition_id partitionID, + int32 changeCounter, off_t *size); +extern status_t _kern_validate_move_partition(partition_id partitionID, + int32 changeCounter, off_t *newOffset); +extern status_t _kern_validate_set_partition_name(partition_id partitionID, + int32 changeCounter, char *name); +extern status_t _kern_validate_set_partition_content_name(partition_id partitionID, + int32 changeCounter, char *name); +extern status_t _kern_validate_set_partition_type(partition_id partitionID, + int32 changeCounter, const char *type); +extern status_t _kern_validate_initialize_partition(partition_id partitionID, + int32 changeCounter, const char *diskSystemName, + char *name, const char *parameters, size_t parametersSize); +extern status_t _kern_validate_create_child_partition(partition_id partitionID, + int32 changeCounter, off_t *offset, off_t *size, + const char *type, const char *parameters, + size_t parametersSize); +extern status_t _kern_get_partitionable_spaces(partition_id partitionID, + int32 changeCounter, partitionable_space_data *buffer, + int32 count, int32 *actualCount); +extern status_t _kern_get_next_supported_partition_type(partition_id partitionID, + int32 changeCounter, int32 *cookie, char *type); +extern status_t _kern_get_partition_type_for_content_type(disk_system_id diskSystemID, + const char *contentType, char *type); // disk device modification -status_t _kern_prepare_disk_device_modifications(partition_id deviceID); -status_t _kern_commit_disk_device_modifications(partition_id deviceID, - port_id port, int32 token, - bool completeProgress); -status_t _kern_cancel_disk_device_modifications(partition_id deviceID); -bool _kern_is_disk_device_modified(partition_id deviceID); - -status_t _kern_defragment_partition(partition_id partitionID, - int32 changeCounter); -status_t _kern_repair_partition(partition_id partitionID, int32 changeCounter, - bool checkOnly); -status_t _kern_resize_partition(partition_id partitionID, int32 changeCounter, - off_t size); -status_t _kern_move_partition(partition_id partitionID, int32 changeCounter, - off_t newOffset); -status_t _kern_set_partition_name(partition_id partitionID, - int32 changeCounter, const char *name); -status_t _kern_set_partition_content_name(partition_id partitionID, - int32 changeCounter, - const char *name); -status_t _kern_set_partition_type(partition_id partitionID, - int32 changeCounter, const char *type); -status_t _kern_set_partition_parameters(partition_id partitionID, - int32 changeCounter, - const char *parameters, - size_t parametersSize); -status_t _kern_set_partition_content_parameters(partition_id partitionID, - int32 changeCounter, - const char *parameters, - size_t parametersSize); -status_t _kern_initialize_partition(partition_id partitionID, - int32 changeCounter, - const char *diskSystemName, - const char *name, const char *parameters, - size_t parametersSize); -status_t _kern_uninitialize_partition(partition_id partitionID, - int32 changeCounter); -status_t _kern_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 _kern_delete_partition(partition_id partitionID, int32 changeCounter); +extern status_t _kern_prepare_disk_device_modifications(partition_id deviceID); +extern status_t _kern_commit_disk_device_modifications(partition_id deviceID, + port_id port, int32 token, bool completeProgress); +extern status_t _kern_cancel_disk_device_modifications(partition_id deviceID); +extern bool _kern_is_disk_device_modified(partition_id deviceID); +extern status_t _kern_defragment_partition(partition_id partitionID, + int32 changeCounter); +extern status_t _kern_repair_partition(partition_id partitionID, int32 changeCounter, + bool checkOnly); +extern status_t _kern_resize_partition(partition_id partitionID, int32 changeCounter, + off_t size); +extern status_t _kern_move_partition(partition_id partitionID, int32 changeCounter, + off_t newOffset); +extern status_t _kern_set_partition_name(partition_id partitionID, + int32 changeCounter, const char *name); +extern status_t _kern_set_partition_content_name(partition_id partitionID, + int32 changeCounter, const char *name); +extern status_t _kern_set_partition_type(partition_id partitionID, + int32 changeCounter, const char *type); +extern status_t _kern_set_partition_parameters(partition_id partitionID, + int32 changeCounter, const char *parameters, + size_t parametersSize); +extern status_t _kern_set_partition_content_parameters(partition_id partitionID, + int32 changeCounter, const char *parameters, + size_t parametersSize); +extern status_t _kern_initialize_partition(partition_id partitionID, + int32 changeCounter, const char *diskSystemName, + const char *name, const char *parameters, + size_t parametersSize); +extern status_t _kern_uninitialize_partition(partition_id partitionID, + int32 changeCounter); +extern status_t _kern_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); +extern status_t _kern_delete_partition(partition_id partitionID, int32 changeCounter); // jobs -status_t _kern_get_next_disk_device_job_info(int32 *cookie, - user_disk_device_job_info *info); -status_t _kern_get_disk_device_job_info(disk_job_id id, - user_disk_device_job_info *info); -status_t _kern_get_disk_device_job_progress_info(disk_job_id id, - disk_device_job_progress_info *info); -status_t _kern_pause_disk_device_job(disk_job_id id); -status_t _kern_cancel_disk_device_job(disk_job_id id, bool reverse); +extern status_t _kern_get_next_disk_device_job_info(int32 *cookie, + user_disk_device_job_info *info); +extern status_t _kern_get_disk_device_job_info(disk_job_id id, + user_disk_device_job_info *info); +extern status_t _kern_get_disk_device_job_progress_info(disk_job_id id, + disk_device_job_progress_info *info); +extern status_t _kern_pause_disk_device_job(disk_job_id id); +extern status_t _kern_cancel_disk_device_job(disk_job_id id, bool reverse); #if 0