Main Page | Modules | Data Structures | File List | Data Fields

/extra/work/state-dev/src/sul/sul_string.h

00001 /* ----------------------------------------------------------------------------
00002  * @(#) $Header: /home/systems/jlewalle/dev/jacob-cvs/projects/state/src/sul/sul_string.h,v 1.4 2004/01/21 21:14:40 jlewalle Exp $
00003  *
00004  * --------------------------------------------------------------------------*/
00005 #if !defined(_INCLUDED_SUL_STRLIB_H_HEADER__)
00006 #define _INCLUDED_SUL_STRLIB_H_HEADER__
00007 
00008 typedef struct sul_string_t
00009 {
00010   char *data;
00011   apr_size_t len;
00012 } sul_string_t;
00013 
00014 
00015 typedef struct sul_stringbuf_t
00016 {
00017   char *data;
00018   apr_size_t len;
00019   apr_size_t blocksize;
00020   apr_pool_t *pool;
00021 } sul_stringbuf_t;
00022 
00023 extern SUL_DECLARE(sul_string_t *) sul_string_create(const char *cstring, apr_pool_t *pool);
00024 extern SUL_DECLARE(sul_string_t *) sul_string_ncreate(const char *bytes, const apr_size_t size, apr_pool_t *pool);
00025 extern SUL_DECLARE(sul_string_t *) sul_string_create_from_buf(const sul_stringbuf_t *strbuf, apr_pool_t *pool);
00026 extern SUL_DECLARE(sul_string_t *) sul_string_createf(apr_pool_t *pool, const char *fmt, ...) __attribute__ ((format (printf, 2, 3)));
00027 extern SUL_DECLARE(sul_string_t *) sul_string_createv(apr_pool_t *pool, const char *fmt, va_list ap) __attribute__ ((format (printf, 2, 0)));
00028 extern SUL_DECLARE(sul_boolean_t) sul_string_isempty(const sul_string_t *str);
00029 extern SUL_DECLARE(sul_string_t *) sul_string_dup(const sul_string_t *original_string, apr_pool_t *pool);
00030 extern SUL_DECLARE(sul_boolean_t) sul_string_compare(const sul_string_t *str1, const sul_string_t *str2);
00031 
00032 extern SUL_DECLARE(apr_size_t) sul_string_first_non_whitespace(const sul_string_t *str);
00033 extern SUL_DECLARE(void)       sul_string_strip_whitespace(sul_string_t *str);
00034 extern SUL_DECLARE(apr_size_t) sul_string_find_char_backward(const sul_string_t *str, char ch);
00035 
00036 
00037 extern SUL_DECLARE(sul_stringbuf_t *) sul_stringbuf_create(const char *cstring, apr_pool_t *pool);
00038 extern SUL_DECLARE(sul_stringbuf_t *) sul_stringbuf_ncreate(const char *bytes, const apr_size_t size, apr_pool_t *pool);
00039 extern SUL_DECLARE(sul_stringbuf_t *) sul_stringbuf_create_from_string(const sul_string_t *str, apr_pool_t *pool);
00040 extern SUL_DECLARE(sul_stringbuf_t *) sul_stringbuf_createf(apr_pool_t *pool, const char *fmt, ...) __attribute__ ((format (printf, 2, 3)));
00041 extern SUL_DECLARE(sul_stringbuf_t *) sul_stringbuf_createv(apr_pool_t *pool, const char *fmt, va_list ap) __attribute__ ((format (printf, 2, 0)));
00042 extern SUL_DECLARE(void) sul_stringbuf_ensure(sul_stringbuf_t *str, apr_size_t minimum_size);
00043 extern SUL_DECLARE(void) sul_stringbuf_set(sul_stringbuf_t *str, const char *value);
00044 extern SUL_DECLARE(void) sul_stringbuf_setempty(sul_stringbuf_t *str);
00045 extern SUL_DECLARE(sul_boolean_t) sul_stringbuf_isempty(const sul_stringbuf_t *str);
00046 extern SUL_DECLARE(void) sul_stringbuf_chop(sul_stringbuf_t *str, apr_size_t bytes);
00047 extern SUL_DECLARE(void) sul_stringbuf_fillchar(sul_stringbuf_t *str, const unsigned char c);
00048 extern SUL_DECLARE(void) sul_stringbuf_appendbytes (sul_stringbuf_t *targetstr, const char *bytes, const apr_size_t count);
00049 extern SUL_DECLARE(void) sul_stringbuf_appendstr(sul_stringbuf_t *targetstr, const sul_stringbuf_t *appendstr);
00050 extern SUL_DECLARE(void) sul_stringbuf_appendcstr(sul_stringbuf_t *targetstr, const char *cstr);
00051 extern SUL_DECLARE(void) sul_stringbuf_appendchar(sul_stringbuf_t *targetstr, const char chr); /* XXX jacob */
00052 extern SUL_DECLARE(void) sul_stringbuf_appendcharn(sul_stringbuf_t *targetstr, const char chr, apr_size_t n); /* XXX jacob */
00053 
00054 extern SUL_DECLARE(sul_stringbuf_t *) sul_stringbuf_dup(const sul_stringbuf_t *original_string, apr_pool_t *pool);
00055 extern SUL_DECLARE(sul_boolean_t) sul_stringbuf_compare(const sul_stringbuf_t *str1, const sul_stringbuf_t *str2);
00056 
00057 extern SUL_DECLARE(apr_size_t) sul_stringbuf_first_non_whitespace(const sul_stringbuf_t *str);
00058 extern SUL_DECLARE(void) sul_stringbuf_strip_whitespace(sul_stringbuf_t *str);
00059 extern SUL_DECLARE(apr_size_t) sul_stringbuf_find_char_backward(const sul_stringbuf_t *str, char ch);
00060 extern SUL_DECLARE(sul_boolean_t) sul_string_compare_stringbuf(const sul_string_t *str1, const sul_stringbuf_t *str2);
00061 
00071 SUL_DECLARE(void)
00072 sul_join_strings_strbuffer(sul_stringbuf_t *sb, apr_array_header_t *strings,
00073                            const char *sep, apr_size_t bgn, apr_pool_t *pool);
00074 
00075 #endif

Generated on Wed Apr 28 09:38:36 2004 for State by doxygen 1.3.5