Changeset 8820544 in mainline for uspace/lib/c/include/async.h


Ignore:
Timestamp:
2014-08-16T00:02:04Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
35b8bfe, 8cd680c
Parents:
83f29e0
Message:

support for kernel notification multiplexing in the async framework

  • rename SYS_EVENT_* and SYS_IRQ_* syscalls to unify the terminology
  • add SYS_IPC_EVENT_UNSUBSCRIBE
  • remove IRQ handler multiplexing from DDF, the generic mechanism replaces it (unfortunatelly the order of arguments used by interrupt_handler_t needs to be permutated to align with the async framework conventions)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/async.h

    r83f29e0 r8820544  
    4646#include <stdbool.h>
    4747#include <task.h>
     48#include <abi/ddi/irq.h>
     49#include <abi/ipc/event.h>
    4850
    4951typedef ipc_callid_t aid_t;
     
    6264typedef void (*async_client_conn_t)(ipc_callid_t, ipc_call_t *, void *);
    6365
    64 /** Interrupt handler */
    65 typedef void (*async_interrupt_handler_t)(ipc_callid_t, ipc_call_t *);
     66/** Notification handler */
     67typedef void (*async_notification_handler_t)(ipc_callid_t, ipc_call_t *,
     68    void *);
    6669
    6770/** Exchange management style
     
    155158
    156159extern void async_set_client_connection(async_client_conn_t);
    157 extern void async_set_interrupt_received(async_interrupt_handler_t);
    158 extern void async_set_interrupt_handler_stack_size(size_t);
     160extern void async_set_notification_handler_stack_size(size_t);
     161
     162extern int async_irq_subscribe(int, int, async_notification_handler_t, void *,
     163    const irq_code_t *);
     164extern int async_irq_unsubscribe(int, int);
     165
     166extern int async_event_subscribe(event_type_t, async_notification_handler_t,
     167    void *);
     168extern int async_event_task_subscribe(event_task_type_t,
     169    async_notification_handler_t, void *);
     170extern int async_event_unsubscribe(event_type_t);
     171extern int async_event_task_unsubscribe(event_task_type_t);
     172extern int async_event_unmask(event_type_t);
     173extern int async_event_task_unmask(event_task_type_t);
    159174
    160175/*
Note: See TracChangeset for help on using the changeset viewer.