Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

util.h

Go to the documentation of this file.
00001 
00028 #ifndef _GAIM_UTIL_H_
00029 #define _GAIM_UTIL_H_
00030 
00031 #include <stdio.h>
00032 
00033 #include "account.h"
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038 
00039 /**************************************************************************/
00041 /**************************************************************************/
00054 unsigned char *gaim_base16_encode(const unsigned char *str, int len);
00055 
00066 int gaim_base16_decode(const char *str, unsigned char **ret_str);
00067 
00071 /**************************************************************************/
00073 /**************************************************************************/
00086 unsigned char *gaim_base64_encode(const unsigned char *buf, size_t len);
00087 
00097 void gaim_base64_decode(const char *str, char **ret_str, int *ret_len);
00098 
00101 /**************************************************************************/
00103 /**************************************************************************/
00113 void gaim_quotedp_decode (const char *str, char **ret_str, int *ret_len);
00114 
00117 /**************************************************************************/
00119 /**************************************************************************/
00137 char *gaim_mime_decode_field (const char *str);
00138 
00142 /**************************************************************************/
00144 /**************************************************************************/
00157 const char *gaim_date(void);
00158 
00169 const char *gaim_date_full(void);
00170 
00183 time_t gaim_time_build(int year, int month, int day, int hour,
00184                        int min, int sec);
00185 
00194 time_t gaim_str_to_time(const char *timestamp, gboolean utc);
00195 
00199 /**************************************************************************/
00201 /**************************************************************************/
00218 gboolean gaim_markup_find_tag(const char *needle, const char *haystack,
00219                               const char **start, const char **end,
00220                               GData **attributes);
00221 
00244 gboolean gaim_markup_extract_info_field(const char *str, int len, GString *dest,
00245                                         const char *start_token, int skip,
00246                                         const char *end_token, char check_value,
00247                                         const char *no_value_token,
00248                                         const char *display_name, gboolean is_link,
00249                                         const char *link_prefix);
00250 
00258 void gaim_markup_html_to_xhtml(const char *html, char **dest_xhtml,
00259                                char **dest_plain);
00260 
00268 char *gaim_markup_strip_html(const char *str);
00269 
00277 char *gaim_markup_linkify(const char *str);
00278 
00287 char *gaim_escape_html(const char *html);
00288 
00299 char *gaim_unescape_html(const char *html);
00300 
00304 /**************************************************************************/
00306 /**************************************************************************/
00316 const gchar *gaim_home_dir(void);
00317 
00325 char *gaim_user_dir(void);
00326 
00331 void set_gaim_user_dir(const char *dir);
00332 
00343 int gaim_build_dir(const char *path, int mode);
00344 
00360 FILE *gaim_mkstemp(char **path);
00361 
00369 gboolean gaim_program_is_valid(const char *program);
00370 
00378 char *gaim_fd_get_ip(int fd);
00379 
00383 /**************************************************************************/
00385 /**************************************************************************/
00401 const char *gaim_normalize(const GaimAccount *account, const char *str);
00402 
00412 gboolean gaim_str_has_prefix(const char *s, const char *p);
00413 
00423 gboolean gaim_str_has_suffix(const char *s, const char *x);
00424 
00435 gchar *gaim_str_sub_away_formatters(const char *str, const char *name);
00436 
00445 gchar *gaim_strdup_withhtml(const gchar *src);
00446 
00454 char *gaim_str_add_cr(const char *str);
00455 
00461 void gaim_str_strip_cr(char *str);
00462 
00475 gchar *gaim_strreplace(const char *string, const char *delimiter,
00476                        const char *replacement);
00477 
00490 gchar *gaim_strcasereplace(const char *string, const char *delimiter,
00491                            const char *replacement);
00492 
00502 const char *gaim_strcasestr(const char *haystack, const char *needle);
00503 
00512 char *gaim_str_size_to_units(size_t size);
00513 
00522 char *gaim_str_seconds_to_string(guint sec);
00523 
00527 /**************************************************************************/
00529 /**************************************************************************/
00542 gboolean gaim_url_parse(const char *url, char **ret_host, int *ret_port,
00543                         char **ret_path);
00544 
00556 void gaim_url_fetch(const char *url, gboolean full,
00557                     const char *user_agent, gboolean http11,
00558                     void (*cb)(void *, const char *, size_t),
00559                     void *data);
00569 const char *gaim_url_decode(const char *str);
00570 
00580 const char *gaim_url_encode(const char *str);
00581 
00584 /**************************************************************************
00585  * UTF8 String Functions
00586  **************************************************************************/
00598 char *gaim_utf8_try_convert(const char *str);
00599 
00610 int gaim_utf8_strcasecmp(const char *a, const char *b);
00611 
00620 gboolean gaim_message_meify(char *message, size_t len);
00621 
00630 char *gaim_text_strip_mnemonic(const char *in);
00631 
00643 #define gaim_add_eight(x) ((x)+8)
00644 
00645 #ifdef __cplusplus
00646 }
00647 #endif
00648 
00649 #endif /* _GAIM_UTIL_H_ */

Generated on Tue Aug 3 17:36:34 2004 for gaim by doxygen 1.3.4