xref: /plan9-contrib/sys/src/cmd/jtagfs/tap.h (revision dedb130315e7b691e306ee069395ee1f0b18e4d4)
1 typedef struct SmPath SmPath;
2 typedef struct TapSm TapSm;
3 typedef struct Tap Tap;
4 
5 enum{
6 	TapReset,
7 	TapIdle,
8 	TapSelDR,
9 	TapCaptureDR,
10 	TapShiftDR,
11 	TapExit1DR,
12 	TapPauseDR,
13 	TapExit2DR,
14 	TapUpdateDR,
15 	TapSelIR,
16 	TapCaptureIR,
17 	TapShiftIR,
18 	TapExit1IR,
19 	TapPauseIR,
20 	TapExit2IR,
21 	TapUpdateIR,
22 	NStates,
23 	TapUnknown,
24 };
25 
26 
27 enum {
28 	TapDR,
29 	TapIR = TapSelIR-TapSelDR,
30 };
31 
32 struct TapSm{
33 	int state;
34 };
35 
36 struct SmPath{
37 	ulong ptms;	/* msb order on the lsb side, see comment on msb2lsb */
38 	ulong ptmslen;
39 	int st;
40 };
41 
42 struct Tap {
43 	TapSm;
44 	u32int hwid;
45 	int irlen;
46 	int drlen;
47 	char name[32];
48 	void *private;
49 };
50 
51 extern void	moveto(TapSm *sm, int dest);
52 extern SmPath	pathto(TapSm *sm, int dest);
53 extern SmPath	takepathpref(SmPath *pth, int nbits);
54