00001
00017 #ifndef AXIS2_STRING_H
00018 #define AXIS2_STRING_H
00019
00020 #include <axis2_utils_defines.h>
00021 #include <axis2_error.h>
00022 #include <axis2_env.h>
00023 #include <string.h>
00024
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #endif
00029
00036 AXIS2_EXTERN void* AXIS2_CALL
00037 axis2_strdup (const void *ptr,
00038 const axis2_env_t *env);
00039
00047 AXIS2_EXTERN void* AXIS2_CALL
00048 axis2_strndup (
00049 const void *ptr,
00050 int n,
00051 const axis2_env_t *env );
00052
00064 AXIS2_EXTERN void * AXIS2_CALL
00065 axis2_strmemdup(const void *ptr,
00066 size_t n,
00067 const axis2_env_t *env);
00068
00069 AXIS2_EXTERN void * AXIS2_CALL
00070 axis2_memchr (
00071 const void *ptr,
00072 int c,
00073 size_t n);
00074
00075 AXIS2_EXTERN int AXIS2_CALL
00076 axis2_strcmp (const axis2_char_t * s1,
00077 const axis2_char_t * s2);
00078
00079 AXIS2_EXTERN int AXIS2_CALL
00080 axis2_strncmp (const axis2_char_t * s1,
00081 const axis2_char_t * s2,
00082 int n);
00083
00084 AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00085 axis2_strlen(const axis2_char_t * s);
00086
00087 AXIS2_EXTERN int AXIS2_CALL
00088 axis2_strcasecmp(const axis2_char_t *s1,
00089 const axis2_char_t *s2);
00090
00091 AXIS2_EXTERN int AXIS2_CALL
00092 axis2_strncasecmp(const axis2_char_t *s1,
00093 const axis2_char_t *s2, int n);
00094
00095
00096
00097
00098
00099
00100 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00101 axis2_stracat(const axis2_char_t *s1,
00102 const axis2_char_t *s2,
00103 const axis2_env_t *env);
00104
00110 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00111 axis2_strcat(const axis2_env_t *env, ...);
00112
00113 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00114 axis2_strstr (const axis2_char_t *heystack,
00115 const axis2_char_t *needle);
00116
00117 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00118 axis2_rindex(const axis2_char_t *s,
00119 axis2_char_t c);
00120
00121 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00122 axis2_replace(const axis2_env_t *env,
00123 axis2_char_t *str,
00124 int s1,
00125 int s2);
00126
00127 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00128 axis2_strltrim(
00129 const axis2_env_t *env,
00130 const axis2_char_t *_s,
00131 const axis2_char_t *_trim);
00132
00133 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00134 axis2_strrtrim(
00135 const axis2_env_t *env,
00136 const axis2_char_t *_s,
00137 const axis2_char_t *_trim);
00138
00139 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00140 axis2_strtrim(
00141 const axis2_env_t *env,
00142 const axis2_char_t *_s,
00143 const axis2_char_t *_trim);
00144
00152 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00153 axis2_string_replace(
00154 axis2_char_t *str,
00155 axis2_char_t old_char,
00156 axis2_char_t new_char);
00157
00164 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00165 axis2_string_substring_starting_at(
00166 axis2_char_t *str,
00167 int s );
00168
00175 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00176 axis2_string_substring_ending_at(
00177 axis2_char_t *str,
00178 int e );
00179
00185 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00186 axis2_string_tolower(
00187 axis2_char_t *str );
00188
00194 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00195 axis2_string_toupper(
00196 axis2_char_t *str );
00197
00206 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00207 axis2_strcasestr(
00208 const axis2_char_t *heystack,
00209 const axis2_char_t *needle);
00210
00211
00212 #define AXIS2_STRDUP(pts, env) \
00213 axis2_strdup(pts, env)
00214
00215 #define AXIS2_STRNDUP(pts, n, env) \
00216 axis2_strndup(pts, n, env)
00217
00218 #define AXIS2_STRMEMDUP(pts, n, env) \
00219 axis2_strmemdup(pts, n, env)
00220
00221 #define AXIS2_MEMCHR(pts, c, n) \
00222 axis2_memchr(pts, c, n)
00223
00224 #define AXIS2_STRCMP(s1, s2) \
00225 axis2_strcmp(s1, s2)
00226
00227 #define AXIS2_STRNCMP(s1, s2, n) \
00228 axis2_strncmp(s1, s2, n)
00229
00230 #define AXIS2_STRLEN(s) \
00231 axis2_strlen(s)
00232
00233 #define AXIS2_STRCASECMP(s1,s2) \
00234 axis2_strcasecmp(s1,s2)
00235
00236 #define AXIS2_STRNCASECMP(s1,s2,n) \
00237 axis2_strncasecmp(s1,s2,n)
00238
00239 #define AXIS2_STRACAT(s1, s2, env) \
00240 axis2_stracat(s1, s2, env)
00241
00242 #define AXIS2_STRSTR(s1, s2) \
00243 axis2_strstr(s1, s2)
00244
00245 #define AXIS2_RINDEX(s, c) \
00246 axis2_rindex(s, c)
00247
00248 #define AXIS2_REPLACE(env, str, s1, s2) \
00249 axis2_replace(env, str, s1, s2)
00250
00251 #define AXIS2_STRLTRIM(env, s, trim) \
00252 axis2_strltrim(env, s, trim)
00253
00254 #define AXIS2_STRRTRIM(env, s, trim) \
00255 axis2_strrtrim(env, s, trim)
00256
00257 #define AXIS2_STRTRIM(env, s, trim) \
00258 axis2_strtrim(env, s, trim)
00259
00262 #ifdef __cplusplus
00263 }
00264 #endif
00265
00266 #endif