Version 1 (modified by peter, 3 years ago)

--

/**
 * Form builder for the user login form.
 *
 * @param $message
 *   The message to display.
 *
 * @see user_login_form_validate()
 * @see user_login_form_submit()
 * @ingroup forms
 */
function user_login_form($form, &$form_state, $message = '')

In order to provide a quick reference for themers, we tag all form builder functions so that Doxygen can group them together. A form builder function is defined as any function meant to be used as an argument for drupal_get_form(), and you can indicate that a function is a form builder function by adding an @ingroup forms directive. Do not add submit, validate and other handlers for the form to this group. However, it is quite useful to use @see directives to link the form builder, its submit function(s), and its validate function(s) together.

/**
 * Form validation handler for user_login_form().
 *
 * @see user_login_form()
 * @see user_login_form_submit()
 */
function user_login_form_validate($form, &$form_state) {
  ...
}

/**
 * Form submission handler for user_login_form().
 *
 * @see user_login_form()
 * @see user_login_form_validate()
 */
function user_login_form_submit($form, &$form_state) {
  ...
}