In the link below, enj, describes the steps he took to create a simple Modifier in Blender’s source code, the same as any other Modifier in Blender.
The new Modifier he creates simply prints it’s existence on the system console, but with it you have the complete framework in place to do many other things. It’s just a matter of figuring out what and how.
This article is very clear and simple, because enj is in the process of learning his way around in Blender’s source code, just like the rest of us. His ultimate goal is to create an OpenCL accelerated Particle System for Blender’s Game Engine. This article is just one step in his journey: