From bc17659751eb5641911b49cd3b4c24530e476949 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 17 Jan 2012 17:09:15 +0200 Subject: [PATCH] eir: Add Class Of Device parsing --- src/eir.c | 6 ++++++ src/eir.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/eir.c b/src/eir.c index 1b6894900..f3f43f9df 100644 --- a/src/eir.c +++ b/src/eir.c @@ -49,6 +49,7 @@ #define EIR_NAME_SHORT 0x08 /* shortened local name */ #define EIR_NAME_COMPLETE 0x09 /* complete local name */ #define EIR_TX_POWER 0x0A /* transmit power level */ +#define EIR_CLASS_OF_DEV 0x0D /* Class of Device */ #define EIR_DEVICE_ID 0x10 /* device ID */ void eir_data_free(struct eir_data *eir) @@ -172,6 +173,11 @@ int eir_parse(struct eir_data *eir, uint8_t *eir_data, uint8_t eir_len) field_len - 1); eir->name_complete = eir_data[1] == EIR_NAME_COMPLETE; break; + + case EIR_CLASS_OF_DEV: + if (field_len - 1 < 3) + break; + memcpy(eir->dev_class, &eir_data[2], 3); } eir_data += field_len + 1; diff --git a/src/eir.h b/src/eir.h index 47c2258c0..1f11a7a75 100644 --- a/src/eir.h +++ b/src/eir.h @@ -31,6 +31,7 @@ struct eir_data { GSList *services; int flags; char *name; + uint8_t dev_class[3]; gboolean name_complete; }; -- 2.47.3