Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!mailrus!iuvax!bobmon From: bobmon@iuvax.cs.indiana.edu (RAMontante) Newsgroups: comp.sys.ibm.pc Subject: Far Pointers (was Re: Where is the paralell port???) Message-ID: <15787@iuvax.cs.indiana.edu> Date: 14 Dec 88 00:47:44 GMT Reply-To: bobmon@iuvax.UUCP (RAMontante) Organization: malkaryotic Lines: 16 Turbo C manipulates far pointers with the following 3 "functions" (actually macros): void far *MK_FP(unsigned segment, unsigned offset); /* makes far pointers */ unsigned FP_OFF(void far *far_pointer); /* returns offset */ unsigned FP_SEG(void far *far_pointer); /* returns segment */ Just for laughs, here's the actual definition of the MK_FP macro, from : #define MK_FP(seg,ofs) ((void far *) \ (((unsigned long)(seg) << 16) | (unsigned)(ofs))) So Holzmann's "long-integer" representation of a far pointer would be acceptable to Turbo C. Aren't you glad you asked ? :-)