Hi all:
       I am now reading the source codes of libvirt with version 0.9.2 , and be stuck by the function "qemudDispatchServerEvent". as you can see: 
static void
qemudDispatchServerEvent(int watch, int fd, int events, void *opaque) {
...
}

My question is : except for the argument "void *opaque"£¬ when and how the other three arguments (int watch, int fd, int events) being incoming ? 

For it is a static function, I look through the source file "libvirt.c" and find no answer .
Could someone give me a help ?

Thanks a lot.

Yours.
mzawdx