From 38f49a769a222b1a5227ff7bec69248bc512a3ca Mon Sep 17 00:00:00 2001 From: Mika Liljeberg Date: Thu, 25 Nov 2010 16:52:10 +0200 Subject: [PATCH] gisi: store user data in GIsiModem --- gisi/modem.c | 14 ++++++++++++++ gisi/modem.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/gisi/modem.c b/gisi/modem.c index 971d09e9..7476bef7 100644 --- a/gisi/modem.c +++ b/gisi/modem.c @@ -62,6 +62,7 @@ struct _GIsiModem { guint ind_watch; GIsiNotifyFunc debug; void *ddata; + void *opaque; }; struct _GIsiPending { @@ -430,6 +431,19 @@ GIsiModem *g_isi_modem_create_by_name(const char *name) return g_isi_modem_create(if_nametoindex(name)); } +void *g_isi_modem_set_userdata(GIsiModem *modem, void *data) +{ + void *old = modem->opaque; + + modem->opaque = data; + return old; +} + +void *g_isi_modem_get_userdata(GIsiModem *modem) +{ + return modem->opaque; +} + static uint8_t service_next_utid(GIsiServiceMux *mux) { if (mux->last_utid == 0x00 || mux->last_utid == 0xFF) diff --git a/gisi/modem.h b/gisi/modem.h index 50f1f05b..9c67b51b 100644 --- a/gisi/modem.h +++ b/gisi/modem.h @@ -46,6 +46,8 @@ void g_isi_modem_destroy(GIsiModem *modem); unsigned g_isi_modem_index(GIsiModem *modem); void g_isi_modem_set_debug(GIsiModem *modem, GIsiNotifyFunc notify, void *opaque); +void *g_isi_modem_set_userdata(GIsiModem *modem, void *data); +void *g_isi_modem_get_userdata(GIsiModem *modem); GIsiPending *g_isi_request_send(GIsiModem *modem, uint8_t resource, const void *__restrict buf, size_t len,