35 use,
intrinsic :: iso_c_binding
40 kim_log_handle_type, &
48 kim_log_push_verbosity, &
52 type, bind(c) :: kim_log_handle_type
53 type(c_ptr) :: p = c_null_ptr
54 end type kim_log_handle_type
56 type(kim_log_handle_type),
protected &
59 interface operator (.eq.)
60 logical function kim_log_handle_equal(left, right)
61 use,
intrinsic :: iso_c_binding
62 import kim_log_handle_type
64 type(kim_log_handle_type),
intent(in) :: left
65 type(kim_log_handle_type),
intent(in) :: right
66 end function kim_log_handle_equal
67 end interface operator (.eq.)
69 interface operator (.ne.)
70 logical function kim_log_handle_not_equal(left, right)
71 use,
intrinsic :: iso_c_binding
72 import kim_log_handle_type
74 type(kim_log_handle_type),
intent(in) :: left
75 type(kim_log_handle_type),
intent(in) :: right
76 end function kim_log_handle_not_equal
77 end interface operator (.ne.)
80 subroutine kim_log_create(log_handle, ierr)
81 use,
intrinsic :: iso_c_binding
82 import kim_log_handle_type
84 type(kim_log_handle_type),
intent(out) :: log_handle
85 integer(c_int),
intent(out) :: ierr
86 end subroutine kim_log_create
88 subroutine kim_log_destroy(log_handle)
89 use,
intrinsic :: iso_c_binding
90 import kim_log_handle_type
92 type(kim_log_handle_type),
intent(inout) :: log_handle
93 end subroutine kim_log_destroy
95 subroutine kim_log_get_id(log_handle, id_string)
96 use,
intrinsic :: iso_c_binding
97 import kim_log_handle_type
99 type(kim_log_handle_type),
intent(in) :: log_handle
100 character(len=*, kind=c_char),
intent(out) :: id_string
101 end subroutine kim_log_get_id
103 subroutine kim_log_set_id(log_handle, id_string)
104 use,
intrinsic :: iso_c_binding
105 import kim_log_handle_type
107 type(kim_log_handle_type),
intent(in) :: log_handle
108 character(len=*, kind=c_char),
intent(in) :: id_string
109 end subroutine kim_log_set_id
111 subroutine kim_log_push_verbosity(log_handle, log_verbosity)
112 use,
intrinsic :: iso_c_binding
114 import kim_log_handle_type
116 type(kim_log_handle_type),
intent(in) :: log_handle
117 type(kim_log_verbosity_type),
intent(in),
value :: log_verbosity
118 end subroutine kim_log_push_verbosity
121 use,
intrinsic :: iso_c_binding
122 import kim_log_handle_type
124 type(kim_log_handle_type),
intent(in) :: log_handle
127 subroutine kim_log_log_entry(log_handle, log_verbosity, message, &
128 line_number, file_name)
129 use,
intrinsic :: iso_c_binding
131 import kim_log_handle_type
133 type(kim_log_handle_type),
intent(in) :: log_handle
134 type(kim_log_verbosity_type),
intent(in),
value :: log_verbosity
135 character(len=*, kind=c_char),
intent(in) :: message
136 integer(c_int),
intent(in),
value :: line_number
137 character(len=*, kind=c_char),
intent(in) :: file_name
138 end subroutine kim_log_log_entry
type(kim_log_handle_type), public, protected kim_log_null_handle