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 
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 
00446 gboolean gaim_str_has_prefix(const char *s, const char *p);
00447 
00457 gboolean gaim_str_has_suffix(const char *s, const char *x);
00458 
00469 gchar *gaim_str_sub_away_formatters(const char *str, const char *name);
00470 
00479 gchar *gaim_strdup_withhtml(const gchar *src);
00480 
00488 char *gaim_str_add_cr(const char *str);
00489 
00495 void gaim_str_strip_cr(char *str);
00496 
00509 gchar *gaim_strreplace(const char *string, const char *delimiter,
00510                        const char *replacement);
00511 
00522 char *gaim_utf8_ncr_decode(const char *in);
00523 
00536 gchar *gaim_strcasereplace(const char *string, const char *delimiter,
00537                            const char *replacement);
00538 
00548 const char *gaim_strcasestr(const char *haystack, const char *needle);
00549 
00558 char *gaim_str_size_to_units(size_t size);
00559 
00568 char *gaim_str_seconds_to_string(guint sec);
00569 
00583 char *gaim_str_binary_to_ascii(const unsigned char *binary, guint len);
00587 /**************************************************************************/
00589 /**************************************************************************/
00604 gboolean gaim_url_parse(const char *url, char **ret_host, int *ret_port,
00605                         char **ret_path, char **ret_user, char **ret_passwd);
00606 
00618 void gaim_url_fetch(const char *url, gboolean full,
00619                     const char *user_agent, gboolean http11,
00620                     void (*cb)(void *, const char *, size_t),
00621                     void *data);
00631 const char *gaim_url_decode(const char *str);
00632 
00642 const char *gaim_url_encode(const char *str);
00643 
00651 gboolean gaim_email_is_valid(const char *address);
00652 
00662 GList* gaim_uri_list_extract_uris (const gchar* uri_list);
00663 
00674 GList* gaim_uri_list_extract_filenames (const gchar* uri_list);
00675 
00678 /**************************************************************************
00679  * UTF8 String Functions
00680  **************************************************************************/
00692 gchar *gaim_utf8_try_convert(const char *str);
00693 
00703 gchar *gaim_utf8_salvage(const char *str);
00704 
00715 int gaim_utf8_strcasecmp(const char *a, const char *b);
00716 
00725 gboolean gaim_message_meify(char *message, size_t len);
00726 
00735 char *gaim_text_strip_mnemonic(const char *in);
00736 
00748 #define gaim_add_eight(x) ((x)+8)
00749 
00759 const char *gaim_unescape_filename(const char *str);
00760 
00768 const char *gaim_escape_filename(const char *str);
00769 
00770 #ifdef __cplusplus
00771 }
00772 #endif
00773 
00774 /* to address incompatibility with cp932. */
00775 void botch_ucs(gchar *ucs, gssize len);
00776 void sanitize_ucs(gchar *ucs, gssize len);
00777 void *botch_utf(const void *utf, size_t len, size_t *newlen);
00778 void *sanitize_utf(unsigned char *msg, size_t len, size_t *newlen);
00779 #endif /* _GAIM_UTIL_H_ */

Generated on Sun Jun 5 18:07:36 2005 for gaim by  doxygen 1.3.9.1