home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 21 / IOPROG_21.ISO / SOFT / OSLIB101.ZIP / SOURCE / ISOS2.C < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-14  |  1.1 KB  |  56 lines

  1. #pragma optimize("lge", off)
  2.  
  3. #include <extend.api>
  4.  
  5. /*  $DOC$
  6.  *  $FUNCNAME$
  7.  *      OL_IsOS2()
  8.  *  $CATEGORY$
  9.  *      Functions
  10.  *  $ONELINER$
  11.  *      Are we running under OS/2?
  12.  *  $SYNTAX$
  13.  *      OL_IsOS2() --> lOS2
  14.  *  $ARGUMENTS$
  15.  *      None.
  16.  *  $RETURNS$
  17.  *      .T. if we are running under OS/2, .F. if not.
  18.  *  $DESCRIPTION$
  19.  *      IsOS2() can be used to test if we are running under OS/2.
  20.  *  $EXAMPLES$
  21.  *      // Sample function for returning the ID of the OS.
  22.  *
  23.  *      Function OSId()
  24.  *      Local nMajor := OL_OsMaj()
  25.  *      Local nMinor := OL_OsMin()
  26.  *      Local cMake  := "Dos "
  27.  *
  28.  *         If IsOS2()
  29.  *            nMajor /= 10
  30.  *            cMake  := "OS/2 Dos "
  31.  *         EndIf
  32.  *
  33.  *      Return( cMake + alltrim( str( nMajor ) ) + "." +;
  34.  *                      alltrim( str( nMinor ) ) )
  35.  *
  36.  *  $SEEALSO$
  37.  *  
  38.  *  $END$
  39.  */
  40.  
  41. CLIPPER OL_IsOS2()
  42. {
  43.     int iIsOS2 = 0;
  44.  
  45.     _asm {
  46.         Mov     AX, 0x4010;
  47.         Int     0x2F;
  48.         Cmp     AX, 0x4010;
  49.         JZ      End;
  50.         Mov     iIsOS2, 1;
  51.     End:
  52.     }
  53.  
  54.     _retl( iIsOS2 );
  55. }
  56.