Arquivos

Ignorando revisões presentes em .git-blame-ignore-revs. Clique aqui para ignorar e ver o blame normalmente.

57 linhas
1.7 KiB
C

2025-10-21 23:04:23 -04:00
//Copyright © Advanced Micro Devices, Inc., or its affiliates.
//SPDX-License-Identifier: MIT
2024-01-22 09:25:02 -08:00
#ifndef _ROCM_GETPATH_H_
#define _ROCM_GETPATH_H_
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
2025-10-21 23:04:23 -04:00
#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
2024-01-22 09:25:02 -08:00
/* Get Library Target Build Type */
#cmakedefine01 BUILD_SHARED_LIBS
2024-01-22 09:25:02 -08:00
/* Return Status Flag Definitions*/
typedef enum {
PathSuccess=0,
2025-10-21 23:04:23 -04:00
PathWindowsNotSet = -993,
2024-01-22 09:25:02 -08:00
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.
// ...
// }
2025-10-21 23:04:23 -04:00
LIB_API_PUBLIC PathErrors_t getROCmInstallPath(char **InstallPath, unsigned int *InstallPathLen) ATTRIBUTE_NON_NULL;
2024-01-22 09:25:02 -08:00
#ifdef __cplusplus
} // end extern "C" block
#endif
#endif //_ROCM_GETPATH_H_ header guard