/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2011 Index Data.
+ * Copyright (C) 1995-2012 Index Data.
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
YAZ_EXPORT
int cql_to_xml_buf(struct cql_node *cn, char *out, int max);
+/** \brief converts CQL tree to CCL and writes to user-defined stream
+ \param cn CQL node (tree)
+ \param pr print function
+ \param client_data data to be passed to pr function
+ */
+YAZ_EXPORT
+int cql_to_ccl(struct cql_node *cn,
+ void (*pr)(const char *buf, void *client_data),
+ void *client_data);
+
+/** \brief converts CQL tree to CCL and writes to file
+ \param cn CQL node (tree)
+ \param f file handle
+ */
+YAZ_EXPORT
+void cql_to_ccl_stdio(struct cql_node *cn, FILE *f);
+
+/** \brief converts CQL tree to CCL and writes result to buffer
+ \param cn CQL node (tree)
+ \param out buffer
+ \param max size of buffer (max chars to write)
+ \retval 0 OK
+ \retval -1 conversion error
+ \retval -2 buffer too small (truncated)
+ */
+YAZ_EXPORT
+int cql_to_ccl_buf(struct cql_node *cn, char *out, int max);
+
/** \brief stream handle for file (used by cql_to_xml_stdio) */
YAZ_EXPORT
void cql_fputs(const char *buf, void *client_data);
void (*pr)(const char *buf, void *client_data),
void *client_data);
+/** \brief converts CQL sortby to sortkeys ..
+ \param cn CQL tree
+ \param out result buffer
+ \param max size of buffer (allocated)
+ \retval 0 OK
+ \retval -1 ERROR
+*/
+YAZ_EXPORT
+int cql_sortby_to_sortkeys_buf(struct cql_node *cn, char *out, int max);
+
YAZ_END_CDECL
#endif