summaryrefslogtreecommitdiff
path: root/src/libskabus/skabus_rpc_cancel.c
blob: d731c6e6d4535214060cc861f974c05cf30f0f63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* ISC license. */

#include <errno.h>
#include <skalibs/tai.h>
#include <skalibs/skaclient.h>
#include <skabus/rpc.h>

int skabus_rpc_cancel (skabus_rpc_t *a, uint64_t serial, tain_t const *deadline, tain_t *stamp)
{
  unsigned char r ;
  if (!skabus_rpc_cancel_async(a, serial, &r)) return 0 ;
  if (!skaclient_syncify(&a->connection, deadline, stamp)) return 0 ;
  if (r) return (errno = r, 0) ;
  return 1 ;
}