When the application needs a new decoder it just has to call the dvbpsi_AttachXXX() function where XXX is the name of the table (ex: dvbpsi_AttachPAT()). The function returns a handle on the new decoder.
Then the application has to send the TS packets needed by the decoder by calling the dvbpsi_PushPacket() function. If a new table is complete then the decoder calls the callback specified by the application when it called dvbpsi_AttachXXX().
When the application don't need the decoder anymore it just has to call the dvbpsi_DetachXXX() function (ex: dvbpsi_DetachPAT()).
In this version of libdvbpsi the descriptors aren't decoded. These decoders will come in the next release.
For specific tools, the best to do is to have a look at the include file: