1e5c89e4eSSatish Balay 2c6db04a5SJed Brown #include <petscsys.h> /*I "petscsys.h" I*/ 3e5c89e4eSSatish Balay 4e5c89e4eSSatish Balay /*@C 5342bf38eSBarry Smith PetscGetArchType - Returns the $PETSC_ARCH that was used for this configuration of PETSc 6e5c89e4eSSatish Balay 7e5c89e4eSSatish Balay Not Collective 8e5c89e4eSSatish Balay 9e5c89e4eSSatish Balay Input Parameter: 10e5c89e4eSSatish Balay . slen - length of string buffer 11e5c89e4eSSatish Balay 12e5c89e4eSSatish Balay Output Parameter: 13e5c89e4eSSatish Balay . str - string area to contain architecture name, should be at least 14e5c89e4eSSatish Balay 10 characters long. Name is truncated if string is not long enough. 15e5c89e4eSSatish Balay 16e5c89e4eSSatish Balay Level: developer 17e5c89e4eSSatish Balay 18811af0c4SBarry Smith Note: 19811af0c4SBarry Smith This name is arbitrary and need not correspond to the physical hardware or the software running on the system. 20811af0c4SBarry Smith 21811af0c4SBarry Smith Fortran Note: 228058be67SSatish Balay In Fortran this routine has the format 238058be67SSatish Balay 241ba5592fSSatish Balay $ character*(10) str 25b844dd30SSatish Balay $ call PetscGetArchType(str,ierr) 268058be67SSatish Balay 27c2e3fba1SPatrick Sanan .seealso: `PetscGetUserName()`, `PetscGetHostName()` 28e5c89e4eSSatish Balay @*/ 29d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscGetArchType(char str[], size_t slen) 30d71ae5a4SJacob Faibussowitsch { 31e5c89e4eSSatish Balay PetscFunctionBegin; 3246bc77b6SBarry Smith #if defined(PETSC_ARCH) 339566063dSJacob Faibussowitsch PetscCall(PetscStrncpy(str, PETSC_ARCH, slen - 1)); 34e5c89e4eSSatish Balay #else 3546bc77b6SBarry Smith #error "$PETSC_ARCH/include/petscconf.h is missing PETSC_ARCH" 36e5c89e4eSSatish Balay #endif 37*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 38e5c89e4eSSatish Balay } 39