Given a disassembly line in IDA Pro such as
.text:0040255B call sub_407C10
Am I right to assume that analyzing the belonging address using
idautils.XrefsFrom(0x0040255B)
always returns an xref of type 'Code_Far_Call' (xref.type 16) or 'Code_Near_Call' (xref.type 17) and not an xref of type "Code_Near_Jump" or "Code_Far_Jump"?
In other words, can function call destination addresses always be identified by checking if the xref.type is of type 16 or 17 and then taking the value in xref.to?
Of course in addition to the Call/Jump xref, the above statement always returns an xref of type 21 (the ordinary control flow).
A list of possible xref types can be found here: https://code.google.com/p/idapython/source/browse/trunk/python/idautils.py
What is the difference between a Code_Far_Call xref and a Code_Near_Call xref anyway?
Thanks for your help!