Working with ifstatus in a binary application

Looking at using the output of ifstatus <iface> in a binary app.
I think the proper implementation would be to create a ubus client and directly call ubus for network.interfaces.
It would be faster for me to just fork and exec ifstatus (or ubus call) from my app, but this feels a little dirty...

Any guidance/opinions would be great thanks