axis2_string.h

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     /* much similar to the strcat behaviour. But the difference is
00096      * this allocates new memory to put the conatenated string rather than
00097      * modifying the first argument. The user should free the allocated
00098      * memory for the return value
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     /* replaces s1 with s2 */                 
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                          /* AXIS2_STRING_H */

Generated on Thu Aug 31 17:32:36 2006 for Axis2/C by  doxygen 1.4.6