00001
00019 #ifndef AXUTIL_STRING_H
00020 #define AXUTIL_STRING_H
00021
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <string.h>
00026
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031
00038 typedef struct axutil_string axutil_string_t;
00039
00047 AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00048 axutil_string_create(
00049 const axutil_env_t * env,
00050 const axis2_char_t * str);
00051
00059 AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00060
00061 axutil_string_create_assume_ownership(
00062 const axutil_env_t * env,
00063 axis2_char_t ** str);
00064
00072 AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00073 axutil_string_create_const(
00074 const axutil_env_t * env,
00075 axis2_char_t ** str);
00076
00083 AXIS2_EXTERN void AXIS2_CALL
00084 axutil_string_free(
00085 struct axutil_string *string,
00086 const axutil_env_t * env);
00087
00096 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00097 axutil_string_equals(
00098 const struct axutil_string *string,
00099 const axutil_env_t * env,
00100 const struct axutil_string *string1);
00101
00110 AXIS2_EXTERN struct axutil_string *AXIS2_CALL
00111 axutil_string_clone(
00112 struct axutil_string *string,
00113 const axutil_env_t * env);
00114
00121 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00122 axutil_string_get_buffer(
00123 const struct axutil_string *string,
00124 const axutil_env_t * env);
00125
00128 AXIS2_EXTERN unsigned int AXIS2_CALL
00129 axutil_string_get_length(
00130 const struct axutil_string *string,
00131 const axutil_env_t * env);
00132
00141 AXIS2_EXTERN void *AXIS2_CALL
00142 axutil_strdup(
00143 const axutil_env_t * env,
00144 const void *ptr);
00145
00153 AXIS2_EXTERN void *AXIS2_CALL
00154 axutil_strndup(
00155 const axutil_env_t * env,
00156 const void *ptr,
00157 int n);
00158
00170 AXIS2_EXTERN void *AXIS2_CALL
00171 axutil_strmemdup(
00172 const void *ptr,
00173 size_t n,
00174 const axutil_env_t * env);
00175
00176 AXIS2_EXTERN void *AXIS2_CALL
00177 axutil_memchr(
00178 const void *ptr,
00179 int c,
00180 size_t n);
00181
00182 AXIS2_EXTERN int AXIS2_CALL
00183 axutil_strcmp(
00184 const axis2_char_t * s1,
00185 const axis2_char_t * s2);
00186
00187 AXIS2_EXTERN int AXIS2_CALL
00188 axutil_strncmp(
00189 const axis2_char_t * s1,
00190 const axis2_char_t * s2,
00191 int n);
00192
00193 AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00194 axutil_strlen(
00195 const axis2_char_t * s);
00196
00197 AXIS2_EXTERN int AXIS2_CALL
00198 axutil_strcasecmp(
00199 const axis2_char_t * s1,
00200 const axis2_char_t * s2);
00201
00202 AXIS2_EXTERN int AXIS2_CALL
00203 axutil_strncasecmp(
00204 const axis2_char_t * s1,
00205 const axis2_char_t * s2,
00206 const int n);
00207
00208
00209
00210
00211
00212
00213 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00214 axutil_stracat(
00215 const axutil_env_t * env,
00216 const axis2_char_t * s1,
00217 const axis2_char_t * s2);
00218
00224 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00225 axutil_strcat(
00226 const axutil_env_t * env,
00227 ...);
00228
00229 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00230 axutil_strstr(
00231 const axis2_char_t * heystack,
00232 const axis2_char_t * needle);
00233
00241 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00242 axutil_strchr(
00243 const axis2_char_t * s,
00244 axis2_char_t ch);
00245
00246 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00247 axutil_rindex(
00248 const axis2_char_t * s,
00249 axis2_char_t c);
00250
00251
00252 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00253 axutil_replace(
00254 const axutil_env_t * env,
00255 axis2_char_t * str,
00256 int s1,
00257 int s2);
00258
00259 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00260 axutil_strltrim(
00261 const axutil_env_t * env,
00262 const axis2_char_t * _s,
00263 const axis2_char_t * _trim);
00264
00265 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00266 axutil_strrtrim(
00267 const axutil_env_t * env,
00268 const axis2_char_t * _s,
00269 const axis2_char_t * _trim);
00270
00271 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00272 axutil_strtrim(
00273 const axutil_env_t * env,
00274 const axis2_char_t * _s,
00275 const axis2_char_t * _trim);
00276
00284 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00285 axutil_string_replace(
00286 axis2_char_t * str,
00287 axis2_char_t old_char,
00288 axis2_char_t new_char);
00289
00296 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00297
00298 axutil_string_substring_starting_at(
00299 axis2_char_t * str,
00300 int s);
00301
00308 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00309 axutil_string_substring_ending_at(
00310 axis2_char_t * str,
00311 int e);
00312
00318 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00319 axutil_string_tolower(
00320 axis2_char_t * str);
00321
00327 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00328 axutil_string_toupper(
00329 axis2_char_t * str);
00330
00339 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00340 axutil_strcasestr(
00341 const axis2_char_t * heystack,
00342 const axis2_char_t * needle);
00343
00346 #ifdef __cplusplus
00347 }
00348 #endif
00349
00350 #endif