home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / s / s001 / 1.ddi / TS / SRC / TSMODEL.C < prev    next >
Encoding:
C/C++ Source or Header  |  1987-11-11  |  1.4 KB  |  79 lines

  1.                  /******************************************
  2.            *           MKPTR.C             *
  3.                * Copyright TimeSlice, Inc. 1985, 86, 87. *
  4.                ******************************************/
  5.  
  6. #include <ts.h>
  7.  
  8. /***
  9. * D_SEG( DPTR )
  10. * D_OFF( DPTR )
  11. * Return, independently of memory model or compiler, the SEGment or OFFset
  12. * of a Data pointer.
  13. ***/
  14. #if defined(ML) || defined(MD)
  15. unsigned d_seg( off, seg )
  16. unsigned int off, seg ;
  17. {
  18.   return seg ;
  19. }
  20.  
  21. #else
  22. unsigned d_seg( off )
  23. unsigned int off;
  24. {
  25.   return _datseg ;
  26. }
  27. #endif
  28.  
  29. unsigned d_off( off, seg )
  30. unsigned int off, seg ;
  31. {
  32.   return off ;
  33. }
  34.  
  35.  
  36. /***
  37. * F_SEG( FPTR )
  38. * F_OFF( FPTR )
  39. * Return, independently of memory model or compiler, the SEGment or OFFset
  40. * of a Function pointer.
  41. ***/
  42. #if defined(ML) || ( defined(MICROSOFT) && defined(MP) ) || ( defined(TURBOC) && defined(MP) )
  43. unsigned f_seg( off, seg )
  44. unsigned int off, seg ;
  45. {
  46.   return seg;
  47. }
  48. unsigned f_off( off, seg )
  49. unsigned int off, seg ;
  50. {
  51.   return off;
  52. }
  53. #endif
  54. #if ( defined(LATTICE) & defined(MP) )
  55. unsigned f_seg( func )
  56. unsigned int *func;
  57. {
  58.   return func[1];
  59. }
  60. unsigned f_off( func )
  61. unsigned int *func;
  62. {
  63.   return func[0];
  64. }
  65. #endif
  66. #if defined(MD) || defined(MS)
  67. unsigned f_seg( func )
  68. unsigned int func;
  69. {
  70.   return _codseg;
  71. }
  72. unsigned f_off( func )
  73. unsigned int func;
  74. {
  75.   return func;
  76. }
  77. #endif
  78.  
  79.