2015-05-14 08:43:25 -05:00
|
|
|
// 6 april 2015
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
2015-05-21 09:32:55 -05:00
|
|
|
#define uthash_fatal(msg) complain("uthash failed: %s", (msg))
|
|
|
|
#define uthash_malloc(sz) uiAlloc((sz), "(uthash internal)")
|
|
|
|
#define uthash_free(ptr,sz) uiFree((ptr))
|
|
|
|
#include "uthash/uthash.h"
|
|
|
|
|
2015-05-14 08:43:25 -05:00
|
|
|
extern uiInitOptions options;
|
|
|
|
|
|
|
|
extern void *uiAlloc(size_t, const char *);
|
|
|
|
#define uiNew(T) ((T *) uiAlloc(sizeof (T), #T))
|
|
|
|
extern void *uiRealloc(void *, size_t, const char *);
|
|
|
|
extern void uiFree(void *);
|
|
|
|
|
|
|
|
extern void complain(const char *, ...);
|
|
|
|
|
2015-05-29 13:56:11 -05:00
|
|
|
extern void queueResize(uiControl *);
|
|
|
|
|
2015-05-18 21:02:37 -05:00
|
|
|
// ptrarray.c
|
2015-05-14 08:43:25 -05:00
|
|
|
struct ptrArray {
|
|
|
|
void **ptrs;
|
|
|
|
uintmax_t len;
|
|
|
|
uintmax_t cap;
|
|
|
|
};
|
|
|
|
struct ptrArray *newPtrArray(void);
|
|
|
|
void ptrArrayDestroy(struct ptrArray *);
|
|
|
|
void ptrArrayAppend(struct ptrArray *, void *);
|
2015-05-18 09:32:08 -05:00
|
|
|
void ptrArrayInsertAt(struct ptrArray *, uintmax_t, void *);
|
2015-05-14 08:43:25 -05:00
|
|
|
void ptrArrayDelete(struct ptrArray *, uintmax_t);
|
|
|
|
#define ptrArrayIndex(p, T, i) ((T) ((p)->ptrs[(i)]))
|
|
|
|
|
|
|
|
// shouldquit.c
|
2015-05-29 13:56:11 -05:00
|
|
|
extern int shouldQuit(void);
|
|
|
|
|
|
|
|
// types.c
|
|
|
|
extern uiTyped *newTyped(uintmax_t type);
|