Got a strange thing in notice.While using a device in Class-C, when i send a downlink data greater than 45 bytes, the class-B flag gets TRUE along with the fPending bit.
This is because they share the same bit (thus the same bit has a different meaning depending uplink / downlink).
On uplink the bit is assigned to classB
On downlink the bit is assigned to fPending
In order to avoid code duplication, there is only one FCtrl implementation for uplink and downlink. Therefore you see both fields appear for both uplink and downlink.
It depends on which platform and SoC you are using to build own device. Each vendor can provide their libraries and toolkits. Anyway you can try to search this on GitHub