+/* pcb.h 3.1 %H% */
+
+/*
+ * VAX process control block
+ *
+ * THE SIZE OF THE pcb, AS INFLUENCED BY THE SIZE OF THE SOFTWARE
+ * EXTENSION, IS KNOWN IN THE #ifdef FASTVAX'ed DEFINITIONS OF THE
+ * OFFSETS OF U_ARG and U_QSAV IN THE FILE user.h.
+ */
+
+struct pcb
+{
+ int pcb_ksp; /* kernel stack pointer */
+ int pcb_esp; /* exec stack pointer */
+ int pcb_ssp; /* supervisor stack pointer */
+ int pcb_usp; /* user stack pointer */
+ int pcb_r0;
+ int pcb_r1;
+ int pcb_r2;
+ int pcb_r3;
+ int pcb_r4;
+ int pcb_r5;
+ int pcb_r6;
+ int pcb_r7;
+ int pcb_r8;
+ int pcb_r9;
+ int pcb_r10;
+ int pcb_r11;
+ int pcb_r12;
+ int pcb_r13;
+ int pcb_pc; /* program counter */
+ int pcb_psl; /* program status longword */
+ struct pte *pcb_p0br; /* seg 0 base register */
+ int pcb_p0lr; /* seg 0 length register and astlevel */
+ struct pte *pcb_p1br; /* seg 1 base register */
+ int pcb_p1lr; /* seg 1 length register and pme */
+/*
+ * Software pcb (extension)
+ */
+ int pcb_szpt; /* number of pages of user page table */
+ int pcb_cmap2;
+ int *pcb_sswap;
+ int pcb_sigc[3];
+};