summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/compat/hpux/hpux.h58
1 files changed, 53 insertions, 5 deletions
diff --git a/sys/compat/hpux/hpux.h b/sys/compat/hpux/hpux.h
index fab8a4a5873..411d885dbe1 100644
--- a/sys/compat/hpux/hpux.h
+++ b/sys/compat/hpux/hpux.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: hpux.h,v 1.11 2004/07/09 21:33:44 mickey Exp $ */
+/* $OpenBSD: hpux.h,v 1.12 2004/07/10 06:11:20 deraadt Exp $ */
/* $NetBSD: hpux.h,v 1.11 1997/04/01 19:58:58 scottr Exp $ */
/*
@@ -110,7 +110,7 @@ struct hpux_stat {
long hst_blksize;
long hst_blocks;
u_int hst_remote;
- long hst_netdev;
+ long hst_netdev;
u_long hst_netino;
u_short hst_cnode;
u_short hst_rcnode;
@@ -140,9 +140,9 @@ struct hpux_ostat {
u_short hst_dev;
u_short hst_ino;
u_short hst_mode;
- short hst_nlink;
- short hst_uid;
- short hst_gid;
+ short hst_nlink;
+ short hst_uid;
+ short hst_gid;
u_short hst_rdev;
int hst_size;
int hst_atime;
@@ -284,3 +284,51 @@ struct hpux_sigaction {
#define HPUX_UF_NONBLOCK_ON 0x10
#define HPUX_UF_FNDELAY_ON 0x20
#define HPUX_UF_FIONBIO_ON 0x40
+
+#ifdef __m68k__
+/*
+ * Skeletal 6.X HP-UX user structure info for ptrace() mapping.
+ * Yes, this is as bogus as it gets...
+ */
+
+/* 6.0/6.2 offsets */
+#define ooHU_AROFF 0x004
+#define ooHU_TSOFF 0x092
+#define ooHU_EDOFF 0x91E
+#define ooHU_FPOFF 0xA66
+
+/* 6.5 offsets */
+#define oHU_AROFF 0x004
+#define oHU_TSOFF 0x0B2
+#define oHU_EDOFF 0x93A
+#define oHU_FPOFF 0xA86
+
+/* 7.X offsets */
+#define HU_AROFF 0x004
+#define HU_TSOFF 0x0B4
+#define HU_EDOFF 0x8C8
+#define HU_FPOFF 0xA28
+
+#define HU_PAD1 (HU_AROFF)
+#define HU_PAD2 (HU_TSOFF-HU_AROFF-4)
+#define HU_PAD3 (HU_EDOFF-HU_TSOFF-12)
+#define HU_PAD4 (HU_FPOFF-HU_EDOFF-sizeof(struct hpux_exec))
+
+struct hpux_user {
+ u_char whocares1[HU_PAD1]; /* +0x000 */
+ int *hpuxu_ar0; /* +0x004 */
+ u_char whocares2[HU_PAD2]; /* +0x008 */
+ int hpuxu_tsize; /* +0x0B2 */
+ int hpuxu_dsize; /* +0x0B6 */
+ int hpuxu_ssize; /* +0x0BA */
+ u_char whocares3[HU_PAD3]; /* +0x0BE */
+ struct hpux_exec hpuxu_exdata; /* +0x93A */
+ u_char whocares4[HU_PAD4]; /* +0x95E */
+ struct hpux_fp { /* +0xA66 */
+ int hpfp_save[54];
+ int hpfp_ctrl[3];
+ int hpfp_reg[24];
+ } hpuxu_fp;
+ short hpuxu_dragon; /* +0xBCA */
+ };
+#endif