void callback(union sigval sigev_value) { printf("In callback()\n"); } void main() { int rc; timer_t *timer_id; struct sigevent evp; memset((void *)&evp, 0, sizeof(evp)); timer_id = (timer_id*)malloc(sizeof(timer_id)); evp.sigev_notify_function = &callback; evp.sigev_value.sival_ptr = (void*)timer_id; errno = 0; if (rc = timer_create(CLOCK_REALTIME, &evp, timer_id)) { } printf("timer_create() Rtn rc %d error %d\n", rc, errno); perror(""); exit(rc); }