#ifdef DEBUG
void assert_failed(char *assertion, char *file, int line) NONRET;
-#define ASSERT(x) do { if (!(x)) assert_failed(#x, __FILE__, __LINE__); } while(0)
+#define ASSERT(x) do { if (unlikely(!(x))) assert_failed(#x, __FILE__, __LINE__); } while(0)
#else
void assert_failed(void) NONRET;
#define ASSERT(x) do { if (__builtin_constant_p(x) && !(x)) assert_failed(); } while(0)
void *mmap_file(byte *name, unsigned *len, int writeable);
void munmap_file(void *start, unsigned len);
+/* partmap.c */
+
+struct partmap;
+struct partmap *partmap_open(byte *name, int writeable);
+void *partmap_map(struct partmap *p, sh_off_t offset, uns size);
+void partmap_close(struct partmap *p);
+sh_off_t partmap_size(struct partmap *p);
+
/* proctitle.c */
void setproctitle_init(int argc, char **argv);