title: Drupal: Are hook_ functions in *.api.php ever called?
body: <p>In Drupal 7, every core module has a <code>*.api.php</code> file, where * is the name of the module.  For example</p>
  
  <pre><code>modules/node/node.api.php
  modules/path/path.api.php
  </code></pre>
  
  <p>What are these files for?  They contain functions that start with <code>hook_</code>, and the name of a hook that (I think) the module invokes.  For example</p>
  
  <pre><code>modules/system/system.api
  </code></pre>
  
  <p>has</p>
  
  <pre><code>function hook_entity_view($entity, $type, $view_mode, $langcode) {
    $entity-&gt;content['my_additional_field'] = array(
      '#markup' =&gt; $additional_field,
      '#weight' =&gt; 10,
      '#theme' =&gt; 'mymodule_my_additional_field',
    );
  }
  </code></pre>
  
  <p>There's an <code>entity_view</code> hook that's invoked by the system which you may implement in your own modules, but (it doesn't appear) that <code>hook_entity_view</code> is ever called. </p>
  
  <p>What are these function for.  Are they ever called by the system?  If so, when?  If not, why are they there?  </p>