1 /****************************************************************************
3 * SciTech Nucleus Graphics Architecture
5 * Copyright (C) 1991-1998 SciTech Software, Inc.
8 * ======================================================================
9 * |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
11 * |This copyrighted computer code contains proprietary technology |
12 * |owned by SciTech Software, Inc., located at 505 Wall Street, |
13 * |Chico, CA 95928 USA (http://www.scitechsoft.com). |
15 * |The contents of this file are subject to the SciTech Nucleus |
16 * |License; you may *not* use this file or related software except in |
17 * |compliance with the License. You may obtain a copy of the License |
18 * |at http://www.scitechsoft.com/nucleus-license.txt |
20 * |Software distributed under the License is distributed on an |
21 * |"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
22 * |implied. See the License for the specific language governing |
23 * |rights and limitations under the License. |
25 * |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
26 * ======================================================================
29 * Environment: Win32 VxD
31 * Description: OS specific Nucleus Graphics Architecture services for
34 ****************************************************************************/
36 #include "sdd/sddhelp.h"
38 /*------------------------- Global Variables ------------------------------*/
40 static ibool haveRDTSC;
42 /*-------------------------- Implementation -------------------------------*/
44 /****************************************************************************
46 Return the internal shared info structure.
47 ****************************************************************************/
48 GA_sharedInfo * NAPI GA_getSharedInfo(
51 static GA_sharedInfo shared = {0,-1};
55 /****************************************************************************
57 Nothing special for this OS.
58 ****************************************************************************/
59 ibool NAPI GA_getSharedExports(
66 /****************************************************************************
68 This function initialises the high precision timing functions for the
69 Nucleus loader library.
70 ****************************************************************************/
71 ibool NAPI GA_TimerInit(void)
73 if (_GA_haveCPUID() && (_GA_getCPUIDFeatures() & CPU_HaveRDTSC) != 0) {
79 /****************************************************************************
81 This function reads the high resolution timer.
82 ****************************************************************************/
83 void NAPI GA_TimerRead(
84 GA_largeInteger *value)
87 _GA_readTimeStamp(value);
89 VTD_Get_Real_Time(&value->high,&value->low);