mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-01 11:29:27 +00:00
4325cdcc78
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
130 lines
2.9 KiB
C
130 lines
2.9 KiB
C
/*
|
|
File: BitWalk.h
|
|
|
|
Contains: This file contains the data structures, etc., which are
|
|
needed by the bitwalk routines. These routines
|
|
are available for use by subtests running in the CTE.
|
|
|
|
Written by: Mark Appleman
|
|
|
|
Copyright: © 1990, 1992 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Change History (most recent first):
|
|
|
|
<SM2> 5/2/92 kc Roll in Horror. Comments follow:
|
|
<H2> 3/6/92 AL Upgraded to CTE v2.1 (copied over from XXTest project).
|
|
<1> 12/14/90 SS first checked in
|
|
|
|
*/
|
|
#ifndef _BitWalk_
|
|
#define _BitWalk_
|
|
//
|
|
// BitWalk.h
|
|
//
|
|
|
|
#include "GenericTypes.h"
|
|
|
|
|
|
//
|
|
// BitWalk8 parameters and results.
|
|
//
|
|
typedef struct BitWalk8_PB
|
|
{
|
|
UBYTE *bytePtr ;
|
|
UBYTE dontWriteMask ;
|
|
UBYTE doWriteBits ;
|
|
UBYTE dontCareMask ;
|
|
UBYTE initialPattern ;
|
|
UBYTE finalValue ;
|
|
BYTE pad[3] ;
|
|
void (*writeMethod)(struct CTEGlobals *info, UBYTE *bytePtr, UBYTE writeValue) ;
|
|
UBYTE (*readMethod)(struct CTEGlobals *info, UBYTE *bytePtr) ;
|
|
} BitWalk8_PB ;
|
|
|
|
typedef struct BitWalk8_RB
|
|
{
|
|
UBYTE pattern ;
|
|
UBYTE writeValue ;
|
|
UBYTE readValue ;
|
|
UBYTE failedBits ;
|
|
UBYTE shiftCount ;
|
|
BYTE phase ;
|
|
BYTE pad[2] ;
|
|
} BitWalk8_RB ;
|
|
|
|
|
|
//
|
|
// BitWalk16 parameters and results.
|
|
//
|
|
typedef struct BitWalk16_PB
|
|
{
|
|
UWORD *wordPtr ;
|
|
UWORD dontWriteMask ;
|
|
UWORD doWriteBits ;
|
|
UWORD dontCareMask ;
|
|
UWORD initialPattern ;
|
|
UWORD finalValue ;
|
|
WORD pad[1] ;
|
|
void (*writeMethod)(struct CTEGlobals *info, UWORD *wordPtr, UWORD writeValue) ;
|
|
UWORD (*readMethod)(struct CTEGlobals *info, UWORD *wordPtr) ;
|
|
} BitWalk16_PB ;
|
|
|
|
typedef struct BitWalk16_RB
|
|
{
|
|
UWORD pattern ;
|
|
UWORD writeValue ;
|
|
UWORD readValue ;
|
|
UWORD failedBits ;
|
|
BYTE phase ;
|
|
BYTE pad[1] ;
|
|
UWORD shiftCount ;
|
|
} BitWalk16_RB ;
|
|
|
|
|
|
//
|
|
// BitWalk32 parameters and results.
|
|
//
|
|
typedef void BitWalk32WriteMethod(struct CTEGlobals *info, ULONG *longPtr, ULONG writeValue) ;
|
|
typedef ULONG BitWalk32ReadMethod(struct CTEGlobals *info, ULONG *longPtr) ;
|
|
|
|
typedef struct BitWalk32_PB
|
|
{
|
|
ULONG *longPtr ;
|
|
ULONG dontWriteMask ;
|
|
ULONG doWriteBits ;
|
|
ULONG dontCareMask ;
|
|
ULONG initialPattern ;
|
|
ULONG finalValue ;
|
|
void (*writeMethod)(struct CTEGlobals *info, ULONG *longPtr, ULONG writeValue) ;
|
|
ULONG (*readMethod)(struct CTEGlobals *info, ULONG *longPtr) ;
|
|
} BitWalk32_PB ;
|
|
|
|
typedef struct BitWalk32_RB
|
|
{
|
|
ULONG pattern ;
|
|
ULONG writeValue ;
|
|
ULONG readValue ;
|
|
ULONG failedBits ;
|
|
BYTE phase ;
|
|
BYTE pad[3] ;
|
|
ULONG shiftCount ;
|
|
} BitWalk32_RB ;
|
|
|
|
|
|
//
|
|
// Function Prototypes.
|
|
//
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif __cplusplus
|
|
|
|
extern UBYTE BitWalk8(struct CTEGlobals *info, BitWalk8_PB *bw8Params, BitWalk8_RB *bw8results) ;
|
|
extern UWORD BitWalk16(struct CTEGlobals *info, BitWalk16_PB *bw16params, BitWalk16_RB *bw16results) ;
|
|
extern ULONG BitWalk32(struct CTEGlobals *info, BitWalk32_PB *bw32params, BitWalk32_RB *bw32results) ;
|
|
|
|
#ifdef __cplusplus
|
|
} // close the extern "C" declaration
|
|
#endif __cplusplus
|
|
|
|
|
|
#endif _BitWalk_ |