00001
00002
00003
00004
00005
00006
00007
00008 #ifndef STRINGTOOLS_H
00009 #define STRINGTOOLS_H
00010
00011 #include "int_sizes.h"
00012
00013 typedef char * (*string_subst_lookup_t) ( const char *name, void *arg );
00014
00015 void string_from_ip_address( const unsigned char *ip_addr_bytes, char *str );
00016 int string_to_ip_address( const char * str, unsigned char *ip_addr_bytes );
00017 int string_ip_subnet( const char *addr, char *subnet );
00018 void string_chomp( char *str );
00019 int string_match( const char *pattern, const char *text );
00020 char * string_front( const char *str, int max );
00021 const char * string_back( const char *str, int max );
00022 const char * string_basename( const char *str );
00023 void string_dirname( const char *path, char *dir );
00024 char * string_metric( double invalue, int power_needed, char *buffer );
00025 INT64_T string_metric_parse( const char *str );
00026 int string_time_parse( const char *str );
00027 int string_split( char *str, int *argc, char ***argv );
00028 int string_split_quotes( char *str, int *argc, char ***argv );
00029 char * string_pad_right( char *str, int length );
00030 char * string_pad_left( char *str, int length );
00031 char * string_cookie( int length );
00032 char * string_subst( char *value, string_subst_lookup_t lookup, void *arg );
00033 char * string_combine( char *first, char *second );
00034 char * string_combine_multi( char *first, ... );
00035 char * string_signal( int sig );
00036 void string_split_path( const char *str, char *first, char *rest );
00037 void string_collapse_path( const char *longpath, char *shortpath, int remove_dotdot );
00038 void string_tolower( char *str );
00039 void string_toupper( char *str );
00040 int string_is_integer( const char *str );
00041
00042 char * strsep (char **stringp, const char *delim);
00043
00044 #endif