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    
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                          /* AXIS2_STRING_H */

Generated on Tue Oct 3 18:21:10 2006 for Axis2/C by  doxygen 1.4.7