xref: /petsc/src/vec/vec/interface/vecregall.c (revision e30d229923a696673d75fd4bbec7dc9405e48f2f)
1 #define PETSCVEC_DLL
2 
3 #include "private/vecimpl.h"     /*I  "vec.h"  I*/
4 EXTERN_C_BEGIN
5 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Seq(Vec);
6 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_MPI(Vec);
7 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Shared(Vec);
8 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_FETI(Vec);
9 EXTERN_C_END
10 
11 #undef __FUNCT__
12 #define __FUNCT__ "VecRegisterAll"
13 /*@C
14   VecRegisterAll - Registers all of the vector components in the Vec package.
15 
16   Not Collective
17 
18   Input parameter:
19 . path - The dynamic library path
20 
21   Level: advanced
22 
23 .keywords: Vec, register, all
24 .seealso:  VecRegister(), VecRegisterDestroy(), VecRegisterDynamic()
25 @*/
26 PetscErrorCode PETSCVEC_DLLEXPORT VecRegisterAll(const char path[])
27 {
28   PetscErrorCode ierr;
29 
30   PetscFunctionBegin;
31   VecRegisterAllCalled = PETSC_TRUE;
32 
33   ierr = VecRegisterDynamic(VECSEQ,      path, "VecCreate_Seq",      VecCreate_Seq);CHKERRQ(ierr);
34   ierr = VecRegisterDynamic(VECMPI,      path, "VecCreate_MPI",      VecCreate_MPI);CHKERRQ(ierr);
35   ierr = VecRegisterDynamic(VECSHARED,   path, "VecCreate_Shared",   VecCreate_Shared);CHKERRQ(ierr);
36   ierr = VecRegisterDynamic(VECFETI,     path, "VecCreate_FETI",     VecCreate_FETI);CHKERRQ(ierr);
37   PetscFunctionReturn(0);
38 }
39 
40