static bool Is32BitSeg( unsigned seg ) { if( IsFlatSeg( seg ) ) return( TRUE ); if( IsUnknownGDTSeg( seg ) ) return( TRUE ); return( FALSE ); }
/* * MakeItFlatNumberOne - make a (sel,offset) into a flat pointer */ ULONG MakeItFlatNumberOne( USHORT seg, ULONG offset ) { dos_debug buff; if( IsFlatSeg( seg ) ) return( offset ); buff.Pid = Buff.Pid; buff.Cmd = DBG_C_SelToLin; buff.Value = seg; buff.Index = offset; CallDosDebug( &buff ); return( buff.Addr ); } /* MakeItFlatNumberOne */
/* * MakeItSegmentedNumberOne - make a (sel,offset) into a 16:16 pointer */ void __far * MakeItSegmentedNumberOne( USHORT seg, ULONG offset ) { if( !IsFlatSeg( seg ) ) return( MK_FP( seg, (USHORT) offset ) ); return( MakeSegmentedPointer( offset ) ); } /* MakeItSegmentedNumberOne */