near and far are platform specific and on some systems just will not compile. On 16 bit Windows a near pointer was 16 bits and could only point into the programs data segment, a far pointer was 32 bit and could point at any piece of allocated memory.