On Thu, Jul 03, 2014 at 01:28:15PM +0200, Jacob Erlbeck wrote:
+ /* Skip Attach result */ + /* Skip Force to standby */ + /* Skip Periodic RA update timer */ + /* Skip Radio priority for SMS */ + /* Skip Spare half octet */ + data_len -= 3; + data += 3;
Which are the other half octets here?
+ /* Skip Update type */ + /* Skip GPRS ciphering key sequence number */ + data_len -= 1; + data += 1;
I don't have a copy of the specification open right now. Could you please indicate how the number of skips relate to data_len/data adjustments here?
+ if (data[0] != 5) + /* invalid */ + return 0;;
Extra ';' :)
+ /* LLC patch (GMM) has been requested explicitely */
^-- typo
+ /* Fix LLC IE len */ + if (llc[-2] == BSSGP_IE_LLC_PDU && llc[-1] & 0x80) { + /* most probably a one byte length */
You mentioned this to me already. What API documentation do you need? Keep track inside the tlv_parsed structure of _where_ the tag started?
+ patch_mode = gbcfg.patch_mode; + if (patch_mode == GBPROX_PATCH_DEFAULT) + patch_mode = GBPROX_PATCH_LLC;
I am thinking of the "gbcfg.patch_mode > GBPROX_PATCH_LLC_ATTACH_REQ". So we are lucky as default is < GBPROX_PATCH_LLC_ATTACH_REQ right now. Wouldn't it be better to not access gbcfg.patch_mode directly and do the "default" handling inside this method?