main.c File Reference

#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_tdevman_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


Detailed Description

Definition in file main.c.


Generated on Thu Jun 2 07:45:51 2011 for HelenOS/USB by  doxygen 1.4.7