list<Event *>::iterator k;
for (k = events.begin(); k != events.end(); ++k) {
Event *e = *k;
printf(":: Event %d 0x%x\n", e->type, (unsigned int)(e->function));
// pointer -> unsigned int cast is an error with gcc4
// printf(":: Event %d 0x%x\n", e->type, (unsigned int)(e->function));
}