Actual source code: arch.c

  1: #include <petscsys.h>

  3: /*@C
  4:   PetscGetArchType - Returns the $PETSC_ARCH that was used for this configuration of PETSc

  6:   Not Collective

  8:   Input Parameter:
  9: . slen - length of string buffer

 11:   Output Parameter:
 12: . str - string area to contain architecture name, should be at least
 13:            10 characters long. Name is truncated if string is not long enough.

 15:   Level: developer

 17:   Note:
 18:   This name is arbitrary and need not correspond to the physical hardware or the software running on the system.

 20:   Fortran Notes:
 21:   This routine has the format
 22: .vb
 23:        character*(10) str
 24:        call PetscGetArchType(str,ierr)
 25: .ve

 27: .seealso: `PetscGetUserName()`, `PetscGetHostName()`
 28: @*/
 29: PetscErrorCode PetscGetArchType(char str[], size_t slen)
 30: {
 31:   PetscFunctionBegin;
 32: #if defined(PETSC_ARCH)
 33:   PetscCall(PetscStrncpy(str, PETSC_ARCH, slen - 1));
 34: #else
 35:   #error "$PETSC_ARCH/include/petscconf.h is missing PETSC_ARCH"
 36: #endif
 37:   PetscFunctionReturn(PETSC_SUCCESS);
 38: }