4.3BSD-Tahoe/usr/man/cat3/alphasort.0

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




SCANDIR(3)	    UNIX Programmer's Manual	       SCANDIR(3)



NNAAMMEE
     scandir, alphasort - scan a directory

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

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

     aallpphhaassoorrtt((dd11,, dd22))
     ssttrruucctt ddiirreecctt ****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 and a pointer to the
     array through _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 (see _m_a_l_l_o_c(3)) by freeing each pointer in the array
     and 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/9/88	       September 17, 1985			1