Create a hook function I want to create a hook function so that other modules implement it, any pointers to how it is done?
Essentially there are 2 things needed to create your own hook(s).
  
  
  Create your own function that calls module_invoke_all('WHAT_YOU_WANT_YOUR_HOOK_TO_BE_CALLED');
  Create your new module and a function called YOURMODULE_WHAT_YOU_WANT_YOUR_HOOK_TO_BE_CALLED()
  
  
  That is ALL it actually takes to implement your own hooks in a Drupal module. The great thing here is the flexibility that it provides for you to do anything, AND allow other developers to easily extend your work. The major consideration I can see here is naming your hook. You should obviously try to choose something unique to your module, that a
  core or another contributed module wont be using.