Changeset 9b1baac in mainline for uspace/lib/c/include


Ignore:
Timestamp:
2018-07-18T08:35:42Z (7 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0b05082
Parents:
edc64c0
Message:

ns: register service interfaces individually

Each service interface is now registered individually with the naming
service. This adds a degree of type safety, potentially allows the
individual interfaces to be implemented by independent tasks and moves
the code slightly closer to the full-fledged ports design.

Broker services (e.g. the location service) can still register a
fallback port for receiving connections to all interface types
explicitly using service_register_broker().

Location:
uspace/lib/c/include
Files:
3 edited

Legend:

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

    redc64c0 r9b1baac  
    342342extern async_sess_t *async_connect_kbox(task_id_t);
    343343
    344 extern errno_t async_connect_to_me(async_exch_t *, sysarg_t, sysarg_t, sysarg_t);
     344extern errno_t async_connect_to_me(async_exch_t *, iface_t, sysarg_t, sysarg_t);
    345345
    346346extern errno_t async_hangup(async_sess_t *);
  • uspace/lib/c/include/ipc/ns.h

    redc64c0 r9b1baac  
    4141        NS_PING = IPC_FIRST_USER_METHOD,
    4242        NS_REGISTER,
     43        NS_REGISTER_BROKER,
    4344        NS_TASK_WAIT,
    4445        NS_ID_INTRO,
  • uspace/lib/c/include/ns.h

    redc64c0 r9b1baac  
    4040#include <async.h>
    4141
    42 extern errno_t service_register(service_t);
     42extern errno_t service_register(service_t, iface_t, async_port_handler_t,
     43    void *);
     44extern errno_t service_register_broker(service_t, async_port_handler_t, void *);
    4345extern async_sess_t *service_connect(service_t, iface_t, sysarg_t);
    4446extern async_sess_t *service_connect_blocking(service_t, iface_t, sysarg_t);
Note: See TracChangeset for help on using the changeset viewer.