I want to understand why FAR is used in the below typedef syntax?
#define FAR
//some other instructions
//.....
//.....
typedef struct tagDEVICE_BUFFER_W
{
....
....
}DEVICE_BUFFER_W;
typedef DEVICE_BUFFER_W FAR * LPDEVICE_BUFFER_W; //Why FAR is used here?
What if I dont use FAR as mentioned below? Will it make any difference?
typedef DEVICE_BUFFER_W * LPDEVICE_BUFFER_W;
It’s legacy from the olden days. 16-bit Windows code had near and far pointers. I think it was to distinguish between inter-segment and intra-segment addressing, but the memory has faded (a lot).