/* util.h: libshout utility/portability functions */ #ifndef __LIBSHOUT_UTIL_H__ #define __LIBSHOUT_UTIL_H__ /* String dictionary type, without support for NULL keys, or multiple * instances of the same key */ typedef struct _util_dict { char *key; char *val; struct _util_dict *next; } util_dict; char *_shout_util_strdup(const char *s); util_dict *_shout_util_dict_new(void); void _shout_util_dict_free(util_dict *dict); /* dict, key must not be NULL. */ int _shout_util_dict_set(util_dict *dict, const char *key, const char *val); const char *_shout_util_dict_get(util_dict *dict, const char *key); char *_shout_util_dict_urlencode(util_dict *dict, char delim); char *_shout_util_base64_encode(char *data); char *_shout_util_url_encode(const char *data); int _shout_util_read_header(int sock, char *buff, unsigned long len); #endif /* __LIBSHOUT_UTIL_H__ */