Dosyalar
rocm-systems/projects/rocm-core/rocm_getpath.h.in
T
arvindcheru 285061f05b Enhance ROCM-Core for Windows (#1467)
* Enhance Code for support for Windows cpp build
* Updated ROCM-Core README build steps
* File copyright Headers Updated
2025-10-21 23:04:23 -04:00

57 satır
1.7 KiB
C

//Copyright © Advanced Micro Devices, Inc., or its affiliates.
//SPDX-License-Identifier: MIT
#ifndef _ROCM_GETPATH_H_
#define _ROCM_GETPATH_H_
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#if defined(_WIN32) || defined(_WIN64) || defined(__CYGWIN__)
#define LIB_API_PUBLIC __declspec(dllexport)
#define ATTRIBUTE_NON_NULL
#else
#define LIB_API_PUBLIC __attribute__((visibility("default")))
#define ATTRIBUTE_NON_NULL __attribute__((nonnull))
#endif
/* Get Library Target Build Type */
#cmakedefine01 BUILD_SHARED_LIBS
/* Return Status Flag Definitions*/
typedef enum {
PathSuccess=0,
PathWindowsNotSet = -993,
PathIncorrecPararmeters = -994,
PathValuesNotDefined = -995,
PathValuesTooLong = -996,
PathFailedToGetBase = -997,
PathLinuxRuntimeErrors = -998,
PathErrorMAX = -999 //This should always be last value in the enumerations
} PathErrors_t;
// API for getting the ROCmInstallPath
// Return val : PathErrors_t (API execution status)
// Argument1 (out) : InstallPath (char** pointer which will return InstallPath found )
// Argument2 (out) : InstallPathLen (Pointer to integer (size of InstallPath) returned)
// Usage :
// char *installPath=NULL;
// int installPathLen = 0;
// installStatus = getROCmInstallPath( &installPath, &installPathLen );
// if(installStatus !=PathSuccess ){ // error occured
// ...
// }
// free(installPath); //caller must free allocated memory after usage.
// ...
// }
LIB_API_PUBLIC PathErrors_t getROCmInstallPath(char **InstallPath, unsigned int *InstallPathLen) ATTRIBUTE_NON_NULL;
#ifdef __cplusplus
} // end extern "C" block
#endif
#endif //_ROCM_GETPATH_H_ header guard