xref: /plan9-contrib/sys/src/cmd/jtagfs/chain.h (revision dedb130315e7b691e306ee069395ee1f0b18e4d4)
1 typedef struct Chain Chain;
2 
3 extern uchar rtab[]; 		/* generated by genrtab.c */
4 
5 #define MSK(nbits)		((1UL<<(nbits))-1)
6 
7 enum{
8 	MaxChLen	= 128,	/* bytes */
9 };
10 
11 
12 /* bit chain, can put at the beginning, get at the end */
13 struct Chain {
14 	int	b;			/* offset start in bits, (first full) */
15 	int	e;			/* offset end in bits (first empty) */
16 	uchar buf[MaxChLen];
17 };
18 
19 extern void	getbits(void *p, Chain *ch, int nbits);
20 extern u32int	hmsbputl(u32int *v);
21 extern u32int	msbhgetl(u32int *v);
22 extern void	printchain(Chain *ch);
23 extern void	putbits(Chain *ch, void *p, int nbits);
24