If the data on the link corresponds to a real number, MLGetInteger16() will round it to an integer.
If the data on the link corresponds to an integer too large to store in a C short on your computer system, then MLGetInteger16() will fail, and return 0.
You can get arbitrary-precision integers by first using IntegerDigits to generate lists of digits, then calling MLGetInteger16List().
MLGetInteger16() returns a nonzero value if the function succeeds.
Use MLError() to retrieve the error code if MLGetInteger16() fails.
MLGetInteger16() is declared in the MathLink header file mathlink.h.