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