23 use,
intrinsic :: iso_fortran_env
56 use,
intrinsic :: iso_fortran_env
58 real(real64) :: oct_clock
59 end function oct_clock
63 subroutine oct_gettimeofday(sec, usec)
65 integer,
intent(out) :: sec, usec
66 end subroutine oct_gettimeofday
70 subroutine oct_nanosleep(sec, nsec)
72 integer,
intent(in) :: sec
73 integer,
intent(in) :: nsec
74 end subroutine oct_nanosleep
83 character(kind=c_char),
intent(in) :: filename(*)
88 subroutine oct_break_c_string(str, s, line)
91 type(c_ptr),
intent(in) :: str
92 type(c_ptr),
intent(inout) :: s
93 character(kind=c_char),
intent(out) :: line(*)
94 end subroutine oct_break_c_string
100 subroutine oct_progress_bar(a, maxcount)
102 integer,
intent(in) :: a, maxcount
103 end subroutine oct_progress_bar
110 character(kind=c_char),
intent(in) :: str(*)
111 integer,
intent(out) :: l
116 integer(c_intptr_t) function oct_get_memory_usage()
117 use iso_c_binding,
only: c_intptr_t
119 end function oct_get_memory_usage
125 character(len=*),
intent(in) :: dir
126 character(len=*),
intent(inout) :: filename
128 character(kind=c_char) :: c_name(len(filename)+1)
134 character(kind=c_char),
intent(in) :: dir(*)
135 character(kind=c_char),
intent(out) :: filename(*)
149 character(len=*),
intent(in) :: f_string
150 character(kind=c_char,len=1) :: c_string(len_trim(f_string) + 1)
154 strlen = len_trim(f_string)
157 c_string(i) = f_string(i:i)
159 c_string(strlen+1) = c_null_char
167 character(kind=c_char,len=1),
intent(in) :: c_string(*)
168 character(len=*),
intent(out) :: f_string
173 do while(c_string(i) /= c_null_char .and. i <= len(f_string))
174 f_string(i:i) = c_string(i)
177 if (i < len(f_string)) f_string(i:) =
' '
182 integer,
intent(in) :: a
183 character(len=*),
intent(in) :: s
185 integer,
allocatable :: list(:)
187 allocate(list(2**14))
191 if (list(a) == 1) inlist = .
true.
198 character(len=*),
intent(in) :: name
204 character(kind=c_char),
intent(in) :: name(*)
212 character(len=*),
intent(in) :: name
215 subroutine oct_rm(name)
bind(c)
218 character(kind=c_char),
intent(in) :: name(*)
226 character(len=*),
intent(inout) :: name
227 character(kind=c_char) :: c_name(len(name)+1)
233 character(kind=c_char),
intent(out) :: name(*)
243 character(len=*),
intent(in) :: dirname
249 character(kind=c_char),
intent(in) :: dirname(*)
258 character(len=*),
intent(in) :: var
259 character(len=*),
intent(inout) :: val
261 character(kind=c_char) :: c_val(len(val)+1)
267 character(kind=c_char),
intent(in) :: var(*)
268 character(kind=c_char),
intent(inout) :: val(*)
278 integer,
intent(in) :: errno
279 character(len=*),
intent(inout) :: res
281 character(kind=c_char) :: cres(len(res)+1)
287 integer,
intent(in) :: errno
288 character(kind=c_char),
intent(inout) :: res(*)
298 real(real64),
intent(inout) :: freq
299 integer,
intent(in) :: tag
300 integer,
intent(out) :: ierr
301 character(len=*),
intent(in) :: dirname
306 use,
intrinsic :: iso_fortran_env
308 real(real64),
intent(inout) :: freq
309 integer,
intent(in) :: tag
310 integer,
intent(out) :: ierr
311 character(kind=c_char),
intent(in) :: dirname(*)
319 character(len=*),
intent(inout) :: fpath
321 character(kind=c_char) :: path(len(fpath)+1)
325 character(kind=c_char),
intent(out) :: path(*)
335 character(len=*),
intent(in) :: path
336 character(len=*),
intent(inout) :: dir
338 character(kind=c_char) :: cdir(len(dir)+1)
342 character(kind=c_char),
intent(in) :: path(*)
343 character(kind=c_char),
intent(inout) :: dir(*)
Define which routines can be seen from the outside.
subroutine, public loct_rm(name)
logical function, public loct_isinstringlist(a, s)
subroutine, public loct_search_file_lr(freq, tag, ierr, dirname)
subroutine, public loct_mkdir(name)
subroutine, public loct_print_recipe(dir, filename)
subroutine, public loct_strerror(errno, res)
subroutine, public loct_getenv(var, val)
subroutine, public loct_dirname(path, dir)
logical function, public loct_dir_exists(dirname)
character(kind=c_char, len=1) function, dimension(len_trim(f_string)+1), private string_f_to_c(f_string)
convert a Fortran string to a C string
subroutine, public loct_executable_path(fpath)
subroutine string_c_to_f(c_string, f_string)
convert a C string to a Fortran string
subroutine, public loct_sysname(name)
void oct_wfs_list(char *str_c, fint l[16384])
void oct_executable_path(char *path)
void oct_rm(char *name_c)
void oct_sysname(char *name_c)
int oct_number_of_lines(char *name_c)
void oct_dirname(char *fn, char *dn)
void oct_getenv(char *name_c, char *var_c)
int oct_dir_exists(char *name_c)
void oct_search_file_lr(double *freq, const fint *tag, fint *ierr, char *name_c)
void oct_mkdir(char *name_c)
void oct_strerror(const fint *err, char *res)
void oct_print_recipe(char *dir_, char *filename)