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
00145 #define AXIS2_STRDUP(pts, env) \
00146 axis2_strdup(pts, env)
00147
00148 #define AXIS2_STRNDUP(pts, n, env) \
00149 axis2_strndup(pts, n, env)
00150
00151 #define AXIS2_STRMEMDUP(pts, n, env) \
00152 axis2_strmemdup(pts, n, env)
00153
00154 #define AXIS2_MEMCHR(pts, c, n) \
00155 axis2_memchr(pts, c, n)
00156
00157 #define AXIS2_STRCMP(s1, s2) \
00158 axis2_strcmp(s1, s2)
00159
00160 #define AXIS2_STRNCMP(s1, s2, n) \
00161 axis2_strncmp(s1, s2, n)
00162
00163 #define AXIS2_STRLEN(s) \
00164 axis2_strlen(s)
00165
00166 #define AXIS2_STRCASECMP(s1,s2) \
00167 axis2_strcasecmp(s1,s2)
00168
00169 #define AXIS2_STRNCASECMP(s1,s2,n) \
00170 axis2_strncasecmp(s1,s2,n)
00171
00172 #define AXIS2_STRACAT(s1, s2, env) \
00173 axis2_stracat(s1, s2, env)
00174
00175 #define AXIS2_STRSTR(s1, s2) \
00176 axis2_strstr(s1, s2)
00177
00178 #define AXIS2_RINDEX(s, c) \
00179 axis2_rindex(s, c)
00180
00181 #define AXIS2_REPLACE(env, str, s1, s2) \
00182 axis2_replace(env, str, s1, s2)
00183
00184 #define AXIS2_STRLTRIM(env, s, trim) \
00185 axis2_strltrim(env, s, trim)
00186
00187 #define AXIS2_STRRTRIM(env, s, trim) \
00188 axis2_strrtrim(env, s, trim)
00189
00190 #define AXIS2_STRTRIM(env, s, trim) \
00191 axis2_strtrim(env, s, trim)
00192
00195 #ifdef __cplusplus
00196 }
00197 #endif
00198
00199 #endif