NMAX is the limit on the number of entries in the selected local directory only.
I successfully use FILES@ on network disks with 100,000's of files, but limited to 12,000 files per directory. I should get the statistic on the maximum number of entries recovered in a single call. This is a very useful routine for tracking files on a disk.
My routine is:-
! nsize.inc
! Last change: JDC 13 Mar 2008 3:29 pm
integer*4, parameter :: max_rec = 12000 ! max active files in tree
integer*4, parameter :: max_chr = 320 ! max characters in a tree name
integer*4, parameter :: max_cht = 192 ! max characters in a tree list name
!
! directory search information
common /filinf/ max_use, & ! max number of records used
max_name_len, & ! max string length
max_tree_lev, & ! max tree level searched
n_h, s_h, & ! hidden file summary info
n_d, s_d, & ! directory summary info
n_f, s_f, & ! file summary info
n_bf, & ! count of big files
slack_space, & ! slack space estimate
echo_mask(8), & ! print flaged files
dump_dir, dump_file,& ! listing options
min_file_size, & ! listing limit
big_file_size, & ! listing limit
max_file_size, & ! listing limit
local, & ! percolate date
min_date, max_date, & ! date option
block_size, & ! disk allocation block size
lu, lu_map(0:3), & ! screen unit
last_option, &
last_option_used, &
!
attr(max_rec), & ! file attributes
date(max_rec), & ! DOS date stamp
time(max_rec), & ! DOS time stamp
file_size(max_rec) ! file size (bytes)
common /filinc/ file_name(max_rec) ! file name buffer
!
integer*2 max_use, max_name_len, max_tree_lev, min_date, max_date
character last_option*80
integer*4 n_h,n_d,n_f,n_bf, lu, lu_map
integer*8 block_size
real*8 s_h,s_d,s_f, slack_space
logical echo_mask, dump_dir, dump_file, local, last_option_used
!
integer*2 attr, date, time
!file8@ real*8 file_size
integer*4 file_size
integer*8 min_file_size, big_file_size, max_file_size
character file_name*320
!
! end of nsize.inc