xref: /petsc/src/sys/utils/arch.c (revision 95452b02e12c0ee11232c7ff2b24b568a8e07e43)
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 
18e5c89e4eSSatish Balay 
198058be67SSatish Balay    Fortran Version:
208058be67SSatish Balay    In Fortran this routine has the format
218058be67SSatish Balay 
221ba5592fSSatish Balay $       character*(10) str
23b844dd30SSatish Balay $       call PetscGetArchType(str,ierr)
248058be67SSatish Balay 
25*95452b02SPatrick Sanan    Notes:
26*95452b02SPatrick Sanan     This name is arbitrary and need not correspond to the physical hardware or the software running on the system.
27342bf38eSBarry Smith 
288058be67SSatish Balay .seealso: PetscGetUserName(),PetscGetHostName()
29e5c89e4eSSatish Balay @*/
307087cfbeSBarry Smith PetscErrorCode  PetscGetArchType(char str[],size_t slen)
31e5c89e4eSSatish Balay {
32e5c89e4eSSatish Balay   PetscErrorCode ierr;
33e5c89e4eSSatish Balay 
34e5c89e4eSSatish Balay   PetscFunctionBegin;
3546bc77b6SBarry Smith #if defined(PETSC_ARCH)
3646bc77b6SBarry Smith   ierr = PetscStrncpy(str,PETSC_ARCH,slen-1);CHKERRQ(ierr);
37e5c89e4eSSatish Balay   str[slen-1] = 0;
38e5c89e4eSSatish Balay #else
3946bc77b6SBarry Smith #error "$PETSC_ARCH/include/petscconf.h is missing PETSC_ARCH"
40e5c89e4eSSatish Balay #endif
41e5c89e4eSSatish Balay   PetscFunctionReturn(0);
42e5c89e4eSSatish Balay }
43e5c89e4eSSatish Balay 
44