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 axis2_ssize_t AXIS2_CALL
00080 axis2_strlen(const axis2_char_t * s);
00081
00082 AXIS2_EXTERN int AXIS2_CALL
00083 axis2_strcasecmp(const axis2_char_t *s1,
00084 const axis2_char_t *s2);
00085
00086 AXIS2_EXTERN int AXIS2_CALL
00087 axis2_strncasecmp(const axis2_char_t *s1,
00088 const axis2_char_t *s2, int n);
00089
00090
00091
00092
00093
00094
00095 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00096 axis2_stracat(const axis2_char_t *s1,
00097 const axis2_char_t *s2,
00098 const axis2_env_t *env);
00099
00105 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00106 axis2_strcat(const axis2_env_t *env, ...);
00107
00108 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00109 axis2_strstr (const axis2_char_t *heystack,
00110 const axis2_char_t *needle);
00111
00112 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00113 axis2_rindex(const axis2_char_t *s,
00114 axis2_char_t c);
00115
00116 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00117 axis2_replace(const axis2_env_t *env,
00118 axis2_char_t *str,
00119 int s1,
00120 int s2);
00121
00122 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00123 axis2_strltrim(
00124 const axis2_env_t *env,
00125 const axis2_char_t *_s,
00126 const axis2_char_t *_trim);
00127
00128 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00129 axis2_strrtrim(
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_strtrim(
00136 const axis2_env_t *env,
00137 const axis2_char_t *_s,
00138 const axis2_char_t *_trim);
00139
00140 #define AXIS2_STRDUP(pts, env) \
00141 axis2_strdup(pts, env)
00142
00143 #define AXIS2_STRNDUP(pts, n, env) \
00144 axis2_strndup(pts, n, env)
00145
00146 #define AXIS2_STRMEMDUP(pts, n, env) \
00147 axis2_strmemdup(pts, n, env)
00148
00149 #define AXIS2_MEMCHR(pts, c, n) \
00150 axis2_memchr(pts, c, n)
00151
00152 #define AXIS2_STRCMP(s1, s2) \
00153 axis2_strcmp(s1, s2)
00154
00155 #define AXIS2_STRLEN(s) \
00156 axis2_strlen(s)
00157
00158 #define AXIS2_STRCASECMP(s1,s2) \
00159 axis2_strcasecmp(s1,s2)
00160
00161 #define AXIS2_STRNCASECMP(s1,s2,n) \
00162 axis2_strncasecmp(s1,s2,n)
00163
00164 #define AXIS2_STRACAT(s1, s2, env) \
00165 axis2_stracat(s1, s2, env)
00166
00167 #define AXIS2_STRSTR(s1, s2) \
00168 axis2_strstr(s1, s2)
00169
00170 #define AXIS2_RINDEX(s, c) \
00171 axis2_rindex(s, c)
00172
00173 #define AXIS2_REPLACE(env, str, s1, s2) \
00174 axis2_replace(env, str, s1, s2)
00175
00176 #define AXIS2_STRLTRIM(env, s, trim) \
00177 axis2_strltrim(env, s, trim)
00178
00179 #define AXIS2_STRRTRIM(env, s, trim) \
00180 axis2_strrtrim(env, s, trim)
00181
00182 #define AXIS2_STRTRIM(env, s, trim) \
00183 axis2_strtrim(env, s, trim)
00184
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190
00191 #endif