+
+#ifdef MACH
+
+#include <a.out.h>
+
+/* I don't know why this isn't defined. */
+#ifndef STYP_INIT
+#define STYP_INIT 0x80000000
+#endif
+
+/* I don't know why this isn't defined. */
+#ifndef _RDATA
+#define _RDATA ".rdata"
+#define STYP_RDATA 0x00000100
+#endif
+
+/* Small ("near") data section. */
+#ifndef _SDATA
+#define _SDATA ".sdata"
+#define STYP_SDATA 0x00000200
+#endif
+
+/* Small ("near") bss section. */
+#ifndef _SBSS
+#define _SBSS ".sbss"
+#define STYP_SBSS 0x00000400
+#endif
+
+/* We don't seem to have a sym.h or syms.h anywhere, so we'll do it the
+ hard way. This stinks. */
+typedef struct {
+ short magic;
+ short vstamp;
+ long ilineMax;
+ struct { long foo, offset; } offsets[11];
+} HDRR, *pHDRR;
+
+#else /* not MACH */
+