module psb_objhandle_mod use iso_c_binding use psb_cbind_const_mod type, bind(c) :: psb_c_object_type type(c_ptr) :: item = c_null_ptr end type psb_c_object_type type, bind(c) :: psb_c_descriptor type(c_ptr) :: item = c_null_ptr end type psb_c_descriptor type, bind(c) :: psb_c_svector type(c_ptr) :: item = c_null_ptr end type psb_c_svector type, bind(c) :: psb_c_sspmat type(c_ptr) :: item = c_null_ptr end type psb_c_sspmat type, bind(c) :: psb_c_dvector type(c_ptr) :: item = c_null_ptr end type psb_c_dvector type, bind(c) :: psb_c_dspmat type(c_ptr) :: item = c_null_ptr end type psb_c_dspmat type, bind(c) :: psb_c_cvector type(c_ptr) :: item = c_null_ptr end type psb_c_cvector type, bind(c) :: psb_c_cspmat type(c_ptr) :: item = c_null_ptr end type psb_c_cspmat type, bind(c) :: psb_c_zvector type(c_ptr) :: item = c_null_ptr end type psb_c_zvector type, bind(c) :: psb_c_zspmat type(c_ptr) :: item = c_null_ptr end type psb_c_zspmat interface subroutine psb_c_print_pointer(p) bind(c,name='psb_c_print_pointer') use iso_c_binding type(c_ptr), value :: p end subroutine psb_c_print_pointer end interface contains function psb_c_get_new_object() result(res) type(psb_c_object_type) :: res res%item = c_null_ptr end function psb_c_get_new_object end module psb_objhandle_mod