#include <ipc/services.h>#include <ipc/ns.h>#include <async.h>#include <stdio.h>#include <errno.h>#include <bool.h>#include <fibril_synch.h>#include <stdlib.h>#include <str.h>#include <ipc/devmap.h>#include <assert.h>Go to the source code of this file.
Data Structures | |
| struct | devmap_device_t |
| Info about registered device. More... | |
| struct | devmap_driver_t |
| Representation of device driver. More... | |
| struct | devmap_namespace_t |
| Info about registered namespaces. More... | |
Defines | |
| #define | NAME "devmap" |
| #define | NULL_DEVICES 256 |
Functions | |
| static void | devmap_connection (ipc_callid_t iid, ipc_call_t *icall) |
| Function for handling connections to devmap. | |
| static void | devmap_connection_client (ipc_callid_t iid, ipc_call_t *icall) |
| Handle connection with device client. | |
| static void | devmap_connection_driver (ipc_callid_t iid, ipc_call_t *icall) |
| Handle connection with device driver. | |
| static devmap_handle_t | devmap_create_handle (void) |
| static devmap_device_t * | devmap_device_find_handle (devmap_handle_t handle) |
| Find device with given handle. | |
| static devmap_device_t * | devmap_device_find_name (const char *ns_name, const char *name) |
| Find device with given name. | |
| static void | devmap_device_get_handle (ipc_callid_t iid, ipc_call_t *icall) |
| Find handle for device instance identified by name. | |
| static void | devmap_device_register (ipc_callid_t iid, ipc_call_t *icall, devmap_driver_t *driver) |
| Register instance of device. | |
| static int | devmap_device_unregister (ipc_callid_t iid, ipc_call_t *icall, devmap_driver_t *driver) |
| static void | devmap_device_unregister_core (devmap_device_t *device) |
| Unregister device and free it. | |
| static devmap_driver_t * | devmap_driver_register (void) |
| Read info about new driver and add it into linked list of registered drivers. | |
| static int | devmap_driver_unregister (devmap_driver_t *driver) |
| Unregister device driver, unregister all its devices and free driver structure. | |
| static void | devmap_forward (ipc_callid_t callid, ipc_call_t *call) |
| Connect client to the device. | |
| static bool | devmap_fqdn_split (const char *fqdn, char **ns_name, char **name) |
| Convert fully qualified device name to namespace and device name. | |
| static void | devmap_get_device_count (ipc_callid_t iid, ipc_call_t *icall) |
| static void | devmap_get_devices (ipc_callid_t iid, ipc_call_t *icall) |
| static void | devmap_get_namespace_count (ipc_callid_t iid, ipc_call_t *icall) |
| static void | devmap_get_namespaces (ipc_callid_t iid, ipc_call_t *icall) |
| static void | devmap_handle_probe (ipc_callid_t iid, ipc_call_t *icall) |
| static bool | devmap_init (void) |
| Initialize device mapper. | |
| static void | devmap_namespace_addref (devmap_namespace_t *namespace, devmap_device_t *device) |
| Increase namespace reference count by including device. | |
| static devmap_namespace_t * | devmap_namespace_create (const char *ns_name) |
| Create a namespace (if not already present). | |
| static void | devmap_namespace_delref (devmap_namespace_t *namespace) |
| Decrease namespace reference count. | |
| static void | devmap_namespace_destroy (devmap_namespace_t *namespace) |
| Destroy a namespace (if it is no longer needed). | |
| static devmap_namespace_t * | devmap_namespace_find_handle (devmap_handle_t handle) |
| Find namespace with given handle. | |
| static devmap_namespace_t * | devmap_namespace_find_name (const char *name) |
| Find namespace with given name. | |
| static void | devmap_namespace_get_handle (ipc_callid_t iid, ipc_call_t *icall) |
| Find handle for namespace identified by name. | |
| static void | devmap_null_create (ipc_callid_t iid, ipc_call_t *icall) |
| static void | devmap_null_destroy (ipc_callid_t iid, ipc_call_t *icall) |
| int | main (int argc, char *argv[]) |
| Main entry point. | |
Variables | |
| static devmap_handle_t | last_handle = 0 |
| static devmap_device_t * | null_devices [NULL_DEVICES] |
Definition in file devmap.c.
1.4.7