Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

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

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2