00001 #ifndef NVPERFAPI_CONFIG_H 00002 #define NVPERFAPI_CONFIG_H 00003 00004 /* 00005 * Copyright 2014-2017 NVIDIA Corporation. All rights reserved. 00006 * 00007 * NOTICE TO USER: 00008 * 00009 * This source code is subject to NVIDIA ownership rights under U.S. and 00010 * international Copyright laws. 00011 * 00012 * This software and the information contained herein is PROPRIETARY and 00013 * CONFIDENTIAL to NVIDIA and is being provided under the terms and conditions 00014 * of a form of NVIDIA software license agreement. 00015 * 00016 * NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE 00017 * CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR 00018 * IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH 00019 * REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF 00020 * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. 00021 * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, 00022 * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00023 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 00024 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE 00025 * OR PERFORMANCE OF THIS SOURCE CODE. 00026 * 00027 * U.S. Government End Users. This source code is a "commercial item" as 00028 * that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting of 00029 * "commercial computer software" and "commercial computer software 00030 * documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) 00031 * and is provided to the U.S. Government only as a commercial end item. 00032 * Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 00033 * 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the 00034 * source code with only those rights set forth herein. 00035 * 00036 * Any use of this source code in individual and commercial software must 00037 * include, in the user documentation and internal comments to the code, 00038 * the above Disclaimer and U.S. Government End Users Notice. 00039 */ 00040 00041 #include "nvperfapi_common_types.h" 00042 00043 00044 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB) 00045 #pragma GCC visibility push(default) 00046 #endif 00047 00048 #ifdef __cplusplus 00049 extern "C" { 00050 #endif 00051 00052 00057 struct NVPA_Activity; 00058 00059 00060 /***************************************************************************/ 00070 struct NVPA_Config; 00071 00082 NVPA_Status NVPA_Config_Create( 00083 NVPA_Activity* pActivity, 00084 NVPA_Config** ppConfig 00085 ); 00086 00089 NVPA_Status NVPA_Config_Acquire( 00090 const NVPA_Config* pConfig 00091 ); 00092 00097 NVPA_Status NVPA_Config_Release( 00098 const NVPA_Config* pConfig 00099 ); 00100 00103 NVPA_Status NVPA_Config_GetNumEnabledMetrics( 00104 const NVPA_Config* pConfig, 00105 size_t* pNumEnabledMetrics 00106 ); 00107 00117 NVPA_Status NVPA_Config_GetEnabledMetricsSerialized( 00118 const NVPA_Config* pConfig, 00119 size_t numSerialized, 00120 NVPA_Bool* pSerialized, 00121 size_t* pNumSerialized 00122 ); 00123 00131 NVPA_Status NVPA_Config_GetEnabledMetricIds( 00132 const NVPA_Config* pConfig, 00133 size_t numMetricIds, 00134 NVPA_MetricId* pMetricIds, 00135 size_t* pNumMetricIds 00136 ); 00137 00143 #ifdef __cplusplus 00144 } /* extern "C" */ 00145 #endif 00146 00147 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB) 00148 #pragma GCC visibility pop 00149 #endif 00150 00151 00152 #endif /* NVPERFAPI_CONFIG_H */