xref: /petsc/src/sys/utils/arch.c (revision b844dd30003ea04f27f548e51efeadc95a315b9a)
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