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 */
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%