Foxhound, please don't mix C++ and lite c. There is no new operator in lite c. Structs are getting allocated with sys_malloc or one of its relatives. Also you cannot call function pointers directly in lite c. You have to assign them to a prototype first.
I thought a Struct couldn't have functions in it - That would be a class?
As said, a struct can have abitrary pointers to whatever. But that doesn't make it a class. Structs neither support inheritance, nor encapsulation or polymorphism.