Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Yes, it's pointer to a function with (struct vc_data *, int) as parameters.
So, you would do something like:
con_init = (address of the function) and then you can do things like con_init(&data, 123);
basically, this technique provide something looking like polymorphism in C: you can define how a console is initialized by setting the right function as console.con_init=f and then call it with something like console_ptr->con_init(data,int)