+/** \brief allocates string on NMEM handle - allows NULL ptr buffer */
+YAZ_EXPORT char *nmem_strdup_null (NMEM mem, const char *src);
+/** \brief allocates string of certain size on NMEM handle */
+YAZ_EXPORT char *nmem_strdupn (NMEM mem, const char *src, size_t n);
+
+/** \brief allocates sub strings out of string using certain delimitors
+ \param nmem NMEM handle
+ \param delim delimitor chars (splits on each char in there)
+ \param dstr string to be split
+ \param darray result string array for each sub string
+ \param num number of result strings
+*/
+YAZ_EXPORT void nmem_strsplit(NMEM nmem, const char *delim,
+ const char *dstr,
+ char ***darray, int *num);
+
+/** \brief splits string into sub strings delimited by blanks
+ \param nmem NMEM handle
+ \param dstr string to be split
+ \param darray result string array for each sub string
+ \param num number of result strings
+*/
+YAZ_EXPORT void nmem_strsplit_blank(NMEM nmem, const char *dstr,
+ char ***darray, int *num);
+
+/** \brief creates and allocates integer for NMEM */