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
00198
00199
00200
00201 #define AXIS2_STRDUP(pts, env) \
00202 axis2_strdup(pts, env)
00203
00204 #define AXIS2_STRNDUP(pts, n, env) \
00205 axis2_strndup(pts, n, env)
00206
00207 #define AXIS2_STRMEMDUP(pts, n, env) \
00208 axis2_strmemdup(pts, n, env)
00209
00210 #define AXIS2_MEMCHR(pts, c, n) \
00211 axis2_memchr(pts, c, n)
00212
00213 #define AXIS2_STRCMP(s1, s2) \
00214 axis2_strcmp(s1, s2)
00215
00216 #define AXIS2_STRNCMP(s1, s2, n) \
00217 axis2_strncmp(s1, s2, n)
00218
00219 #define AXIS2_STRLEN(s) \
00220 axis2_strlen(s)
00221
00222 #define AXIS2_STRCASECMP(s1,s2) \
00223 axis2_strcasecmp(s1,s2)
00224
00225 #define AXIS2_STRNCASECMP(s1,s2,n) \
00226 axis2_strncasecmp(s1,s2,n)
00227
00228 #define AXIS2_STRACAT(s1, s2, env) \
00229 axis2_stracat(s1, s2, env)
00230
00231 #define AXIS2_STRSTR(s1, s2) \
00232 axis2_strstr(s1, s2)
00233
00234 #define AXIS2_RINDEX(s, c) \
00235 axis2_rindex(s, c)
00236
00237 #define AXIS2_REPLACE(env, str, s1, s2) \
00238 axis2_replace(env, str, s1, s2)
00239
00240 #define AXIS2_STRLTRIM(env, s, trim) \
00241 axis2_strltrim(env, s, trim)
00242
00243 #define AXIS2_STRRTRIM(env, s, trim) \
00244 axis2_strrtrim(env, s, trim)
00245
00246 #define AXIS2_STRTRIM(env, s, trim) \
00247 axis2_strtrim(env, s, trim)
00248
00251 #ifdef __cplusplus
00252 }
00253 #endif
00254
00255 #endif