whatis [-a] [-f] [-l] [-n] [-w outfile] expression
Display, in C-like fashion, detailed information about kernel types
(structs, unions, typedefs, base types, etc.) If the -a option is
specified, display a list of all types. If the -l option is specified,
display type information in tabular form. When the -f option is
specified, along with the -l option, display additional information about
the type. If the -n option is specified for a struct or union, along with
the -l option, display information about each member.
For display of information for multi-worded types (e.g. "short int") you have to use parenthesis around the type.
Example 4-25. whatis
>> whatis mem_map
ADDR OFFSET TYPE NAME
============================================================
c02addec 0 GLOBAL_DATA mem_map
>> whatis (short unsigned int) -l
NAME TYPE TYPE_NUM REAL_TYPE SIZE
===============================================================================
short unsigned int BASE 0001000000000009 0000000000000000 2
===============================================================================
1 type found
>> whatis page
struct page {
struct page *next;
struct page *prev;
pgoff_t index;
struct inode *inode;
struct page *next_hash;
atomic_t count;
long unsigned int flags;
struct wait_queue *wait;
struct page **pprev_hash;
struct buffer_head *buffers;
};
>> whatis page.index
pgoff_t
>> whatis pgoff_t
long unsigned int
>> whatis page -l
NAME TYPE TYPE_NUM REAL_TYPE SIZE
===============================================================================
page STRUCT 0001002300000014 0000000000000000 40
===============================================================================
1 type found
>> whatis page.index -l -f
NAME TYPE TYPE_NUM REAL_TYPE SIZE
===============================================================================
long unsigned int BASE 0001000000000005 0000000000000000 4
ST_BIT_OFFSET=0, ST_BIT_SIZE=0
ELEMENT_TYPE=0x0, INDEX_TYPE=0x1000000000005, VALUE=0
FLAGS=0x2, OFFSET=0
TYPESTR="long unsigned int "
LOW_BOUNDS=0, HIGH_BOUNDS=-1, MEMBER=0x0, NEXT=0x0
===============================================================================
1 type found
>> whatis -a -l
FileVersion TYPEDEF 0001004e00000007 0001000900000017 0
PioctlData STRUCT 0001004e00000049 0000000000000000 20
Unique_t TYPEDEF 0001004e00000006 0001000900000017 0
...
loff_t TYPEDEF 000100090000000d 0001000c00000013 0
long double BASE 000100000000000e 0000000000000000 12
long int BASE 0001000000000003 0000000000000000 4
long long int BASE 0001000000000006 0000000000000000 8
long long unsigned int BASE 0001000000000007 0000000000000000 8
long unsigned int BASE 0001000000000005 0000000000000000 4
machine_type ENUM 0001004900000001 0000000000000000 0
mem_map_t TYPEDEF 0001000200000016 0001002300000014 0
...
task_struct STRUCT 0001002500000002 0000000000000000 1424
task_union UNION 0001000300000014 0000000000000000 8192
tcflag_t TYPEDEF 0001007b00000003 0001000000000004 0
termio STRUCT 0001007a00000002 0000000000000000 18
...
void BASE 0001000000000013 0001000000000013 -1
vuid_t TYPEDEF 0001004e0000000a 0001000900000020 0
wait_queue STRUCT 0001001c00000003 0000000000000000 12
wait_queue_head_t TYPEDEF 0001002500000004 0001001c00000002 0
wait_queue_t TYPEDEF 0001002500000003 0001001c00000003 0
winsize STRUCT 0001007a00000001 0000000000000000 8
===============================================================================
491 types found