File: struct-dump.h

package info (click to toggle)
amsn 0.98.3-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 33,876 kB
  • ctags: 10,292
  • sloc: tcl: 117,923; ansic: 32,173; cpp: 17,387; xml: 6,643; objc: 1,251; sh: 667; makefile: 544; perl: 215; python: 126
file content (64 lines) | stat: -rw-r--r-- 1,214 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

enum desc_type {
	UINT64,
	SINT64,
	UINT32,
	SINT32,
	UINT16,
	SINT16,
	UINT8,
	SINT8,
	FOURCC,
	STRING,
	PTR,
	ENUM16,
	ENUM32,
	STRUCT,
	UNION,
	BITS16,
	BITS32,
	BITS64,
	VER,
	PADDING,
};

struct struct_desc {
	enum desc_type      type;
	char                *name;
        unsigned int        length;
	char                **enums;
	char                **bits;
	struct struct_desc  *desc;
	struct {
		unsigned int        value;
		char                *name;
		struct struct_desc  *desc;
	} u[16];
};

struct ioctl_desc {
	char                *name;
	struct struct_desc  *desc;
};

/* ---------------------------------------------------------------------- */

extern struct struct_desc desc_int[];
extern struct struct_desc desc_long[];
extern struct struct_desc desc_timeval[];

/* ---------------------------------------------------------------------- */

int print_struct(FILE *fp, struct struct_desc *desc, void *data,
		 char *prefix, int tab);
int print_ioctl(FILE *fp, struct ioctl_desc *ioctls, char *prefix,
		int cmd, void *ptr);

/* ---------------------------------------------------------------------- */

#ifdef __sun
# include <sys/ioccom.h>
# define _IOC_NR(x) \
	((int)x & IOCPARM_MASK)
#endif