for(i=0;i<items_cnt;i++){
ul_htimer_init_detached(&items[i]);
items[i].function=NULL;
- items[i].data=i;
+ items[i].data=(ul_htimer_fnc_data_t)i;
if(0){
ul_htimer_set_expire(&items[i],(i&~1)*500);
}else{
/*===========================================================*/
/* mstimer test */
-void test_htimer_fnc(unsigned long data)
+void test_htimer_fnc(ul_htimer_fnc_data_t data)
{
char s[30];
ul_htim_time_t actual_time;
ul_get_log_time_str(s);
ul_root_htimer_current_time(0, &actual_time);
- printf("%6ld : ms %8ld real %s\n",data,actual_time,s);
+ printf("%6ld : ms %8ld real %s\n",(long)data,actual_time,s);
}
int mstime_test(void)
/*ensure, that timer is in detached state*/
ul_htimer_init_detached(timer);
timer->function=test_htimer_fnc;
- timer->data=i;
+ timer->data=(ul_htimer_fnc_data_t)i;
ul_htimer_set_expire(timer,actual_time + (i&~1)*500);
if(ul_htimer_add(root_htimer, timer)<0)
printf("ul_htimer_add is buggy\n");
#define _UL_HTIMDEFS_H
#include "ul_utdefs.h"
+#ifdef _WIN64
+#include <stdint.h>
+#endif
#ifdef __cplusplus
extern "C" {
/* Additional, user defined fields for ul_htimer_t structure */
#define UL_HTIMER_USER_FIELDS
-typedef void (ul_htimer_fnc_t)(unsigned long data) UL_ATTR_REENTRANT;
+#ifdef _WIN64
+typedef uintptr_t ul_htimer_fnc_data_t;
+#else
+typedef unsigned long ul_htimer_fnc_data_t;
+#endif
+/*typedef void *ul_htimer_fnc_data_t;*/
+
+typedef void (ul_htimer_fnc_t)(ul_htimer_fnc_data_t data) UL_ATTR_REENTRANT;
/* The wrapper for ul_htimer_run_expired */
#define UL_HTIMER_FNC_CALL(queue, timer, pact_time) \