X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Frfkill.c;h=84693b436af9523f2de008077e36d6cfd359d6e1;hb=46b0ec36ec1ad1f130ecc5b99e9330158a9a283f;hp=efe979c7d9656ef8c5bd0327161b8b9998986d78;hpb=784efa53be9485eb951e495306c2e944dcb7ff74;p=connman diff --git a/src/rfkill.c b/src/rfkill.c index efe979c..84693b4 100644 --- a/src/rfkill.c +++ b/src/rfkill.c @@ -28,13 +28,39 @@ #include #include #include +#include #include "connman.h" +enum rfkill_type { + RFKILL_TYPE_ALL = 0, + RFKILL_TYPE_WLAN, + RFKILL_TYPE_BLUETOOTH, + RFKILL_TYPE_UWB, + RFKILL_TYPE_WIMAX, + RFKILL_TYPE_WWAN, +}; + +enum rfkill_operation { + RFKILL_OP_ADD = 0, + RFKILL_OP_DEL, + RFKILL_OP_CHANGE, + RFKILL_OP_CHANGE_ALL, +}; + +struct rfkill_event { + uint32_t idx; + uint8_t type; + uint8_t op; + uint8_t soft; + uint8_t hard; +}; + static gboolean rfkill_event(GIOChannel *chan, GIOCondition cond, gpointer data) { unsigned char buf[32]; + struct rfkill_event *event = (void *) buf; gsize len; GIOError err; @@ -50,7 +76,12 @@ static gboolean rfkill_event(GIOChannel *chan, return FALSE; } - /* process RFKILL event */ + if (len != sizeof(struct rfkill_event)) + return TRUE; + + connman_info("RFKILL event: idx %u type %u op %u soft %u hard %u", + event->idx, event->type, event->op, + event->soft, event->hard); return TRUE; }