diff options
Diffstat (limited to 'gisi/netlink.h')
-rw-r--r-- | gisi/netlink.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/gisi/netlink.h b/gisi/netlink.h index 9e555a93..dfade5b8 100644 --- a/gisi/netlink.h +++ b/gisi/netlink.h @@ -35,10 +35,25 @@ extern "C" { struct _GPhonetNetlink; typedef struct _GPhonetNetlink GPhonetNetlink; -typedef void (*GPhonetNetlinkFunc)(bool up, uint8_t addr, GIsiModem *idx, - void *data); +typedef enum { + PN_LINK_REMOVED, + PN_LINK_DOWN, + PN_LINK_UP +} GPhonetLinkState; + +typedef void (*GPhonetNetlinkFunc)(GIsiModem *idx, + GPhonetLinkState st, + char const *iface, + void *data); + +GPhonetNetlink *g_pn_netlink_by_name(char const *ifname); + +GPhonetNetlink *g_pn_netlink_by_modem(GIsiModem *idx); + +GPhonetNetlink *g_pn_netlink_start(GIsiModem *idx, + GPhonetNetlinkFunc callback, + void *data); -GPhonetNetlink *g_pn_netlink_start(GPhonetNetlinkFunc func, void *data); void g_pn_netlink_stop(GPhonetNetlink *self); #ifdef __cplusplus |