+/** \brief tranforms PQF given a CQL tree
+ \param ct CQL transform handle
+ \param cn CQL node tree
+ \param pr print function
+ \param client_data data to be passed to pr
+ \retval 0 success
+ \retval != 0 error
+
+ The result is written to a user-defined stream.
+*/
+YAZ_EXPORT
+int cql_transform(cql_transform_t ct,
+ struct cql_node *cn,
+ void (*pr)(const char *buf, void *client_data),
+ void *client_data);
+
+/** \brief tranforms PQF given a CQL tree
+ \param ct CQL transform handle
+ \param cn CQL node tree
+ \param addinfo additional information (if error)
+ \param pr print function
+ \param client_data data to be passed to pr
+ \retval 0 success
+ \retval != 0 error code
+
+ The result is written to a user-defined stream.
+*/
+int cql_transform_cql2rpn(cql_transform_t ct, struct cql_node *cn,
+ char **addinfo,
+ void (*pr)(const char *buf, void *client_data),
+ void *client_data);
+
+/** \brief transforms PQF given a CQL tree (from FILE)
+ \param ct CQL transform handle
+ \param cn CQL tree
+ \param f FILE where output is written
+ \retval 0 success
+ \retval !=0 failure (error code)
+
+ The result is written to a file specified by FILE handle (which must
+ be opened for writing.
+*/