summaryrefslogtreecommitdiffstats
path: root/gisi/client.h
diff options
context:
space:
mode:
Diffstat (limited to 'gisi/client.h')
-rw-r--r--gisi/client.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/gisi/client.h b/gisi/client.h
index ea140ed1..2d67fbe1 100644
--- a/gisi/client.h
+++ b/gisi/client.h
@@ -31,6 +31,8 @@ extern "C" {
#include "modem.h"
+#define G_ISI_CLIENT_DEFAULT_TIMEOUT (5)
+
struct _GIsiClient;
typedef struct _GIsiClient GIsiClient;
@@ -40,23 +42,35 @@ uint8_t g_isi_client_resource(GIsiClient *client);
void g_isi_client_reset(GIsiClient *client);
void g_isi_client_destroy(GIsiClient *client);
-GIsiPending *g_isi_client_send(GIsiClient *client, const void *__restrict msg,
+void g_isi_client_set_timeout(GIsiClient *client, unsigned timeout);
+
+gboolean g_isi_client_send(GIsiClient *client,
+ const void *__restrict msg, size_t len,
+ GIsiNotifyFunc notify, void *data,
+ GDestroyNotify destroy);
+
+gboolean g_isi_client_vsend(GIsiClient *client,
+ const struct iovec *iov, size_t iovlen,
+ GIsiNotifyFunc notify, void *data,
+ GDestroyNotify destroy);
+
+gboolean g_isi_client_send_with_timeout(GIsiClient *client, const void *__restrict msg,
size_t len, unsigned timeout,
GIsiNotifyFunc notify, void *data,
GDestroyNotify destroy);
-GIsiPending *g_isi_client_vsend(GIsiClient *client, const struct iovec *iov,
+gboolean g_isi_client_vsend_with_timeout(GIsiClient *client, const struct iovec *iov,
size_t iovlen, unsigned timeout,
GIsiNotifyFunc notify, void *data,
GDestroyNotify destroy);
-GIsiPending *g_isi_client_ind_subscribe(GIsiClient *client, uint8_t type,
+gboolean g_isi_client_ind_subscribe(GIsiClient *client, uint8_t type,
GIsiNotifyFunc notify, void *data);
-GIsiPending *g_isi_client_ntf_subscribe(GIsiClient *client, uint8_t type,
+gboolean g_isi_client_ntf_subscribe(GIsiClient *client, uint8_t type,
GIsiNotifyFunc notify, void *data);
-GIsiPending *g_isi_client_verify(GIsiClient *client, GIsiNotifyFunc notify,
- void *data, GDestroyNotify destroy);
+gboolean g_isi_client_verify(GIsiClient *client, GIsiNotifyFunc notify,
+ void *data, GDestroyNotify destroy);
#ifdef __cplusplus
}