Al solito, per la presenza fra gli argomenti di due puntatori a funzione, il
prototipo non è molto comprensibile; queste funzioni però sono quelle che
-controllano rispettivamente la selezione di una voce (\param{select}) e
-l'ordinamento di tutte le voci selezionate (\param{compar}).
+controllano rispettivamente la selezione di una voce (quella passata con
+l'argomento \param{select}) e l'ordinamento di tutte le voci selezionate
+(quella specificata dell'argomento \param{compar}).
La funzione legge tutte le voci della directory indicata dall'argomento
-\param{dir}, passando ciascuna di esse come argomento alla funzione di
-\param{select}; se questa ritorna un valore diverso da zero la voce viene
-inserita in una struttura allocata dinamicamente con \func{malloc}, qualora si
-specifichi un valore \val{NULL} per \func{select} vengono selezionate tutte le
-voci. Tutte le voci selezionate vengono poi inserite un una lista (anch'essa
-allocata con \func{malloc}, che viene riordinata tramite \func{qsort} usando
-la funzione \param{compar} come criterio di ordinamento; alla fine l'indirizzo
-della lista ordinata è restituito nell'argomento \param{namelist}.
-
-Per l'ordinamento sono disponibili anche due funzioni predefinite,
+\param{dir}, passando ciascuna di esse (una struttura \struct{dirent}) come
+argomento della funzione di selezione specificata da \param{select}; se questa
+ritorna un valore diverso da zero la voce viene inserita in un vettore che
+viene allocato dinamicamente con \func{malloc}. Qualora si specifichi un
+valore \val{NULL} per \func{select} vengono selezionate tutte le voci.
+
+Le voci selezionate possono essere riodinate tramite \func{qsort}, le modalità
+del riordinamento possono essere personalizzate usando la funzione
+\param{compar} come criterio di ordinamento di\func{qsort}, la funzione prende
+come argomenti le duestrutture \struct{dirent} da confrontare restituendo un
+valore positivo, nullo o negativo per indicarne l'ordinamento; alla fine
+l'indirizzo della lista delle strutture \struct{dirent} così ordinate viene
+restituito nell'argomento \param{namelist}.
+
+Per l'ordinamento (vale a dire come valori possibili per l'argomento
+\param{compar}) sono disponibili anche due funzioni predefinite,
\funcd{alphasort} e \funcd{versionsort}, i cui prototipi sono:
\begin{functions}
\headdecl{dirent.h}
%%% mode: latex
%%% TeX-master: "gapil"
%%% End:
+
+% LocalWords: everything is device kernel filesystem sez pathname root glibc
+% LocalWords: path filename bootloader proc name components fifo socket dev LF
+% LocalWords: resolution chroot parent Virtual System like tab cap l'I regular
+% LocalWords: inode symbolic char block VFS VMS Windows dell'I raw access Mac
+% LocalWords: CR dos HFS l'XFS SGI magic number descriptor system call int ext
+% LocalWords: nell'header unistd stream dall'ANSI stdio locking POSIX fig type
+% LocalWords: register superblock dell'inode stat entry cache dcache dentry ln
+% LocalWords: l'inode lookup ops read write llseek ioctl readdir poll nell'I
+% LocalWords: multiplexing mmap fsync fasync seek MacOs group dall' dell' img
+% LocalWords: count unlink nell' rename gapil second Tb attributes BSD SVr gid
+% LocalWords: sgid append only log fs linux extented linked list