4.3BSD-Reno/share/man/cat3/scandir.0

Compare this file to the similar file:
Show the results in this format:




SCANDIR(3)		      1990		       SCANDIR(3)



NNAAMMEE
     scandir, alphasort - scan a directory

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<ssyyss//ttyyppeess..hh>>
     ##iinncclluuddee <<ddiirreenntt..hh>>

     ssccaannddiirr((ddiirrnnaammee,, nnaammeelliisstt,, sseelleecctt,, ccoommppaarr))
     cchhaarr **ddiirrnnaammee;;
     ssttrruucctt ddiirreecctt ******nnaammeelliisstt;;
     iinntt ((**sseelleecctt))(());;
     iinntt ((**ccoommppaarr))(());;

     aallpphhaassoorrtt((dd11,, dd22))
     vvooiidd **dd11,, **dd22;;

DDEESSCCRRIIPPTTIIOONN
     _S_c_a_n_d_i_r reads the directory _d_i_r_n_a_m_e and builds an array of
     pointers to directory entries using _m_a_l_l_o_c(3).  It returns
     the number of entries in the array.  A pointer to the array
     of directory entries is stored in the location referenced by
     _n_a_m_e_l_i_s_t.

     The _s_e_l_e_c_t parameter is a pointer to a user supplied subrou-
     tine which is called by _s_c_a_n_d_i_r to select which entries are
     to be included in the array.  The select routine is passed a
     pointer to a directory entry and should return a non-zero
     value if the directory entry is to be included in the array.
     If _s_e_l_e_c_t is null, then all the directory entries will be
     included.

     The _c_o_m_p_a_r parameter is a pointer to a user supplied subrou-
     tine which is passed to _q_s_o_r_t(3) to sort the completed
     array.  If this pointer is null, the array is not sorted.

     _A_l_p_h_a_s_o_r_t is a routine which can be used for the _c_o_m_p_a_r
     parameter to sort the array alphabetically.

     The memory allocated for the array can be deallocated with
     _f_r_e_e(3), by freeing each pointer in the array and then the
     array itself.

SSEEEE AALLSSOO
     directory(3), malloc(3), qsort(3), dir(5)

DDIIAAGGNNOOSSTTIICCSS
     Returns -1 if the directory cannot be opened for reading or
     if _m_a_l_l_o_c(3) cannot allocate enough memory to hold all the
     data structures.






Printed 7/27/90               June				1