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 
00322 char *gaim_markup_slice(const char *str, guint x, guint y);
00323 
00333 char *gaim_markup_get_tag_name(const char *tag);
00334 
00338 /**************************************************************************/
00340 /**************************************************************************/
00350 const gchar *gaim_home_dir(void);
00351 
00359 char *gaim_user_dir(void);
00360 
00365 void set_gaim_user_dir(const char *dir);
00366 
00377 int gaim_build_dir(const char *path, int mode);
00378 
00394 FILE *gaim_mkstemp(char **path);
00395 
00403 gboolean gaim_program_is_valid(const char *program);
00404 
00412 char *gaim_fd_get_ip(int fd);
00413 
00417 /**************************************************************************/
00419 /**************************************************************************/
00435 const char *gaim_normalize(const GaimAccount *account, const char *str);
00436 
00449 const char *gaim_normalize_nocase(const GaimAccount *account, const char *str);
00450 
00460 gboolean gaim_str_has_prefix(const char *s, const char *p);
00461 
00471 gboolean gaim_str_has_suffix(const char *s, const char *x);
00472 
00483 gchar *gaim_str_sub_away_formatters(const char *str, const char *name);
00484 
00493 gchar *gaim_strdup_withhtml(const gchar *src);
00494 
00502 char *gaim_str_add_cr(const char *str);
00503 
00509 void gaim_str_strip_cr(char *str);
00510 
00523 gchar *gaim_strreplace(const char *string, const char *delimiter,
00524                        const char *replacement);
00525 
00536 char *gaim_utf8_ncr_decode(const char *in);
00537 
00550 gchar *gaim_strcasereplace(const char *string, const char *delimiter,
00551                            const char *replacement);
00552 
00562 const char *gaim_strcasestr(const char *haystack, const char *needle);
00563 
00572 char *gaim_str_size_to_units(size_t size);
00573 
00582 char *gaim_str_seconds_to_string(guint sec);
00583 
00597 char *gaim_str_binary_to_ascii(const unsigned char *binary, guint len);
00601 /**************************************************************************/
00603 /**************************************************************************/
00618 gboolean gaim_url_parse(const char *url, char **ret_host, int *ret_port,
00619                         char **ret_path, char **ret_user, char **ret_passwd);
00620 
00632 void gaim_url_fetch(const char *url, gboolean full,
00633                     const char *user_agent, gboolean http11,
00634                     void (*cb)(void *, const char *, size_t),
00635                     void *data);
00645 const char *gaim_url_decode(const char *str);
00646 
00656 const char *gaim_url_encode(const char *str);
00657 
00665 gboolean gaim_email_is_valid(const char *address);
00666 
00676 GList* gaim_uri_list_extract_uris (const gchar* uri_list);
00677 
00688 GList* gaim_uri_list_extract_filenames (const gchar* uri_list);
00689 
00692 /**************************************************************************
00693  * UTF8 String Functions
00694  **************************************************************************/
00706 gchar *gaim_utf8_try_convert(const char *str);
00707 
00717 gchar *gaim_utf8_salvage(const char *str);
00718 
00729 int gaim_utf8_strcasecmp(const char *a, const char *b);
00730 
00739 gboolean gaim_message_meify(char *message, size_t len);
00740 
00749 char *gaim_text_strip_mnemonic(const char *in);
00750 
00762 #define gaim_add_eight(x) ((x)+8)
00763 
00773 const char *gaim_unescape_filename(const char *str);
00774 
00782 const char *gaim_escape_filename(const char *str);
00783 
00784 #ifdef __cplusplus
00785 }
00786 #endif
00787 
00788 #endif /* _GAIM_UTIL_H_ */

Generated on Sun Feb 18 07:52:07 2007 for gaim by  doxygen 1.5.1