#include <inttypes.h>
#include <assert.h>
#include <ipc/services.h>
#include <ipc/ns.h>
#include <async.h>
#include <stdio.h>
#include <errno.h>
#include <str_error.h>
#include <bool.h>
#include <fibril_synch.h>
#include <stdlib.h>
#include <str.h>
#include <dirent.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <ctype.h>
#include <io/log.h>
#include <ipc/devman.h>
#include <ipc/driver.h>
#include <thread.h>
#include <devmap.h>
#include "devman.h"
Go to the source code of this file.
Defines | |
#define | DRIVER_DEFAULT_STORE "/drv" |
Functions | |
static int | assign_driver_fibril (void *arg) |
static void | devman_add_function (ipc_callid_t callid, ipc_call_t *call) |
Handle function registration. | |
static void | devman_add_function_to_class (ipc_callid_t callid, ipc_call_t *call) |
static void | devman_connection (ipc_callid_t iid, ipc_call_t *icall) |
Function for handling connections to device manager. | |
static void | devman_connection_client (ipc_callid_t iid, ipc_call_t *icall) |
Function for handling connections from a client to the device manager. | |
static void | devman_connection_devmapper (ipc_callid_t iid, ipc_call_t *icall) |
Function for handling connections from a client forwarded by the device mapper to the device manager. | |
static void | devman_connection_driver (ipc_callid_t iid, ipc_call_t *icall) |
Function for handling connections from a driver to the device manager. | |
static driver_t * | devman_driver_register (void) |
Register running driver. | |
static void | devman_forward (ipc_callid_t iid, ipc_call_t *icall, bool drv_to_parent) |
static void | devman_function_get_handle (ipc_callid_t iid, ipc_call_t *icall) |
Find handle for the device instance identified by the device's path in the device tree. | |
static void | devman_function_get_handle_by_class (ipc_callid_t iid, ipc_call_t *icall) |
Find handle for the device instance identified by device class name. | |
static void | devman_get_device_path_by_handle (ipc_callid_t iid, ipc_call_t *icall) |
Find device path by its handle. | |
static bool | devman_init (void) |
Initialize device manager internal structures. | |
static int | devman_receive_match_id (match_id_list_t *match_ids) |
Receive device match ID from the device's parent driver and add it to the list of devices match ids. | |
static int | devman_receive_match_ids (sysarg_t match_count, match_id_list_t *match_ids) |
Receive device match IDs from the device's parent driver and add them to the list of devices match ids. | |
static void | devmap_register_class_dev (dev_class_info_t *cli) |
static int | init_running_drv (void *drv) |
Initialize driver which has registered itself as running and ready. | |
int | main (int argc, char *argv[]) |
Main entry point. | |
Variables | |
static class_list_t | class_list |
static dev_tree_t | device_tree |
static driver_list_t | drivers_list |
Definition in file main.c.