Changeset f9b2cb4c in mainline for uspace/lib/c/include


Ignore:
Timestamp:
2015-08-23T12:50:23Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9ef495f
Parents:
0dd16778
Message:

unify interface API

  • introduce new interfaces
  • unify location service clients to always expect service ID as the second argument
  • remove obsolete methods that take explicit exchange management arguments (first phase)
  • use interfaces in device drivers, devman, location service, logger, inet
Location:
uspace/lib/c/include
Files:
1 deleted
10 edited

Legend:

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

    r0dd16778 rf9b2cb4c  
    5959 *
    6060 * @param callid ID of incoming call or 0 if connection initiated from
    61  *               inside using async_connect_to_me()
     61 *               inside using async_create_callback_port()
    6262 * @param call   Incoming call or 0 if connection initiated from inside
    63  * @param arg    Local argument passed from async_new_connection() or
    64  *               async_connect_to_me()
     63 *               using async_create_callback_port()
     64 * @param arg    Local argument.
     65 *
    6566 */
    6667typedef void (*async_port_handler_t)(ipc_callid_t, ipc_call_t *, void *);
     
    8283        EXCHANGE_ATOMIC = 0,
    8384       
     85        /** Exchange management via mutual exclusion
     86         *
     87         * Suitable for any kind of client/server communication,
     88         * but can limit parallelism.
     89         *
     90         */
     91        EXCHANGE_SERIALIZE = 1,
     92       
    8493        /** Exchange management via phone cloning
    8594         *
     
    8998         *
    9099         */
    91         EXCHANGE_PARALLEL = 1,
    92        
    93         /** Exchange management via mutual exclusion
    94          *
    95          * Suitable for any kind of client/server communication,
    96          * but can limit parallelism.
    97          *
    98          */
    99         EXCHANGE_SERIALIZE = 2
     100        EXCHANGE_PARALLEL = 2
    100101} exch_mgmt_t;
    101102
     
    358359extern async_sess_t *async_connect_kbox(task_id_t);
    359360
    360 extern int async_connect_to_me(async_exch_t *, sysarg_t, sysarg_t, sysarg_t,
    361     async_port_handler_t, void *);
     361extern int async_connect_to_me(async_exch_t *, sysarg_t, sysarg_t, sysarg_t);
    362362
    363363extern int async_hangup(async_sess_t *);
  • uspace/lib/c/include/devman.h

    r0dd16778 rf9b2cb4c  
    4242#include <stdbool.h>
    4343
    44 extern async_exch_t *devman_exchange_begin_blocking(devman_interface_t);
    45 extern async_exch_t *devman_exchange_begin(devman_interface_t);
     44extern async_exch_t *devman_exchange_begin_blocking(iface_t);
     45extern async_exch_t *devman_exchange_begin(iface_t);
    4646extern void devman_exchange_end(async_exch_t *);
    4747
     
    5353extern int devman_drv_fun_offline(devman_handle_t);
    5454
    55 extern async_sess_t *devman_device_connect(exch_mgmt_t, devman_handle_t,
    56     unsigned int);
    57 extern async_sess_t *devman_parent_device_connect(exch_mgmt_t, devman_handle_t,
     55extern async_sess_t *devman_device_connect(devman_handle_t, unsigned int);
     56extern async_sess_t *devman_parent_device_connect(devman_handle_t,
    5857    unsigned int);
    5958
  • uspace/lib/c/include/ipc/devman.h

    r0dd16778 rf9b2cb4c  
    141141
    142142typedef enum {
    143         DEVMAN_DRIVER = 1,
    144         DEVMAN_CLIENT,
    145         DEVMAN_CONNECT_TO_DEVICE,
    146         DEVMAN_CONNECT_TO_PARENTS_DEVICE
    147 } devman_interface_t;
    148 
    149 typedef enum {
    150143        DEVMAN_DRIVER_REGISTER = IPC_FIRST_USER_METHOD,
    151144        DEVMAN_ADD_FUNCTION,
  • uspace/lib/c/include/ipc/inet.h

    r0dd16778 rf9b2cb4c  
    3737
    3838#include <ipc/common.h>
    39 
    40 /** Inet ports */
    41 typedef enum {
    42         /** Default port */
    43         INET_PORT_DEFAULT = 1,
    44         /** Configuration port */
    45         INET_PORT_CFG,
    46         /** Ping service port */
    47         INET_PORT_PING,
    48         /** Ping6 service port */
    49         INET_PORT_PING6
    50 } inet_port_t;
    5139
    5240/** Requests on Inet default port */
  • uspace/lib/c/include/ipc/loc.h

    r0dd16778 rf9b2cb4c  
    7676} loc_event_t;
    7777
    78 /** Ports provided by location service.
    79  *
    80  * Every process that connects to loc must ask one of following
    81  * ports, otherwise connection will be refused.
    82  *
    83  */
    84 typedef enum {
    85         /** Service supplier (server) port */
    86         LOC_PORT_SUPPLIER = 1,
    87         /** Service consumer (client) port */
    88         LOC_PORT_CONSUMER,
    89         /** Create new connection to instance of device that
    90             is specified by second argument of call. */
    91         LOC_CONNECT_TO_SERVICE
    92 } loc_interface_t;
    93 
    9478typedef struct {
    9579        service_id_t id;
  • uspace/lib/c/include/ipc/logger.h

    r0dd16778 rf9b2cb4c  
    6969} logger_writer_request_t;
    7070
    71 typedef enum {
    72         /** Interface for controlling logger behavior. */
    73         LOGGER_INTERFACE_CONTROL,
    74         /** Interface for servers writing to the log. */
    75         LOGGER_INTERFACE_WRITER
    76 } logger_interface_t;
    77 
    7871#endif
    7972
  • uspace/lib/c/include/ipc/services.h

    r0dd16778 rf9b2cb4c  
    5252} service_t;
    5353
    54 #define SERVICE_NAME_CORECFG    "corecfg"
    55 #define SERVICE_NAME_DHCP       "net/dhcp"
    56 #define SERVICE_NAME_DNSR       "net/dnsr"
    57 #define SERVICE_NAME_INET       "net/inet"
    58 #define SERVICE_NAME_INETCFG    "net/inetcfg"
    59 #define SERVICE_NAME_INETPING   "net/inetping"
    60 #define SERVICE_NAME_INETPING6  "net/inetping6"
    61 #define SERVICE_NAME_NETCONF    "net/netconf"
    62 #define SERVICE_NAME_UDP        "net/udp"
    63 #define SERVICE_NAME_TCP        "net/tcp"
     54#define SERVICE_NAME_CORECFG  "corecfg"
     55#define SERVICE_NAME_DHCP     "net/dhcp"
     56#define SERVICE_NAME_DNSR     "net/dnsr"
     57#define SERVICE_NAME_INET     "net/inet"
     58#define SERVICE_NAME_NETCONF  "net/netconf"
     59#define SERVICE_NAME_UDP      "net/udp"
     60#define SERVICE_NAME_TCP      "net/tcp"
    6461
    6562#endif
  • uspace/lib/c/include/loc.h

    r0dd16778 rf9b2cb4c  
    4242typedef void (*loc_cat_change_cb_t)(void);
    4343
    44 extern async_exch_t *loc_exchange_begin_blocking(loc_interface_t);
    45 extern async_exch_t *loc_exchange_begin(loc_interface_t);
     44extern async_exch_t *loc_exchange_begin_blocking(iface_t);
     45extern async_exch_t *loc_exchange_begin(iface_t);
    4646extern void loc_exchange_end(async_exch_t *);
    4747
    4848extern int loc_server_register(const char *);
    4949extern int loc_service_register(const char *, service_id_t *);
    50 extern int loc_service_register_with_iface(const char *, service_id_t *,
    51     sysarg_t);
    5250extern int loc_service_unregister(service_id_t);
    5351extern int loc_service_add_to_cat(service_id_t, category_id_t);
     
    6563extern loc_object_type_t loc_id_probe(service_id_t);
    6664
    67 extern async_sess_t *loc_service_connect_iface(service_id_t, iface_t,
    68     unsigned int);
    69 extern async_sess_t *loc_service_connect(exch_mgmt_t, service_id_t,
     65extern async_sess_t *loc_service_connect(service_id_t, iface_t,
    7066    unsigned int);
    7167
  • uspace/lib/c/include/ns.h

    r0dd16778 rf9b2cb4c  
    4242
    4343extern int service_register(service_t);
    44 extern async_sess_t *service_connect(exch_mgmt_t, service_t, sysarg_t);
    45 extern async_sess_t *service_connect_iface_extended(service_t, iface_t, sysarg_t);
    46 extern async_sess_t *service_connect_iface(exch_mgmt_t, sysarg_t, service_t, sysarg_t);
    47 extern async_sess_t *service_connect_blocking(exch_mgmt_t, service_t, sysarg_t);
    48 extern async_sess_t *service_connect_blocking_iface_extended(service_t, iface_t,
    49     sysarg_t);
    50 extern async_sess_t *service_connect_blocking_iface(exch_mgmt_t, sysarg_t, service_t,
    51     sysarg_t);
    52 extern async_sess_t *service_bind(service_t, sysarg_t, sysarg_t, sysarg_t,
    53     async_port_handler_t);
     44extern async_sess_t *service_connect(service_t, iface_t, sysarg_t);
     45extern async_sess_t *service_connect_blocking(service_t, iface_t, sysarg_t);
    5446
    5547extern int ns_ping(void);
  • uspace/lib/c/include/vfs/vfs_sess.h

    r0dd16778 rf9b2cb4c  
    3939#include <stdio.h>
    4040
    41 extern async_sess_t *fd_session(exch_mgmt_t, int);
    42 extern async_sess_t *fsession(exch_mgmt_t, FILE *);
     41extern async_sess_t *fd_session(int, iface_t);
     42extern async_sess_t *fsession(FILE *, iface_t);
    4343
    4444#endif
Note: See TracChangeset for help on using the changeset viewer.