int ap_hook_child_init(int (*TraiterDemarrer)(apr_pool_t *PouleFils, server_rec *ServeurApache), const char *Inutile1, const char **Inutile2, int Priorite);
Le paramètre TraiterDemarrer est la fonction de rappel. Son paramètre PouleFils est le descripteur du poule de ressources qui est associé au serveur. Son paramètre RequeteApache est le descripteur de la requête Apache. Son code retour est APR_SUCCESS en cas de succès.
Le paramètre Priorite est le code de priorité d'usage de cette fonction de rappel par Apache. Les valeurs possibles sont :
#include <httpd.h>
#include <http_config.h>
#include <http_log.h>
#include <http_protocol.h>
#include <http_request.h>
#include <http_core.h>
#include <ap_compat.h>
...
static void TraiterDemarrer(apr_pool_t *PouleFils, server_rec *ServeurApache)
/***************************************************************************/
{
...
}
static int TraiterConnecter(request_rec *RequeteApache)
/*****************************************************/
{
...
return(OK);
}
static int TraiterRequete(request_rec *RequeteApache)
/***************************************************/
{
...
return(OK);
}
static void EnregistrerRappels(apr_pool_t *Poule)
/***********************************************/
{
...
if (ap_hook_child_init(TraiterDemarrer,NULL,NULL,APR_HOOK_MIDDLE)!=APR_SUCCESS)
{
...
}
if (ap_hook_check_user_id(TraiterConnecter,NULL,NULL,APR_HOOK_MIDDLE)!=APR_SUCCESS)
{
...
}
if (ap_hook_handler(TraiterRequete,NULL,NULL,APR_HOOK_MIDDLE)!=APR_SUCCESS)
{
...
}
...
}
#if defined(__cplusplus)
extern "C"
{
#endif
module AP_MODULE_DECLARE_DATA MonModule={STANDARD20_MODULE_STUFF,NULL,NULL,NULL,NULL,NULL,EnregistrerRappels};
#if defined(__cplusplus)
}
#endif