I've started working with the .NET Assembly of this project, I wanted to use it to get some statistics and monitoring of the BIG-IPs we have in our environment. Though I've hit a bit of a stumbling block.
Looking at the API it shows that the response from the BIG-IP for LocalLBPool.get_statistics(String poolNames) is a LocalLBPoolStatistics. This is a group of statistics which has has a ULong64 value inside which is broken into high (32bit) and a low value (32bit) to combine. The issue is that C recognizes the response types as Signed 64bit Ints.
How do I convert these two 64bit values into a 64 bit Unsigned long? Do I bit shift the high order value by 32 still? I already see issues where the low value in some cases are wrapping, however if I cast it as an unsigned 64bit int the two values do not represent what I see on the LB itself.