-void add_offset __P((FILE *, off_t));
-int cmp_str __P((const void *, const void *));
-void do_order __P((void));
-void getargs __P((int, char *[]));
-int main __P((int, char *[]));
-void randomize __P((void));
-char *unctrl __P((char));
-void usage __P((void));
+#ifdef __GNUC__
+#define NORETURN __attribute__((__noreturn__))
+#else
+#define NORETURN
+#endif
+
+void add_offset(FILE *, off_t);
+int cmp_str(const void *, const void *);
+void die(const char *) NORETURN;
+void dieperror(const char *, char *) NORETURN;
+void do_order(void);
+void fwrite_be_offt(off_t, FILE *);
+void getargs(int, char *[]);
+int main(int, char *[]);
+void randomize(void);
+void usage(void) NORETURN;