1e5c89e4eSSatish Balay 2c6db04a5SJed Brown #include <petscsys.h> /*I "petscsys.h" I*/ 3e5c89e4eSSatish Balay 4e5c89e4eSSatish Balay #undef __FUNCT__ 5e5c89e4eSSatish Balay #define __FUNCT__ "PetscGetArchType" 6e5c89e4eSSatish Balay /*@C 7e5c89e4eSSatish Balay PetscGetArchType - Returns a standardized architecture type for the machine 8e5c89e4eSSatish Balay that is executing this routine. 9e5c89e4eSSatish Balay 10e5c89e4eSSatish Balay Not Collective 11e5c89e4eSSatish Balay 12e5c89e4eSSatish Balay Input Parameter: 13e5c89e4eSSatish Balay . slen - length of string buffer 14e5c89e4eSSatish Balay 15e5c89e4eSSatish Balay Output Parameter: 16e5c89e4eSSatish Balay . str - string area to contain architecture name, should be at least 17e5c89e4eSSatish Balay 10 characters long. Name is truncated if string is not long enough. 18e5c89e4eSSatish Balay 19e5c89e4eSSatish Balay Level: developer 20e5c89e4eSSatish Balay 21e5c89e4eSSatish Balay Concepts: machine type 22e5c89e4eSSatish Balay Concepts: architecture 23e5c89e4eSSatish Balay 248058be67SSatish Balay Fortran Version: 258058be67SSatish Balay In Fortran this routine has the format 268058be67SSatish Balay 27*b844dd30SSatish Balay $ character*(10) name 28*b844dd30SSatish Balay $ call PetscGetArchType(str,ierr) 298058be67SSatish Balay 308058be67SSatish Balay .seealso: PetscGetUserName(),PetscGetHostName() 31e5c89e4eSSatish Balay @*/ 327087cfbeSBarry Smith PetscErrorCode PetscGetArchType(char str[],size_t slen) 33e5c89e4eSSatish Balay { 34e5c89e4eSSatish Balay PetscErrorCode ierr; 35e5c89e4eSSatish Balay 36e5c89e4eSSatish Balay PetscFunctionBegin; 3746bc77b6SBarry Smith #if defined(PETSC_ARCH) 3846bc77b6SBarry Smith ierr = PetscStrncpy(str,PETSC_ARCH,slen-1);CHKERRQ(ierr); 39e5c89e4eSSatish Balay str[slen-1] = 0; 40e5c89e4eSSatish Balay #else 4146bc77b6SBarry Smith #error "$PETSC_ARCH/include/petscconf.h is missing PETSC_ARCH" 42e5c89e4eSSatish Balay #endif 43e5c89e4eSSatish Balay PetscFunctionReturn(0); 44e5c89e4eSSatish Balay } 45e5c89e4eSSatish Balay 46