cck@CUNIXC.COLUMBIA.EDU (Charlie C. Kim) (11/05/87)
CAP Pre-Release Distribution 4.00 with Patches 5,6,7 Bug Report: 0012 Date: 11/4/87 Problem: Make cap work on a Sequent running 4.2 BSD Reported by: Ritchey Ruff at the Computer Science Department of Oregon State Priority: High if you are have a Sequent, Low otherwise Diagnosis: Sequent is byte swapped... Solution: Apply patches following (two files: lib/abnbp.h & afp/afpcommon/afpcmd.c). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *** /tmp/,RCSt1026805 Wed Nov 4 16:22:39 1987 --- afpcmd.c Wed Nov 4 16:22:18 1987 *************** *** 34,43 /* This should only be defined if you are byte swapped and you can be sure */ /* (byte *) would be the same as a (word *) or (dword *) */ #define LOOSE_BYTESWAPPED #endif /* machines that aren't byteswapped include: ibm032, pyr, sun, hpux, etc */ #define NULL 0 char *PackNames[] = { --- 34,48 ----- /* This should only be defined if you are byte swapped and you can be sure */ /* (byte *) would be the same as a (word *) or (dword *) */ #define LOOSE_BYTESWAPPED #endif + /* what kinda of processor is a sequent based on anyway? ns32000? */ + #ifdef sequent + # define BYTESWAPPED + #endif + /* machines that aren't byteswapped include: ibm032, pyr, sun, hpux, etc */ #define NULL 0 char *PackNames[] = { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *** /tmp/,RCSt1027149 Wed Nov 4 16:26:36 1987 --- abnbp.h Wed Nov 4 16:24:59 1987 *************** *** 59,72 byte enume; /* enumerator */ byte name[MAX_TUPLE_SIZE]; /* the entity name */ } NBPTuple; typedef struct { ! #ifndef vax /* assume most machines don't do this */ ! byte control : 4, /* control */ ! tcnt : 4; /* tuple count */ ! #else byte tcnt : 4, /* tuple count */ control : 4; /* control */ #endif byte id; /* NBP identifier */ NBPTuple tuple[nbpTupleMax]; /* start of first tuple, */ --- 59,71 ----- byte enume; /* enumerator */ byte name[MAX_TUPLE_SIZE]; /* the entity name */ } NBPTuple; typedef struct { ! #if defined(vax)||defined(sequent) ! /* then these structure elements need to be reversed */ ! /* because the machines are byteswapped */ byte tcnt : 4, /* tuple count */ control : 4; /* control */ #else byte control : 4, /* control */ tcnt : 4; /* tuple count */ *************** *** 65,74 byte control : 4, /* control */ tcnt : 4; /* tuple count */ #else byte tcnt : 4, /* tuple count */ control : 4; /* control */ #endif byte id; /* NBP identifier */ NBPTuple tuple[nbpTupleMax]; /* start of first tuple, */ } NBP; /* space for rest */ --- 64,76 ----- #if defined(vax)||defined(sequent) /* then these structure elements need to be reversed */ /* because the machines are byteswapped */ byte tcnt : 4, /* tuple count */ control : 4; /* control */ + #else + byte control : 4, /* control */ + tcnt : 4; /* tuple count */ #endif byte id; /* NBP identifier */ NBPTuple tuple[nbpTupleMax]; /* start of first tuple, */ } NBP; /* space for rest */ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%