i am reading source code, begin with tracing simple command line ,like virsh list and forth.
please look at my qurestions
1.how libvirt communicate with qemu?
call qemu'lib or open special device/socket?
 
2. i do not find the implement of function qemuAgentOpen---->qemuAgentInitialize().
i also search qemu-kvm source
 
3. qemuListAllDomains  is the function which corespond to virsh-list.   please explain this function .
 virDomainList(conn, driver->domains.objs, domains, flags);
 i) it seems driver->domains.objs  have gotten all dmains.   so when and where   driver->domains.objs   is  assigned.
ii)and what is conn,and its definition?
 
thanks.