Why C and not C++?

You have a large body of code that is using C just fine, thanks, and moving it to C++ (while probably “trivial” for some meaning of trivial involving a few weeks/months/years of refactoring) would expose you to every C++ yahoo’s whim.

“I wanna use maaaaaap! Why can’t I use map? Map map mapmaapmap.”

“Because this stuff runs in an interrupt handler, and is shared with thread-world code through a very carefully designed API involving a couple layers of synchronization. Many Bothans died to make this work well, and fast.”

“No map?”

“No map. Go read about NUMA.”

“What about streams?”

[buries head in hands]

tl;dr; It’s an idiot shield. Kids, get off the lawn 🙂