i#809 preliminary step: fix indentation for pre-XP64 syscalls

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1179 5b54908e-ead4-fc18-b48a-0285e6dbc711
i#1089: add inlined types for ntoskrnl pre-XP64 syscalls.

Bumped up and renamed the limit on stored args to reflect that we are no
longer storing just memory args.

Fixed bugs on arg iteration and on size entry location: the max entry is not
at arg_count index because of double entries.

Added 9 new headers in wininc/ to include defines for all of the new
inlined types (many are information class enums).

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1180 5b54908e-ead4-fc18-b48a-0285e6dbc711
Fix gcc 4.4 array subscript build errors by adding index checks

Also fixed a header issue on even older systems by defining some ioctl
constants.

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1181 5b54908e-ead4-fc18-b48a-0285e6dbc711
i#1809: mksystable.pl script changes to generate tables in the new
one-arg-per-line style and that include entries for inlined args and not
just memory args.  Note that running this on Nebbett and Metasploit still
requires a lot of manual merging afterward.

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1182 5b54908e-ead4-fc18-b48a-0285e6dbc711
i#1089: finish adding types for every argument, memory and non-memory, for
pre-XP64 ntoskrnl syscalls.

Added several new types for common Windows syscall types.

Mark the type for memory args that have named structs.

Changed the memory arg default to be DRSYS_TYPE_STRUCT with explicit
DRSYS_TYPE_UNKNOWN as there are a lot of structs.

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1183 5b54908e-ead4-fc18-b48a-0285e6dbc711
i#1089: improve types for void and pointer parameters:

Made the following decisions:
+ A pure address (e.g., NtAllocateVirtualMemory allocation base):
  DRSYS_TYPE_POINTER
+ A user_data void* function param:
  DRSYS_TYPE_VOID

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1184 5b54908e-ead4-fc18-b48a-0285e6dbc711
i#1089: add DRSYS_PARAM_INLINED so client can distinguish pointer from
inline (since types collapse them)

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1185 5b54908e-ead4-fc18-b48a-0285e6dbc711
For the arg iterator, zero out the top bits for sub-word inlined values as
the user doesn't want to see the uninitialized high bits.

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1186 5b54908e-ead4-fc18-b48a-0285e6dbc711
i#566: drstrace

Adds an initial version of an strace tool.  It uses drsyscall with its
recently added inlined arg information (i#1089) to print out system call
args and return values.

There are a lot of features that could be added.  Once a little more is in
place we can close this issue and open new ones for optional features.  The
rest of i#1089 is also needed for full arg info for all syscalls.

Currently the frontend is pulled out of drmemory/frontend.c.  I filed
DRi#1079 for sharing as much as possible.  I added workarounds for DRi#1082
to both frontends.

I added a sanity check test for drstrace.

git-svn-id: https://drmemory.googlecode.com/svn/trunk@1187 5b54908e-ead4-fc18-b48a-0285e6dbc711