I have been looking into introspecting a running DDS domain using the C API only. So far I was able to join the domain and iterate over all discovered particiants. From there the function:
DDS_DomainParticipant_get_publishers
(http://community.rti.com/rti-doc/510/ndds.5.1.0/doc/html/api_c/group__DDSDomainParticipantModule.html#ga0015707630e524d509da982230386ba1)
looks promising to get all the publishers of one participant. But this API is marked as an rti-specific extension.