X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Ftiming.h;h=573d908253f758f5de22b5fa69eb1e6236a75b3e;hb=4d64d1d8ea625cc6075a0086671c525a162726a0;hp=6c14c9f49a1b808c2e84817cc84b713f115b7177;hpb=3da73bb7a6d443f6f4f78231b1f1252044295e5f;p=libfirm diff --git a/include/libfirm/timing.h b/include/libfirm/timing.h index 6c14c9f49..573d90825 100644 --- a/include/libfirm/timing.h +++ b/include/libfirm/timing.h @@ -27,6 +27,8 @@ #include +#include "begin.h" + typedef struct _ir_timer_t ir_timer_t; /** @@ -36,54 +38,57 @@ typedef struct _ir_timer_t ir_timer_t; * @note You could need special user privileges. * @return 0 on success, else UNIX error code. */ -int ir_timer_enter_high_priority(void); +FIRM_API int ir_timer_enter_high_priority(void); /** * Leave the high priority mode. * @see ir_timer_enter_high_priority() * @return 0 on success, else UNIX error code. */ -int ir_timer_leave_high_priority(void); +FIRM_API int ir_timer_leave_high_priority(void); /** * Get the amount of bytes allocated on the heap. * @return The number of bytes allocated on the heap. */ -size_t ir_get_heap_used_bytes(void); +FIRM_API size_t ir_get_heap_used_bytes(void); /** - * Register a new timer. - * If the timer was registered before, the registered timer is returned. - * @param name The name of the timer. - * @param desc The description of the timer. + * Create a new timer * @return The timer. */ -ir_timer_t *ir_timer_register(const char *name, const char *desc); +FIRM_API ir_timer_t *ir_timer_new(void); + +/** + * free memory occupied by a timer + * @param timer The timer + */ +FIRM_API void ir_timer_free(ir_timer_t *timer); /** * Start a timer. * @param timer The timer. */ -void ir_timer_start(ir_timer_t *timer); +FIRM_API void ir_timer_start(ir_timer_t *timer); /** * Reset a timer and start it. * @param timer The timer. */ -void ir_timer_reset_and_start(ir_timer_t *timer); +FIRM_API void ir_timer_reset_and_start(ir_timer_t *timer); /** * Reset a timer. * @param timer The timer. */ -void ir_timer_reset(ir_timer_t *timer); +FIRM_API void ir_timer_reset(ir_timer_t *timer); /** * Stop a timer. * Stopping a stopped timer has no effect. * @param timer The timer. */ -void ir_timer_stop(ir_timer_t *timer); +FIRM_API void ir_timer_stop(ir_timer_t *timer); /** * Push a timer of the timer stack. This automatically @@ -92,41 +97,29 @@ void ir_timer_stop(ir_timer_t *timer); * @param timer The timer to push on stack. * @return non-zero on succes, zero if the timer is already on the stack. */ -int ir_timer_push(ir_timer_t *timer); +FIRM_API int ir_timer_push(ir_timer_t *timer); /** * Pop the current timer. This automatically stops it and * start the timer that is now on the stack. * @return the popped timer */ -ir_timer_t *ir_timer_pop(void); +FIRM_API ir_timer_t *ir_timer_pop(void); /** * Get the number of milliseconds, the timer has elapsed. * @param timer The timer. * @return The number of milliseconds the timer is (was) running. */ -unsigned long ir_timer_elapsed_msec(const ir_timer_t *timer); +FIRM_API unsigned long ir_timer_elapsed_msec(const ir_timer_t *timer); /** * Get the number of microseconds, the timer has elapsed. * @param timer The timer. * @return The number of milliseconds the timer is (was) running. */ -unsigned long ir_timer_elapsed_usec(const ir_timer_t *timer); +FIRM_API unsigned long ir_timer_elapsed_usec(const ir_timer_t *timer); -/** - * Get name of given timer. - * @param timer The timer. - * @return The name of the timer. - */ -const char *ir_timer_get_name(const ir_timer_t *timer); - -/** - * Get description of given timer. - * @param timer The timer. - * @return The description of the timer. - */ -const char *ir_timer_get_description(const ir_timer_t *timer); +#include "end.h" #endif