Changeset 95a47b0 in mainline


Ignore:
Timestamp:
2019-02-06T13:25:12Z (5 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ab87db5
Parents:
fafb8e5
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-02 14:30:19)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-06 13:25:12)
Message:

Turn ipc_get_*/ipc_set_* into functions

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • abi/include/abi/ipc/ipc.h

    rfafb8e5 r95a47b0  
    3636#define ABI_IPC_IPC_H_
    3737
     38#include <stdint.h>
    3839#include <abi/proc/task.h>
    3940#include <abi/cap.h>
     41#include <_bits/errno.h>
    4042
    4143/** Length of data being transferred with IPC call
     
    7173 */
    7274#define DATA_XFER_LIMIT  (64 * 1024)
    73 
    74 /* Macros for manipulating calling data */
    75 #define ipc_set_retval(data, retval)  ((data)->args[0] = (sysarg_t) (retval))
    76 #define ipc_set_imethod(data, val)    ((data)->args[0] = (val))
    77 #define ipc_set_arg1(data, val)       ((data)->args[1] = (val))
    78 #define ipc_set_arg2(data, val)       ((data)->args[2] = (val))
    79 #define ipc_set_arg3(data, val)       ((data)->args[3] = (val))
    80 #define ipc_set_arg4(data, val)       ((data)->args[4] = (val))
    81 #define ipc_set_arg5(data, val)       ((data)->args[5] = (val))
    82 
    83 #define ipc_get_imethod(data)  ((data)->args[0])
    84 #define ipc_get_retval(data)   ((errno_t) (data)->args[0])
    85 
    86 #define ipc_get_arg1(data)  ((data)->args[1])
    87 #define ipc_get_arg2(data)  ((data)->args[2])
    88 #define ipc_get_arg3(data)  ((data)->args[3])
    89 #define ipc_get_arg4(data)  ((data)->args[4])
    90 #define ipc_get_arg5(data)  ((data)->args[5])
    9175
    9276/* Forwarding flags. */
     
    128112} ipc_data_t;
    129113
     114/* Functions for manipulating calling data */
     115
     116static inline void ipc_set_retval(ipc_data_t *data, errno_t retval)
     117{
     118        data->args[0] = (sysarg_t) retval;
     119}
     120
     121static inline void ipc_set_imethod(ipc_data_t *data, sysarg_t val)
     122{
     123        data->args[0] = val;
     124}
     125
     126static inline void ipc_set_arg1(ipc_data_t *data, sysarg_t val)
     127{
     128        data->args[1] = val;
     129}
     130
     131static inline void ipc_set_arg2(ipc_data_t *data, sysarg_t val)
     132{
     133        data->args[2] = val;
     134}
     135
     136static inline void ipc_set_arg3(ipc_data_t *data, sysarg_t val)
     137{
     138        data->args[3] = val;
     139}
     140
     141static inline void ipc_set_arg4(ipc_data_t *data, sysarg_t val)
     142{
     143        data->args[4] = val;
     144}
     145
     146static inline void ipc_set_arg5(ipc_data_t *data, sysarg_t val)
     147{
     148        data->args[5] = val;
     149}
     150
     151static inline sysarg_t ipc_get_imethod(ipc_data_t *data)
     152{
     153        return data->args[0];
     154}
     155static inline errno_t ipc_get_retval(ipc_data_t *data)
     156{
     157        return (errno_t) data->args[0];
     158}
     159
     160static inline sysarg_t ipc_get_arg1(ipc_data_t *data)
     161{
     162        return data->args[1];
     163}
     164
     165static inline sysarg_t ipc_get_arg2(ipc_data_t *data)
     166{
     167        return data->args[2];
     168}
     169
     170static inline sysarg_t ipc_get_arg3(ipc_data_t *data)
     171{
     172        return data->args[3];
     173}
     174
     175static inline sysarg_t ipc_get_arg4(ipc_data_t *data)
     176{
     177        return data->args[4];
     178}
     179
     180static inline sysarg_t ipc_get_arg5(ipc_data_t *data)
     181{
     182        return data->args[5];
     183}
     184
    130185#endif
    131186
  • uspace/lib/c/generic/async/server.c

    rfafb8e5 r95a47b0  
    656656        }
    657657
    658         ht_link_t *link = hash_table_find(&notification_hash_table,
    659             &ipc_get_imethod(call));
     658        sysarg_t imethod = ipc_get_imethod(call);
     659        ht_link_t *link = hash_table_find(&notification_hash_table, &imethod);
    660660        if (!link) {
    661661                /* Invalid notification. */
Note: See TracChangeset for help on using the changeset viewer.