diff options
Diffstat (limited to 'src/libskabus/skabus_rpc_interface_register.c')
| -rw-r--r-- | src/libskabus/skabus_rpc_interface_register.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libskabus/skabus_rpc_interface_register.c b/src/libskabus/skabus_rpc_interface_register.c new file mode 100644 index 0000000..5978a7b --- /dev/null +++ b/src/libskabus/skabus_rpc_interface_register.c @@ -0,0 +1,16 @@ +/* ISC license. */ + +#include <errno.h> +#include <skalibs/tai.h> +#include <skalibs/skaclient.h> +#include <skabus/rpc.h> + +int skabus_rpc_interface_register (skabus_rpc_t *a, uint32_t *ifid, char const *ifname, skabus_rpc_interface_t const *ifbody, char const *re, tain_t const *deadline, tain_t *stamp) +{ + skabus_rpc_interface_result_t r ; + if (!skabus_rpc_interface_register_async(a, ifname, ifbody, re, &r)) return 0 ; + if (!skaclient_syncify(&a->connection, deadline, stamp)) return 0 ; + if (r.err) return (errno = r.err, 0) ; + *ifid = r.ifid ; + return 1 ; +} |
