Metropoli BBS
VIEWER: tcxlfar.h MODE: TEXT (ASCII)
/*=====[ The TesSeRact(TM) CXL User Interface Development System ]======*
 | Copyright (c) 1987-1990, Innovative Data Concepts. All Rights Reserved
 |
 | This Library is part of IDC's TesSeRact Development Tools product
 | line. For information about other IDC products, call 1-215-884-3373.
 *----------------------------------------------------------------------*
 | <TCXLfar.h> : Definitions and prototypes for handling explicit, typed
 | far-pointers as used internally in TCXL 5.5.
 *-------------------------------[ NOTES ]------------------------------*
 | 1) The _XxxFar() aliases take full far pointers and the _FarXxx()
 |    functions take separate segments and offsets.
 | 2) The MK_FP() and MK_FPT() macros will override system definitions
 |    and provide compiler-independence.
 | 3) MK_FPT() is *very* useful in C++, where void pointers are not
 |    usually allowed without bizarre casts.
 *----------------------------------------------------------------------*
 | PGS : $Id: tcxlfar.h 5.51 90/10/01 00:00:00 MLM Release Locker: MLM $
 | $Log:	tcxlfar.h $
 | Revision 5.51  90/10/01  00:00:00  MLM
 | TCXL 5.51
 | 
 *======================================================================*/
#ifndef  _TCXLfar_
#  define   _TCXLfar_ 1       /* only once! */
#  ifndef   _TCXLdef_
#     include  <TCXLdef.h>    /* standards */
#  endif

#ifdef   MK_FP             /* use local definitions */
#  undef    MK_FP
#endif                     /* anonymous far-pointer */
#define  MK_FP(s,o)     ((AnyFP) (((DwdT)(s) << 16) | (WrdT)(o)))
#ifdef   MK_FPT
#  undef    MK_FPT
#endif                     /* typed far-pointer */
#define  MK_FPT(t,s,o)  ((t FAR *) (((DwdT)(s) << 16) | (WrdT)(o)))

/*------------------------[ Function prototypes ]----------------------*/

#ifdef   __cplusplus          /* no mangling, please */
   extern   "C"   {
#endif
VOID  PAS   _FarCpy(WrdT st, WrdT ot, WrdT sf, WrdT of, WrdT n);
VOID  PAS   _CpyFar(BytFP t, BytFP f, WrdT n);              /* alias */
VOID  PAS   _FarGet(BytP p, WrdT s, WrdT o, WrdT n);
VOID  PAS   _GetFar(BytP t, BytFP f, WrdT n);               /* alias */
VOID  PAS   _FarPut(WrdT s, WrdT o, BytP p, WrdT n);
VOID  PAS   _PutFar(BytFP t, BytP f, WrdT n);               /* alias */
#ifdef   __cplusplus
   }
#endif
#endif   /* _TCXLfar_ -- End of TCXLfar.h */

[ RETURN TO DIRECTORY ]