Is there a C/C++ Tor API?

I am looking for a (preferably Open Source) API usable in C/C++, that enables one to send/receive data over the Tor network. So I want to build an application that uses sockets to communicate data over a network, but I want that data to be sent over the Tor network instead. Is that possible? Is there a API for it?