erts: Don't redefine '_XOPEN_SOURCE'
erts: Fix tentative-definition-incomplete-type
ic: Suppress unused-value warning
fix escript archive symlinked across drives

real_path method used while prim loading archive files was not taking into account
the fact that windows directory symlinks can be across different drives
(eg. c:\tmp\test is a symlink to j:\tmp\test). when performing a path split the drive
precedes the symlink, but that has be rewritten also since it's different. This issue
never arises in Unix since obviously there are no drives
odbc: Suppress signedness warnings for 'char *'

Three different pointer types are used for strings.

SQLCHAR pointer - used against ODBC driver
char pointer - used against erl_interface
byte pointer - used internally

SQLCHAR is 'unsigned char' while erl_interface is 'signed char'

byte pointer should probably not be used at all.
Use compile options when dialyzing beam files

Fetch the compile options from beam files, and use them when creating
core from the abstract code. Previously the options were ignored.

Test by Henrik Nordh
Tweak comments
Add diameter_dbg:sizes/0

To return sizes of named ets tables.
Add (process) info tuple to diameter:service_info/2

To show process_info of interest. This is not yet documented since it
may well change.
Add info item for diameter:service_info/2

To extract only process info from connections info, which can be useful
to reduce the amount of information returned.

Choose 'info' for the item since process_info is more than one word: all
others are one. Don't choose memory since it's too specific: might want
to use it for more.
Fix some spelling misstakes
Fix counting of outgoing requests

Commit df19c272 broke this in avoiding counting on arbitrary keys.
It didn't break it sufficiently for the only counters usage in the test
suites to fail however: watchdog counters worked as intended, but no
others, not even CER and DPR. More testcases are needed.

This commit does change/fix the previous semantics somewhat:

- Retransmissions are no longer counted. This previously made it
  impossible to distinguish between these and unanswered requests, since
  both counted as an outgoing request. There should probably be a
  retransmission counter but it should be distinct from the sent request
  counter.

- The counting is always on the node from which diameter:call/4 is
  invoked, not the node on which the transport resides, as was previously
  the case. (Although they're typically one and the same.)

Note that none of these semantics are documented as yet, so we're not
changing a documented interface.
Count request retransmissions

As mentioned in the parent commit. The {Id, send, retransmission}
key is of the same form as the {Id, send|recv, error} key used for
encode/decode errors.
Count relayed messages on {relay, Rbit}

Instead of grouping them with 'unknown'. These messages were keyed on
{ApplicationId, CommandCode, Rbit} prior to commit df19c272, but
distinguishing between the relay application and others is probably more
useful.

The only reason for not including the R-bit in the unknown key is that
the key is also used elsewhere, and relay is an expected case while
unknown isn't.
Map binary process info to a reference/byte count

That is, instead of including the list in a diameter:service_info/2 info
tuple, only include the number of references and the number of bytes
referenced. The list itself can be quite large and typically isn't that
interesting, at least not to a diameter user.
BER: Test decoding of indefinite lengths

The BER encoder always encodes length as definite lengths. Therefore
indefinite lengths are not well-tested. Add code to the roundtrip
functions in asn1_test_list to automatically rewrite definite
lengths to indefinite length and call the decoder again.
BER decoding: Improve error checking for indefinite length

When an indefinite length was given, the decoder could look beyond
the end of the buffer for the 0,0 that signals the end of the value.
fix indentation, add comment describing windows symlink creation assumption
Rewrite manager net_if for IPv4+IPv6
Write manager IPv4+IPv6 test