POK
/home/jaouen/pok_official/pok/trunk/libpok/core/errorlog.c
00001 /*
00002  *                               POK header
00003  * 
00004  * The following file is a part of the POK project. Any modification should
00005  * made according to the POK licence. You CANNOT use this file or a part of
00006  * this file is this part of a file for your own project
00007  *
00008  * For more information on the POK licence, please see our LICENCE FILE
00009  *
00010  * Please follow the coding guidelines described in doc/CODING_GUIDELINES
00011  *
00012  *                                      Copyright (c) 2007-2009 POK team 
00013  *
00014  * Created by julien on Fri Aug 21 16:14:45 2009 
00015  */
00016 
00017 #include <core/dependencies.h>
00018 
00019 #ifdef POK_NEEDS_ERROR_HANDLING
00020 #include <types.h>
00021 #include <core/time.h>
00022 #include <core/error.h>
00023 
00024 #ifdef POK_NEEDS_DEBUG
00025 #include <libc/stdio.h>
00026 #endif
00027 
00028 pok_error_report_t pok_error_reported[POK_ERROR_MAX_LOGGED];
00029 uint16_t           pok_error_nb_reported = 0;
00030 
00031 void pok_error_log (const uint32_t error_id, const uint32_t thread_id)
00032 {
00033 
00034 #ifdef POK_NEEDS_DEBUG
00035    printf ("Log error %d for thread %d\n", error_id, thread_id);
00036 #endif
00037 
00041    pok_error_reported[pok_error_nb_reported].thread = thread_id;
00042    pok_error_reported[pok_error_nb_reported].error  = error_id;
00043    pok_time_gettick (&pok_error_reported[pok_error_nb_reported].when);
00044 
00045    pok_error_nb_reported++;
00046 }
00047 #endif