The interface of the library, basically all the operation performed by an external code should be done through the routines of this module. The interface is conceived to work naturally with C and Fortran; the C interface is also used to build the interface for Python. In a fortran code, this module can be imported and it should expose directly all the vector and scalar quantities needed. In a C code, routines are provided to get the pointer or the values of vector and scalar quantites respectively.
Internal utilities for Fortran -> C interface
Initalize OMMP System Object from .mmp file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=c_char), | intent(in) | :: | filename(OMMP_STR_CHAR_MAX) |
Initialize the library using a Tinker xyz and a Tinker prm
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=c_char), | intent(in) | :: | xyzfile(OMMP_STR_CHAR_MAX) | |||
character(kind=c_char), | intent(in) | :: | prmfile(OMMP_STR_CHAR_MAX) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the c-pointer to the array containing the coordinates of MM atoms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the c-pointer to the array containing the coordinates of MM atoms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the c-pointer to the array containing the coordinates of MM atoms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the c-pointer to the array containing the coordinates of polarizable atoms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the c-pointer to the array containing the static source of the electrostatic field.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the c-pointer to the array containing the induced dipoles on polarizable sites.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the c-pointer to the array containing the map from polarizable to MM atoms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the number of MM atoms in the system.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the number of polarizable atoms in the system.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return the number of dipole's set for the current Force-Field.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Return true if the current forcefield is AMOEBA, and false in all other cases.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_ptr |
C pointer to system object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
type(c_ptr), | intent(in), | value | :: | cqm | ||
type(c_ptr), | intent(in), | value | :: | qqm | ||
type(c_ptr), | intent(in), | value | :: | zqm |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_prt | |||
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_prt | |||
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | value | :: | imm | |||
integer(kind=ommp_integer), | value | :: | iqm | |||
integer(kind=ommp_integer), | value | :: | ila | |||
character(kind=c_char), | intent(in) | :: | prmfile(OMMP_STR_CHAR_MAX) | |||
real(kind=ommp_real), | value | :: | ladist | |||
integer(kind=ommp_integer), | value | :: | neel_remove |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | cqmh | ||
character(kind=c_char), | intent(in) | :: | cprm_file(OMMP_STR_CHAR_MAX) |
Return true if the current forcefield is AMOEBA, and false in all other cases.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Convert a string coming from C into a Fortran string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=c_char), | intent(in) | :: | c_str(:) |
Input string to be converted |
||
character(len=*), | intent(out) | :: | f_str |
Set the verbosity level of the library to verb
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=ommp_integer), | intent(in), | value | :: | verb |
Requested verbosityi of library |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | solver |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | matv |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=c_char), | intent(in) | :: | c_msg(OMMP_STR_CHAR_MAX) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=c_char), | intent(in) | :: | c_msg(OMMP_STR_CHAR_MAX) | |||
integer(kind=ommp_integer), | value | :: | level | |||
character(kind=c_char), | intent(in) | :: | c_pre(OMMP_STR_CHAR_MAX) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=c_char), | intent(in) | :: | c_msg(OMMP_STR_CHAR_MAX) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=c_char), | intent(in) | :: | fname(OMMP_STR_CHAR_MAX) |
Print a summary of the system input on standard output.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Print a summary of the system input on file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
character(kind=c_char), | intent(in) | :: | filename(OMMP_STR_CHAR_MAX) |
File where the summary will be printed |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
character(kind=c_char), | intent(in) | :: | filename(OMMP_STR_CHAR_MAX) | |||
integer(kind=ommp_integer), | value | :: | version |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | new_c_p |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | value | :: | n | |||
type(c_ptr), | value | :: | frozen |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | value | :: | n | |||
type(c_ptr), | value | :: | nopol |
Terminate a OMMP System Object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | ext_field_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | solver | ||
integer(kind=ommp_integer), | intent(in), | value | :: | matv |
use mod_mmpol, only: pol_atoms
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | ext_field_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | solver | ||
integer(kind=ommp_integer), | intent(in), | value | :: | matv |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
type(c_ptr), | value | :: | cext | |||
type(c_ptr), | value | :: | v |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
type(c_ptr), | value | :: | cext | |||
type(c_ptr), | value | :: | v |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
type(c_ptr), | value | :: | cext | |||
type(c_ptr), | value | :: | v |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | pE | |||
type(c_ptr), | value | :: | pE_grd | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | grd_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
type(c_ptr), | value | :: | cext | |||
type(c_ptr), | value | :: | E |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
type(c_ptr), | value | :: | cext | |||
type(c_ptr), | value | :: | E |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | n | ||
type(c_ptr), | value | :: | cext | |||
type(c_ptr), | value | :: | E |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
integer(kind=ommp_integer), | value | :: | n | |||
type(c_ptr), | value | :: | frozen |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_ptr |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_ptr | |||
type(c_ptr), | intent(in), | value | :: | cqm |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | pqm | ||
type(c_ptr), | intent(in), | value | :: | pattype |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | pqm | ||
character(kind=c_char), | intent(in) | :: | cprmfile(OMMP_STR_CHAR_MAX) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | pqm | ||
type(c_ptr), | intent(in), | value | :: | peps | ||
type(c_ptr), | intent(in), | value | :: | prad | ||
type(c_ptr), | intent(in), | value | :: | pfac | ||
character(kind=c_char), | intent(in) | :: | cvdw_type(OMMP_STR_CHAR_MAX) | |||
character(kind=c_char), | intent(in) | :: | cradius_rule(OMMP_STR_CHAR_MAX) | |||
character(kind=c_char), | intent(in) | :: | cradius_size(OMMP_STR_CHAR_MAX) | |||
character(kind=c_char), | intent(in) | :: | cradius_type(OMMP_STR_CHAR_MAX) | |||
character(kind=c_char), | intent(in) | :: | ceps_rule(OMMP_STR_CHAR_MAX) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_prt | |||
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | qmg_prt | |||
type(c_ptr), | value | :: | mmg_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_prt | |||
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | qmg_prt | |||
type(c_ptr), | value | :: | mmg_prt | |||
type(c_ptr), | value | :: | old_qmg_ptr |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_ptr |
C pointer to system object |
||
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_ptr |
C pointer to system object |
||
type(c_ptr), | value | :: | qm_ptr |
C pointer to qm_helper object |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_p | |||
integer(kind=ommp_integer), | value | :: | la_idx | |||
type(c_ptr), | value | :: | crd_p |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | qm_prt | |||
type(c_ptr), | value | :: | s_prt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | sp | ||
real(kind=ommp_real), | intent(in), | value | :: | cutoff |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | sp | ||
integer(kind=ommp_integer), | intent(in), | value | :: | l |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | sp | ||
integer(kind=ommp_integer), | intent(in), | value | :: | l |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | sp | ||
real(kind=ommp_real), | intent(in), | value | :: | d |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | sp | ||
real(kind=ommp_real), | intent(in), | value | :: | d |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | sp |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | intent(in), | value | :: | sp |