cctools
stringtools.h
1 /*
2 Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
3 Copyright (C) 2005- The University of Notre Dame
4 This software is distributed under the GNU General Public License.
5 See the file COPYING for details.
6 */
7 
8 #ifndef STRINGTOOLS_H
9 #define STRINGTOOLS_H
10 
11 #include "int_sizes.h"
12 
13 typedef char *(*string_subst_lookup_t) (const char *name, void *arg);
14 
15 char *escape_shell_string (const char *str);
16 void string_from_ip_address(const unsigned char *ip_addr_bytes, char *str);
17 int string_to_ip_address(const char *str, unsigned char *ip_addr_bytes);
18 int string_ip_subnet(const char *addr, char *subnet);
19 void string_chomp(char *str);
20 int whole_string_match_regex(const char *text, char *pattern);
21 int string_match_regex(const char *text, char *pattern);
22 int string_match(const char *pattern, const char *text);
23 char *string_front(const char *str, int max);
24 const char *string_back(const char *str, int max);
25 const char *string_basename(const char *str);
26 void string_dirname(const char *path, char *dir);
27 char *string_metric(double invalue, int power_needed, char *buffer);
28 INT64_T string_metric_parse(const char *str);
29 int string_time_parse(const char *str);
30 int string_split(char *str, int *argc, char ***argv);
31 int string_split_quotes(char *str, int *argc, char ***argv);
32 char *string_pad_right(char *str, int length);
33 char *string_pad_left(char *str, int length);
34 void string_cookie(char *str, int length);
35 char *string_subst(char *value, string_subst_lookup_t lookup, void *arg);
36 char *string_combine(char *first, char *second);
37 char *string_combine_multi(char *first, ...);
38 char *string_signal(int sig);
39 void string_split_path(const char *str, char *first, char *rest);
40 void string_split_multipath(const char *input, char *first, char *rest);
41 void string_collapse_path(const char *longpath, char *shortpath, int remove_dotdot);
42 void string_tolower(char *str);
43 void string_toupper(char *str);
44 int string_isspace(const char *str);
45 int string_is_integer(const char *str);
46 void string_replace_backslash_codes(const char *instr, char *outstr);
47 
48 int strpos(const char *str, char c);
49 int strrpos(const char *str, char c);
50 int getDateString(char *str);
51 int string_null_or_empty(const char *str);
52 
58 char *string_format (const char *fmt, ...);
59 
63 char *string_getcwd (void);
64 
65 #ifndef CCTOOLS_OPSYS_LINUX
66 char *strsep(char **stringp, const char *delim);
67 #endif
68 
69 #endif