mirror of
https://review.haiku-os.org/haiku
synced 2025-01-21 22:04:49 +01:00
a77ed12b25
* driver_entry::api_version now stores the actual version instead of a pointer to it. * Renamed node_path_entry to path_entry and reused it for driver reloading: handle_driver_events() will now also check for drivers to add in the sDriversToAdd list. * Added new devfs_driver_added(), and devfs_driver_removed() functions that trigger certain driver actions. * Implemented notifying devfs on B_ENTRY_CREATED, B_ENTRY_REMOVED, and B_ENTRY_MOVED events in probe.cpp. The watched directory inode numbers are now stored in a hash for B_ENTRY_MOVED. * unpublish_driver() did not actually delete the node, it only marked it removable since we never get/put the node. We now do, and so the node is actually removed as intended. * Added "devfs_driver" KDL command. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24152 a95241bf-73f2-0310-859d-f6bbb57e9c96
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/*
|
|
* Copyright 2002-2008, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
|
* Distributed under the terms of the NewOS License.
|
|
*/
|
|
#ifndef _DEVFS_H
|
|
#define _DEVFS_H
|
|
|
|
|
|
#include <Drivers.h>
|
|
|
|
struct kernel_args;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void devfs_add_preloaded_drivers(struct kernel_args* args);
|
|
|
|
status_t devfs_add_driver(const char *path);
|
|
|
|
void devfs_driver_added(const char *path);
|
|
void devfs_driver_removed(const char *path);
|
|
|
|
status_t devfs_unpublish_file_device(const char *path);
|
|
status_t devfs_publish_file_device(const char *path, const char *filePath);
|
|
|
|
status_t devfs_unpublish_partition(const char *path);
|
|
status_t devfs_publish_partition(const char *path, const partition_info *info);
|
|
|
|
status_t devfs_unpublish_device(const char *path, bool disconnect);
|
|
status_t devfs_publish_device(const char *path, device_hooks *calls);
|
|
status_t devfs_publish_directory(const char *path);
|
|
status_t devfs_rescan_driver(const char *driverName);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _DEVFS_H */
|