source: mainline/contrib/arch/uspace/srv/devmap/devmap.adl

Last change on this file was f1380b7, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 7 years ago

style: Remove trailing whitespace on _all_ lines, including empty ones, remaining files.

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[ea5f46d]1interface devmap_driver {
[07fdf203]2 /* Establish connection (iface is DEVMAP_DRIVER) */
[96b02eb9]3 sysarg_t ipc_m_connect_me_to(in sysarg_t iface);
[f1380b7]4
[07fdf203]5 /* Register as a new driver */
[96b02eb9]6 sysarg_t driver_register(in_copy string name);
[f1380b7]7
[07fdf203]8 /* Unregister all devices and the driver itself */
[96b02eb9]9 sysarg_t driver_unregister(void);
[f1380b7]10
[07fdf203]11 /* Register new device and return handle */
[96b02eb9]12 sysarg_t device_register(in_copy string name, out sysarg_t handle);
[f1380b7]13
[07fdf203]14 /* Unregister device */
[96b02eb9]15 sysarg_t device_unregister(in sysarg_t handle);
[f1380b7]16
[07fdf203]17 /* Resolve device name to handle */
[96b02eb9]18 sysarg_t device_get_handle(in sysarg_t flags, in_copy string name);
[f1380b7]19
[07fdf203]20 /* Get device name for a given handle */
[96b02eb9]21 sysarg_t device_get_name(in sysarg_t handle);
[f1380b7]22
[07fdf203]23 /* Close connection */
[96b02eb9]24 sysarg_t ipc_m_phone_hungup(void);
[07fdf203]25 protocol:
[ea5f46d]26 [devmap_driver.bp]
[07fdf203]27};
28
[ea5f46d]29interface devmap_client {
[07fdf203]30 /* Establish connection (iface is DEVMAP_CLIENT) or forward to device (iface is DEVMAP_CONNECT_TO_DEVICE) */
[96b02eb9]31 sysarg_t ipc_m_connect_me_to(in sysarg_t iface, in sysarg_t handle);
[f1380b7]32
[07fdf203]33 /* Resolve device name to handle */
[96b02eb9]34 sysarg_t device_get_handle(in sysarg_t flags, in_copy string name);
[f1380b7]35
[07fdf203]36 /* Get device name for a given handle */
[96b02eb9]37 sysarg_t device_get_name(in sysarg_t handle);
[f1380b7]38
[07fdf203]39 /* Clone NULL device */
[96b02eb9]40 sysarg_t device_null_create(out sysarg_t index);
[f1380b7]41
[07fdf203]42 /* Destroy NULL device */
[96b02eb9]43 sysarg_t device_null_destroy(in sysarg_t index);
[f1380b7]44
[07fdf203]45 /* Get number of devices */
[96b02eb9]46 sysarg_t device_get_count(out sysarg_t count);
[f1380b7]47
[07fdf203]48 /* Get an array of (device_name, handle) pairs */
[96b02eb9]49 sysarg_t device_get_devices(out_copy stream data);
[f1380b7]50
[07fdf203]51 /* Close connection */
[96b02eb9]52 sysarg_t ipc_m_phone_hungup(void);
[07fdf203]53 protocol:
[ea5f46d]54 [devmap_client.bp]
[f1380b7]55
[07fdf203]56};
57
58frame devmap {
59 provides:
[ea5f46d]60 devmap_driver devmap_driver;
61 devmap_client devmap_client;
[07fdf203]62 requires:
[2a70672]63 [/uspace/lib/libc/requires]
[810860a]64 ns ns;
[afe34be]65 rd rd;
66 console console;
[6d4c549]67 initialization:
68 !ns.ipc_m_connect_to_me /* devmap */
[07fdf203]69 protocol:
[6d4c549]70 [/uspace/lib/libc/protocol]
[07fdf203]71};
Note: See TracBrowser for help on using the repository browser.