imem.h revision b53ec8a932a4ea4b983d0e4318ef0ea505c5f9b0
409N/A#ifndef __IMEM_H
20N/A#define __IMEM_H
20N/A
20N/Aextern Pool default_pool;
20N/A
20N/A/* For easy allocation of memory from default memory pool. */
20N/A#define i_new(type, count) \
20N/A ((type *) i_malloc(sizeof(type) * (count)))
20N/Avoid *i_malloc(size_t size);
20N/Avoid i_free(void *mem);
20N/Avoid *i_realloc(void *mem, size_t size);
20N/A
20N/A/* string functions */
20N/Achar *i_strdup(const char *str);
20N/Achar *i_strdup_empty(const char *str); /* like i_strdup(), but if str == "", return NULL */
20N/Achar *i_strdup_until(const char *str, const char *end); /* *end isn't included */
20N/Achar *i_strndup(const char *str, size_t max_chars);
20N/Achar *i_strdup_printf(const char *format, ...) __attr_format__(1, 2);
20N/Achar *i_strdup_vprintf(const char *format, va_list args);
20N/Avoid i_strdup_replace(char **dest, const char *str);
20N/A
260N/Achar *i_strconcat(const char *str1, ...); /* NULL terminated */
20N/A
20N/Avoid imem_init(void);
20N/Avoid imem_deinit(void);
22N/A
0N/A#endif
50N/A