2: #include <petscsys.h>
4: /*@C
5: PetscGetArchType - Returns the $PETSC_ARCH that was used for this configuration of PETSc
7: Not Collective
9: Input Parameter:
10: . slen - length of string buffer
12: Output Parameter:
13: . str - string area to contain architecture name, should be at least
14: 10 characters long. Name is truncated if string is not long enough.
16: Level: developer
18: Note:
19: This name is arbitrary and need not correspond to the physical hardware or the software running on the system.
21: Fortran Note:
22: This routine has the format
23: .vb
24: character*(10) str
25: call PetscGetArchType(str,ierr)
26: .ve
28: .seealso: `PetscGetUserName()`, `PetscGetHostName()`
29: @*/
30: PetscErrorCode PetscGetArchType(char str[], size_t slen)
31: {
32: PetscFunctionBegin;
33: #if defined(PETSC_ARCH)
34: PetscCall(PetscStrncpy(str, PETSC_ARCH, slen - 1));
35: #else
36: #error "$PETSC_ARCH/include/petscconf.h is missing PETSC_ARCH"
37: #endif
38: PetscFunctionReturn(PETSC_SUCCESS);
39: }