libclamav/str.h
e3aaff8e
 /*
2023340a
  *  Copyright (C) 2007-2008 Sourcefire, Inc.
  *
  *  Authors: Tomasz Kojm, Nigel Horne, Török Edvin
e3aaff8e
  *
  *  This program is free software; you can redistribute it and/or modify
bb34cb31
  *  it under the terms of the GNU General Public License version 2 as
  *  published by the Free Software Foundation.
e3aaff8e
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
48b7b4a7
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  *  MA 02110-1301, USA.
e3aaff8e
  */
 
4048c4f6
 #ifndef __STR_H
 #define __STR_H
e3aaff8e
 
e4e8366f
 #include <sys/types.h>
 
bedc58de
 #include "cltypes.h"
 
ff75dedb
 #ifdef HAVE_STRCASESTR
 #define cli_strcasestr strcasestr
 #else
 const char *cli_strcasestr(const char *haystack, const char *needle);
 #endif
 
e3aaff8e
 int cli_strbcasestr(const char *haystack, const char *needle);
4048c4f6
 int cli_chomp(char *string);
8515ab9e
 char *cli_strtok(const char *line, int field, const char *delim);
38e881e3
 int cli_realhex2ui(const char *hex, uint16_t *ptr, unsigned int len);
bedc58de
 uint16_t *cli_hex2ui(const char *hex);
eaf2aebd
 int  cli_hex2str_to(const char *hex, unsigned char *ptr, size_t len);
4048c4f6
 char *cli_hex2str(const char *hex);
e5916a51
 int cli_hex2num(const char *hex);
8000d078
 char *cli_str2hex(const char *string, unsigned int len);
bd988961
 char *cli_utf16toascii(const char *str, unsigned int length);
908ac3b2
 char *cli_strtokbuf(const char *input, int fieldno, const char *delim, char *output);
b03230c2
 const char *cli_memstr(const char *haystack, int hs, const char *needle, int ns);
9b133473
 char *cli_strrcpy(char *dest, const char *source);
72fb25ea
 size_t cli_strtokenize(char *buffer, const char delim, const size_t token_count, const char **tokens);
a3fe2c5b
 int cli_isnumber(const char *str);
eb290151
 char *cli_unescape(const char *str);
 struct text_buffer;
 int  cli_textbuffer_append_normalize(struct text_buffer *buf, const char *str, size_t len);
 
e3aaff8e
 #endif