Accueil

CPU_SET
INFINITY
MB_CUR_MAX
MB_LEN_MAX
__setfpucw
_exit
_syscall
a64l
abort
abs
accept
access
acct
acos
acosh
addpart
addseverity
adduser
adjtime
adjtimex
aio_cancel
aio_error
aio_fsync
aio_read
aio_return
aio_suspend
aio_write
alarm
alloc_hugepages
alloca
apropos
arch
arch_prctl
argz_add
armscii-8
arp
ascii
asin
asinh
asprintf
assert
assert_perror
at
atan
atan2
atanh
atd
atexit
atof
atoi
atq
atrm
atrun
backend-spec
backtrace
basename
bash
bashbug
batch
bcmp
bcopy
bdflush
bind
bindresvport
blockdev
boot
bootlogd
bootparam
bosskill
brk
bsd_signal
bsearch
bstring
btowc
btree
builtin
builtins
byteorder
bzero
c
cabs
cacheflush
cacos
cacosh
cal
canonicalize_file_name
capabilities
capget
carg
casin
casinh
catan
catanh
catgets
catopen
cbrt
ccos
ccosh
ceil
cerf
cexp
cexp2
cfree
chage
charmap
charsets
chatise
chdir
chgrp
chmod
chown
chpasswd
chroot
chrt
chsh
cimag
clearenv
clock
clock_getcpuclockid
clock_getres
clock_nanosleep
clog
clog10
clog2
clone
close
closedir
cmp
cmsg
col
complex
confstr
conj
connect
console
console_codes
console_ioctl
consoletype
copysign
core
cos
cosh
cp
cp1251
cpow
cproj
cpuid
cpuset
creal
create_module
createrepo
credentials
cron
crond
crontab
crypt
crypttab
csin
csinh
csqrt
ctan
ctanh
ctermid
ctime
ctluser
ctrlaltdel
daemon
db2dvi
db2html
db2pdf
db2ps
db2rtf
dbopen
dd
ddp
delete_module
delpart
depmod
des_crypt
df
diff
diff3
difftime
dir
dir_colors
dircolors
dirfd
div
dl_iterate_phdr
dlopen
dmesg
docbook2dvi
docbook2html
docbook2man
docbook2man-spec
docbook2pdf
docbook2ps
docbook2rtf
docbook2tex
docbook2texi
docbook2texi-spec
docbook2txt
doexec
domainname
dprintf
drand48
drand48_r
dsp56k
du
dup
dysize
ecvt
ecvt_r
egrep
eject
elf
encrypt
end
endian
environ
envz_add
epoll
epoll_create
epoll_ctl
epoll_wait
erf
erfc
err
errno
error
ether_aton
ethers
euidaccess
eventfd
evim
exec
execve
exit
exit_group
exp
exp10
exp2
expm1
exportfs
exports
fabs
faccessat
faillog
fallocate
fchmodat
fchownat
fclose
fcloseall
fcntl
fd
fdformat
fdim
fdisk
feature_test_macros
fenv
ferror
fexecve
fflush
ffs
fgetgrent
fgetpwent
fgetwc
fgetws
fgrep
fifo
filesystems
finite
flock
flockfile
floor
fma
fmax
fmemopen
fmin
fmod
fmtmsg
fnmatch
fopen
fopencookie
fork
fpathconf
fpclassify
fpurge
fputwc
fputws
fread
free
frexp
frontend-spec
fseek
fseeko
fstab
fstab-decode
fstatat
fsync
ftime
ftok
ftpusers
fts
ftw
full
fuser
futex
futimes
futimesat
fwide
gamma
gcvt
get_kernel_syms
get_mempolicy
get_thread_area
getaddrinfo
getcontext
getcpu
getcwd
getdate
getdents
getdirentries
getdomainname
getdtablesize
getenv
getfsent
getgid
getgrent
getgrent_r
getgrnam
getgrouplist
getgroups
gethostbyname
gethostid
gethostname
getifaddrs
getipnodebyname
getitimer
getkey
getline
getloadavg
getlogin
getmntent
getnameinfo
getnetent
getnetent_r
getopt
getpagesize
getpass
getpeername
getpid
getpriority
getprotoent
getprotoent_r
getpt
getpw
getpwent
getpwent_r
getpwnam
getresuid
getrlimit
getrpcent
getrpcent_r
getrpcport
getrusage
gets
getservent
getservent_r
getsid
getsockname
getsockopt
getsubopt
gettid
gettimeofday
getttyent
getuid
getumask
getusershell
getutent
getutmp
getw
getwchar
getxattr
glob
gnu_get_libc_version
gpasswd
grantpt
grep
group
groupadd
groupdel
groupmod
grpck
grpconv
grpunconv
gshadow
gsignal
gssd
gunzip
guru
gzexe
gzip
halt
hash
hd
hier
host
hostname
hosts
hsearch
hypot
i386
icmp
iconv
iconv_close
iconv_open
idle
idmapd
ifconfig
ilogb
index
inet
inet_ntop
inet_pton
infnan
init
init_module
initgroups
initlog
initrd
initscript
inittab
inotify
inotify_add_watch
inotify_init
inotify_rm_watch
insmod
insque
install
install-catalog
intro
io_cancel
io_destroy
io_getevents
io_setup
io_submit
ioctl
ioctl_list
ioperm
iopl
ioprio_set
ip
ipc
ipcalc
ipcrm
ipcs
ipv6
isalpha
isatty
isgreater
iso_8859-1
iso_8859-10
iso_8859-11
iso_8859-13
iso_8859-14
iso_8859-15
iso_8859-16
iso_8859-2
iso_8859-3
iso_8859-4
iso_8859-5
iso_8859-6
iso_8859-7
iso_8859-8
iso_8859-9
issue
iswalnum
iswalpha
iswblank
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
j0
jade
jw
key_setsecret
kill
killall
killall5
killpg
koi8-r
koi8-u
last
lastb
lastlog
ld
ldconfig
ldd
ldexp
lgamma
libc
link
linkat
linux32
linux64
listen
listxattr
llseek
ln
locale
localeconv
lockd
lockf
log
log10
log1p
log2
logb
login
longjmp
lookup_dcookie
lp
lrint
lround
ls
lsearch
lseek
lseek64
lsmod
lspci
lsusb
madvise
mailaddr
makecontext
makedev
makewhatis
malloc
malloc_hook
man
man-pages
math_error
matherr
mbind
mblen
mbrlen
mbrtowc
mbsinit
mbsnrtowcs
mbsrtowcs
mbstowcs
mbtowc
mcookie
mdoc
mem
memccpy
memchr
memcmp
memcpy
memfrob
memmem
memmove
mempcpy
memset
mesg
mincore
mkdir
mkdirat
mkdtemp
mkfifo
mkfifoat
mkfs
mknod
mknodat
mkstemp
mkswap
mktemp
mlock
mmap
mmap2
modf
modify_ldt
modifyrepo
modinfo
modprobe
more
motd
mount
mountd
mountpoint
mouse
move_pages
mpool
mprotect
mq_close
mq_getattr
mq_getsetattr
mq_notify
mq_open
mq_overview
mq_receive
mq_send
mq_unlink
mremap
msgctl
msgget
msgop
msr
msync
mtrace
mv
nan
nanosleep
netdevice
netlink
netreport
netstat
networks
newgrp
newusers
nextafter
nfs
nfsd
nfsservctl
nfsstat
nice
nicknames
nisdomainname
nl_langinfo
nmap
nologin
nscd
nsgmls
nsswitch
ntpd
ntpdc
null
numa
offsetof
on_exit
onsgmls
open
openat
opendir
openjade
openpty
operator
osgmlnorm
ospam
ospcat
ospent
osx
outb
package-cleanup
packet
passwd
path_resolution
pause
pciconfig_read
pcilib
perror
personality
pgrep
pidof
pipe
pivot_root
pkill
plipconfig
pmap
poll
popen
posix_fadvise
posix_fallocate
posix_memalign
posix_openpt
posixoptions
pow
pow10
poweroff
ppp-watch
pppoe
pppoe-connect
pppoe-relay
pppoe-server
pppoe-setup
pppoe-sniff
pppoe-start
pppoe-status
pppoe-stop
pppoe-wrapper
prctl
pread
printf
proc
profil
program_invocation_name
protocols
psignal
pstree
pthread_atfork
pthread_attr_destroy
pthread_attr_getdetachstate
pthread_attr_getinheritsched
pthread_attr_getschedparam
pthread_attr_getschedpolicy
pthread_attr_getscope
pthread_attr_init
pthread_attr_setaffinity_np
pthread_attr_setdetachstate
pthread_attr_setguardsize
pthread_attr_setinheritsched
pthread_attr_setschedparam
pthread_attr_setschedpolicy
pthread_attr_setscope
pthread_attr_setstack
pthread_attr_setstackaddr
pthread_attr_setstacksize
pthread_cancel
pthread_cleanup_pop
pthread_cleanup_pop_restore_np
pthread_cleanup_push
pthread_cleanup_push_defer_np
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_condattr_destroy
pthread_condattr_init
pthread_create
pthread_detach
pthread_equal
pthread_exit
pthread_getattr_np
pthread_getcpuclockid
pthread_getschedparam
pthread_getspecific
pthread_join
pthread_key_create
pthread_key_delete
pthread_kill
pthread_kill_other_threads_np
pthread_mutex_destroy
pthread_mutex_init
pthread_mutex_lock
pthread_mutex_trylock
pthread_mutex_unlock
pthread_mutexattr_destroy
pthread_mutexattr_getkind_np
pthread_mutexattr_gettype
pthread_mutexattr_init
pthread_mutexattr_setkind_np
pthread_mutexattr_settype
pthread_once
pthread_self
pthread_setaffinity_np
pthread_setcancelstate
pthread_setcanceltype
pthread_setconcurrency
pthread_setschedparam
pthread_setschedprio
pthread_setspecific
pthread_sigmask
pthread_testcancel
pthread_tryjoin_np
pthread_yield
pthreads
ptrace
pts
ptsname
pty
putenv
putgrent
putpwent
puts
putwchar
pwck
pwconv
pwdx
pwunconv
qecvt
qsort
query_module
queue
quotactl
raise
ram
rand
random
random_r
raw
rbash
rcmd
re_comp
read
readahead
readdir
readlink
readlinkat
readv
realpath
reboot
recno
recv
regex
remainder
remap_file_pages
remove
removexattr
remquo
rename
renameat
renice
repo-rss
repoquery
reposync
resolv
resolver
rev
rewinddir
rexec
rgrep
rint
rm
rmdir
rmmod
round
route
rpc
rpm
rpmatch
rquotad
rtc
rtime
rtld-audit
rtnetlink
runlevel
scalb
scalbln
scandir
scanf
sched_get_priority_max
sched_getcpu
sched_rr_get_interval
sched_setaffinity
sched_setparam
sched_setscheduler
sched_yield
sd
sdiff
securetty
sed
seekdir
select
select_tut
sem_close
sem_destroy
sem_getvalue
sem_init
sem_open
sem_overview
sem_post
sem_unlink
sem_wait
semctl
semget
semop
send
sendfile
service
services
set_mempolicy
set_thread_area
set_tid_address
setaliasent
setarch
setbuf
setenv
seteuid
setfsgid
setfsuid
setgid
setjmp
setlocale
setlogmask
setnetgrent
setpci
setpgid
setresuid
setreuid
setsid
setuid
setup
setxattr
sfdisk
sg
sgetmask
sgmldiff
sgmlnorm
shadow
shells
shm_open
shm_overview
shmctl
shmget
shmop
showmount
shutdown
sigaction
sigaltstack
siginterrupt
signal
signalfd
signbit
significand
sigpause
sigpending
sigprocmask
sigqueue
sigreturn
sigset
sigsetops
sigsuspend
sigvec
sigwait
sigwaitinfo
sin
sincos
sinh
sk98lin
skill
slabinfo
slabtop
slattach
sleep
snice
sockatmark
socket
socketcall
socketpair
spam
spent
splice
spu_create
spu_run
spufs
sqrt
st
standards
stat
statd
statfs
statvfs
stdarg
stdin
stdio
stdio_ext
stime
stpcpy
stpncpy
strcasecmp
strcat
strchr
strcmp
strcoll
strcpy
strdup
strerror
strfmon
strfry
strftime
string
strlen
strnlen
strpbrk
strptime
strsep
strsignal
strspn
strstr
strtod
strtoimax
strtok
strtol
strtoul
strverscmp
strxfrm
suffixes
sulogin
svcgssd
svipc
swab
swapoff
swapon
switchdesk
sx
symlink
symlinkat
sync
sync_file_range
sys-unconfig
syscall
syscalls
sysconf
sysctl
sysfs
sysinfo
syslog
system
sysv_signal
tailf
tan
tanh
tcgetpgrp
tcgetsid
tcp
tee
telinit
telldir
tempnam
termcap
termio
termios
tgamma
time
timegm
timer_create
timer_delete
timer_getoverrun
timer_settime
timeradd
timerfd_create
times
tkill
tkpppoe
tload
tmpfile
tmpnam
toascii
touch
toupper
towctrans
towlower
towupper
trunc
truncate
tsearch
tty
ttyS
tty_ioctl
ttyname
ttyslot
ttytype
tzfile
tzselect
tzset
ualarm
udp
udplite
ulimit
umask
umount
uname
undocumented
ungetwc
unicode
unimplemented
units
unix
unlink
unlinkat
unlocked_stdio
unlockpt
unshare
update-pciids
updwtmp
uptime
uri
uselib
useradd
userdel
usermod
usernetctl
usleep
ustat
utf-8
utime
utimensat
utmp
vcs
vdir
vfork
vhangup
vigr
vim
vimdiff
vimtutor
vipw
vm86
vmsplice
vmstat
volname
w
wait
wait4
wall
watch
wavelan
wcpcpy
wcpncpy
wcrtomb
wcscasecmp
wcscat
wcschr
wcscmp
wcscpy
wcscspn
wcsdup
wcslen
wcsncasecmp
wcsncat
wcsncmp
wcsncpy
wcsnlen
wcsnrtombs
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstoimax
wcstok
wcstombs
wcswidth
wctob
wctomb
wctrans
wctype
wcwidth
whatis
whereis
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wordexp
wprintf
write
x25
x86_64
xcrypt
xdr
xxd
y0
ypcat
ypchfn
ypchsh
ypdomainname
ypmatch
yppasswd
yppoll
ypset
yptest
ypwhich
yum
yum-builddep
yum-complete-transaction
yum-shell
yum-updatesd
yum-utils
yum-verify
yumdownloader
zcat
zcmp
zdiff
zdump
zforce
zgrep
zic
zmore
znew

Pages de MAN

FTS(3)			  Manuel du programmeur Linux			FTS(3)



NOM
       fts,  fts_open,	fts_read, fts_children, fts_set, fts_close - Parcourir
       une hiérarchie de fichiers.

SYNOPSIS
       #include 
       #include 
       #include 

       FTS *fts_open(char * const *path_argv, int options,
		     int (*compar)(const FTSENT **, const FTSENT **));

       FTSENT *fts_read(FTS *ftsp);

       FTSENT *fts_children(FTS *ftsp, int options);

       int fts_set(FTS *ftsp, FTSENT *f, int options);

       int fts_close(FTS *ftsp);

DESCRIPTION
       Les fonctions de la famille fts servent à traverser des hiérarchies  de
       fichiers.  Rapidement,  disons  que  la fonction fts_open() renvoie une
       sorte de descripteur de la hiérarchie de	 fichiers,  que	 l'on  fournit
       ensuite	aux autres fonctions de la famille fts. La fonction fts_read()
       renvoie un pointeur sur une structure décrivant l'un  des  fichiers  de
       l'arborescence.	La fonction fts_children() renvoie un pointeur sur une
       liste chaînée de structures, chacune décrivant l'un des	fichiers  con-
       tenu  dans  le répertoire de la hiérarchie. En général, les répertoires
       sont  visités  à	 deux  reprises,  distinctes.  Un  passage  en	 ordre
       « pre-order »  avant  d'avoir parcouru leurs descendants, et un passage
       en ordre « post-order » après avoir visité tous	les  sous-répertoires.
       Les  fichiers  ne  sont	examinés qu'une seule fois. Il est possible de
       parcourir la hiérarchie « logiquement » (en ignorant les liens  symbol-
       iques) ou « physiquement » (en visitant les liens symboliques). On peut
       ordonner le parcours de la hiérarchie,  ignorer	ou  visiter  plusieurs
       fois certaines parties.

       Deux  structures sont définies (avec typedef) dans le fichier d'en-tête
       . La première est FTS, une structure représentant l'arborescence
       des  fichiers  elle-même,  et  la  seconde  est	FTSENT,	 une structure
       représentant un fichier dans la hiérarchie. Normalement, une  structure
       FTSENT  est  renvoyée pour chaque fichier rencontré dans la hiérarchie.
       Dans cette page	de  manuel,  les  termes  « fichier »  et  « structure
       FTSENT »	 sont  généralement interchangeables. La structure FTSENT con-
       tient au moins les champs suivants, décrits en détail ci-dessous :

	   typedef struct _ftsent {
	       unsigned short fts_info;	    /* drapeau de la structure FTSENT */
	       char	     *fts_accpath;  /* chemin d'accès */
	       char	     *fts_path;	    /* chemin de la racine */
	       short	      fts_pathlen;  /* strlen(fts_path) */
	       char	     *fts_name;	    /* non du fichier */
	       short	      fts_namelen;  /* strlen(fts_name) */
	       short	      fts_level;    /* profondeur (-1 à N) */
	       int	      fts_errno;    /* fichier errno */
	       long	      fts_number;   /* valeur numérique locale */
	       void	     *fts_pointer;  /* valeur de l'adresse locale */
	       struct ftsent *fts_parent;   /* répertoire parent */
	       struct ftsent *fts_link;	    /* fichier de structure suivant */
	       struct ftsent *fts_cycle;    /* cycle structure */
	       struct stat   *fts_statp;    /* information sur stat(2) */
	   } FTSENT;

       Les membres ont les significations suivantes :

       fts_info	   L'un des attribut suivants, décrivant la  structure	FTSENT
		   et  le  fichier qu'elle représente. Toutes ces entrées sont
		   terminales (sauf les répertoires FTS_D  ne  présentant  pas
		   d'erreur),  ce  qui	signifie  qu'elle  ne  seront visitées
		   qu'une seule fois, et que leur éventuels  descendants  (cas
		   des répertoires en erreur) ne seront pas visités.

		   FTS_D       Un répertoire visité en phase « pre-order ».

		   FTS_DC      Un  répertoire  introduisant  une  boucle  dans
			       l'arborescence. Le champ fts_cycle de la struc-
			       ture FTSENT sera également remplis.

		   FTS_DEFAULT Toute  structure FTSENT représentant un type de
			       fichier non décrit explicitement par l'une  des
			       autres valeurs de fts_info.

		   FTS_DNR     Un répertoire ne pouvant être lu. Ceci est con-
			       sidéré comme une erreur, et le champ  fts_errno
			       sera défini avec une valeur décrivant sa cause.

		   FTS_DOT     Un fichier nommé « . » ou « .. »	 qui  n'a  pas
			       été  indiqué  explicitement  comme  argument de
			       fts_open() (consultez FTS_SEEDOT).

		   FTS_DP      Un répertoire visité en	phase  « post-order ».
			       Le  contenu  de la structure FTSENT ne sera pas
			       différent de ce	qu'il  était  après  la	 phase
			       «pre-order ».   C'est-à-dire   quand  le	 champ
			       fts_info valait FTS_D.

		   FTS_ERR     Il  s'agit  d'un	 retour	 d'erreur,  le	 champ
			       fts_errno  étant	 rempli pour indiquer la cause
			       de l'erreur.

		   FTS_F       Un fichier normal.

		   FTS_NS      Un  fichier  pour  lequel  aucune   information
			       provenant  de stat(2) n'est disponible. Le con-
			       tenu du champ fts_statp est indéfini. Il s'agit
			       d'un  cas  d'erreur  dont la cause est indiquée
			       dans fts_errno.

		   FTS_NSOK    Un  fichier  pour  lequel  aucune   information
			       provenant  de stat(2) n'a été demandée. Le con-
			       tenu du champ fts_statp est indéfini.

		   FTS_SL      Un lien symbolique.

		   FTS_SLNONE  Un lien symbolique pointant dans	 le  vide.  Le
			       contenu	du  champ  fts_statp contient les car-
			       actéristiques du lien lui-même.

       fts_accpath Un chemin permettant d'accéder au fichier depuis le	réper-
		   toire courant.

       fts_path	   Le chemin d'accès au fichier à partir du point de départ du
		   parcours. Il contient en préfixe le chemin fourni  lors  de
		   l'invocation de fts_open().

       fts_pathlen La longueur de la chaîne pointée par fts_path.

       fts_name	   Le nom du fichier.

       fts_namelen La longueur de la chaîne pointée par fts_name.

       fts_level   La  profondeur  où  le fichier a été trouvé dans l'arbores-
		   cence, numérotée de -1 à N. La structure  FTSENT  représen-
		   tant	 le  parent  du	 point	de départ est numérotée -1. La
		   structure FTSENT représentant la racine de départ elle-même
		   est numérotée 0.

       fts_errno   Dans	 une  structure FTSENT renvoyée par un appel fts_chil-
		   dren() ou  fts_read(),  dont	 le  champ  fts_info  contient
		   FTS_DNR,  FTS_ERR  ou FTS_NS, le champ fts_errno est défini
		   avec la valeur de la variable externe  errno	 indiquant  la
		   cause de l'erreur. Dans les autres cas, le contenu du champ
		   fts_errno est indéfini.

       fts_number  Ce champ est mis à la disposition des programmes  applicat-
		   ifs,	 et  n'est  modifié  par aucune fonction de la famille
		   fts. Il est toutefois initialisé à zéro.

       fts_pointer Ce champ est mis à la disposition des programmes  applicat-
		   ifs,	 et  n'est  modifié  par aucune fonction de la famille
		   fts. Il est toutefois initialisé à NULL.

       fts_parent  Un pointeur sur la structure FTSENT référençant le  fichier
		   dans	 la  hiérarchie	 immédiatement au dessus du fichier en
		   cours, c'est-à-dire le répertoire auquel il appartient. Une
		   structure parente pour le point d'entrée initial est égale-
		   ment fournie, mais seuls ses membres fts_level,  fts_number
		   et fts_pointer sont garantis d'être initialisés.

       fts_link	   Au  retour de la fonction fts_children(), le champ fts_link
		   pointe sur la structure suivante dans la liste chaînée  des
		   membres  du	répertoires,  liste terminée par un NULL. Dans
		   les autres situations, le contenu  du  champ	 fts_link  est
		   indéterminé.

       fts_cycle   Si  un  répertoire  introduit une boucle dans la hiérarchie
		   (voyez FTS_DC),soit à cause d'un lien physique  entre  deux
		   répertoires,	 soit  à  cause	 d'un lien symbolique pointant
		   vers un répertoire, le champ	 fts_cycle  pointera  vers  la
		   structure  FTSENT  de  la  hiérarchie qui référence le même
		   fichier que	celui  représenté  par	la  structure  FTSENT.
		   Sinon, le contenu du champ fts_cycle est indéfini.

       fts_statp   Un pointeur vers les informations fournies par stat(2).

       Un  tampon unique est utilisé pour tous les chemins d'accès de tous les
       fichiers de la hiérarchie. Ainsi, les champs fts_path et fts_accpath ne
       sont  assurés  d'être  terminés	par un caractère nul seulement pour le
       dernier fichier renvoyé par fts_read(). Pour utiliser ces  champs  pour
       référencer  un fichier représenté par une autre structure FTSENT néces-
       site que le chemin du tampon soit modifié  avec	l'information  contenu
       dans le champ fts_pathlen de cette structure FTSENT. Tout autre modifi-
       cation devra être défaite avant que d'autres  appels  à	fts_read()  ne
       soient  tentés. Le champ fts_name est toujours terminé par un caractère
       nul.

   fts_open()
       La fonction fts_open() reçoit un pointeur vers une table de chaînes  de
       caractères représentant un ou plusieurs chemins décrivant la hiérarchie
       de fichiers à traverser. Cette table doit se terminer par  un  pointeur
       NULL.

       Il   existe  un	certain	 nombre	 d'options,  dont  au  moins  une  est
       obligatoire (soit FTS_LOGICAL ou soit FTS_PHYSICAL). Les	 options  sont
       sélectionnées par un ou logique entre les valeurs suivantes :

       FTS_COMFOLLOW
		    Tout  lien	symbolique  spécifié  comme racine du parcours
		    sera  immédiatement	 suivi	(déréférencé),	que   l'option
		    FTS_LOGICAL soit spécifiée ou non.

       FTS_LOGICAL  Cette  option  indique  aux	 fonctions fts de renvoyer des
		    structures FTSENT concernant les cibles des liens  symbol-
		    iques  plutôt  que les liens eux-mêmes. Avec cette option,
		    les seuls liens symboliques pour  lesquels	une  structure
		    FTSENT  est	 renvoyée  sont ceux pointant dans le vide. Il
		    faut préciser soit FTS_LOGICAL,  soit  FTS_PHYSICAL	 à  la
		    fonction fts_open().

       FTS_NOCHDIR  Pour   optimiser   les  performances,  les	fonctions  fts
		    changent de répertoire au cours  de	 la  traversée	de  la
		    hiérarchie	de fichiers. En contrepartie, l'application ne
		    peut pas savoir à l'avance où elle	se  trouve  durant  la
		    traversée.	L'option  FTS_NOCHDIR supprime cette optimisa-
		    tion et les fonctions fts ne changeront pas de  répertoire
		    de	travail. Remarquez que les applications ne doivent pas
		    modifier elles-même le répertoire de  travail  et  essayer
		    d'accéder  aux  fichiers  sans que l'option FTS_NOCHDIR ne
		    soit spécifiée et que des chemins d'accès  absolus	soient
		    transmis à fts_open().

       FTS_NOSTAT   Par	 défaut,  les  structures FTSENT renvoyées contiennent
		    les caractéristiques  (voir	 le  champ  statp)  de	chaque
		    fichier visité. Cette option relâche cette contrainte pour
		    optimiser les performances, en  autorisant	les  fonctions
		    fts	 à  remplir le champ fts_info avec FTS_NSOK et laisser
		    le contenu du membre statp indéfini.

       FTS_PHYSICAL Avec cette option, les routines fts renvoient  des	struc-
		    tures  FTSENT  pour les liens symboliques eux-mêmes et non
		    pas les fichiers qu'ils  pointent.	Si  cette  option  est
		    définie, des structures FTSENT pour tous les liens symbol-
		    iques de la hiérarchie  sont  renvoyées  à	l'application.
		    Soit  FTS_LOGICAL  ou soit FTS_PHYSICAL doit être fourni à
		    la fonction fts_open().

       FTS_SEEDOT   Par défaut, à moins d'être fournis explicitement en	 argu-
		    ment à fts_open() ,tout fichier nommé « . » ou « .. » ren-
		    contré dans la hiérarchie est ignoré. Avec	cette  option,
		    les	 routines fts renvoient des structures FTSENT pour ces
		    fichiers.

       FTS_XDEV	    Cette option empêche fts de descendre dans les répertoires
		    se	trouvant  sur  un périphérique différent de celui dans
		    lequel le parcours a commencé.

       L'argument compar() spécifie une	 fonction  définie  par	 l'utilisateur
       pour  ordonner  la  traversée  de la hiérarchie. Elle prend en argument
       deux pointeurs sur des pointeurs sur des	 structures  FTSENT,  et  doit
       renvoyer	 une  valeur négative, nulle, ou positive pour indiquer que le
       fichier	représenté  par	 le  premier  argument	doit  venir  avant,  à
       n'importe  quel	moment,	 ou  après  le fichier référencé par le second
       argument. Les champs fts_accpath, fts_path et  fts_pathlen  des	struc-
       tures FTSENT ne doivent jamais être utilisés dans cette comparaison. Si
       le champ fts_info contient FTS_NS ou FTS_NSOK, le membre	 fts_statp  ne
       doit  pas  être	utilisé	 non  plus.  Si	 l'argument compar() est NULL,
       l'ordre de traversée des répertoires est celui de l'argument  path_argv
       pour les racines, et l'ordre interne des répertoires pour le reste.

   fts_read()
       La  fonction  fts_read()	 renvoie  un pointeur sur une structure FTSENT
       décrivant un fichier de la hiérarchie. Les répertoires lisibles	et  ne
       causant	pas  de boucles sont parcourus au moins deux fois, une fois en
       phase  « pre-order »,  et  une  en  phase  « post-order ».  Les	autres
       fichiers	 ne sont examinés qu'une seule fois. Les liens physiques entre
       répertoires qui ne causent pas de boucles,  ou  les  liens  symboliques
       vers  des liens symboliques peuvent entraîner des fichiers visités plus
       d'une fois, ou des répertoires plus de deux fois.

       Si tous les membres de la hiérarchie ont été examinés, fts_read()  ren-
       voie NULL et définit la variable externe errno avec un 0. Si une erreur
       sans rapport avec un fichier particulier se produit, fts_read() renvoie
       NULL  et	 définit  errno	 en  conséquence.  Si une erreur concernant le
       fichier en cours se produit, un pointeur sur une structure  FTSENT  est
       renvoyé, et errno peut ou non être défini (voyez fts_info).

       Les  structures	FTSENT	renvoyées par fts_read() peuvent être écrasées
       après un appel à fts_close() sur le même descripteur de	hiérarchie  ou
       après  un  appel	 à  fts_read()	sur  la même hiérarchie, sauf si elles
       représentent un répertoire, auquel cas elles  ne	 seront	 pas  écrasées
       avant l'appel fts_read() renvoyant la structure FTSENT du répertoire en
       phase « post-order ».

   fts_children()
       La fonction fts_children() renvoie un pointeur sur une structure FTSENT
       décrivant  la  première entrée d'une liste chaînée terminée par un NULL
       et représentant les fichiers se trouvant dans le répertoire indiqué par
       la dernière structure FTSENT renvoyée par un appel fts_read(). La liste
       est chaînée par le biais du membre fts_link de la structure FTSENT,  et
       est  ordonnée  suivant la routine de comparaison fournie par l'utilisa-
       teur, si elle existe. Des appels répétés à fts_children() recréeront la
       liste chaînée.

       Un cas particulier se présente si fts_read() n'a pas encore été appelée
       pour une hiérarchie. Alors, fts_children() renverra un pointeur sur les
       fichiers	 du  répertoire logique spécifié dans fts_open(), c'est-à-dire
       les arguments fournis à fts_open(). Sinon, si la	 structure  FTSENT  la
       plus  récemment	renvoyée par fts_read() n'est pas un répertoire visité
       en phase « pre-order », ou si le répertoire ne contient aucun  fichier,
       fts_children() renvoie NULL et met la variable externe errno à zéro. Si
       une erreur se produit, fts_children() renvoie NULL et définit errno  en
       conséquence.

       Les  structures	 FTSENT	 renvoyées  par	 fts_children()	  peuvent être
       écrasées après un appel à fts_children(), fts_close() ou fts_read() sur
       la même hiérarchie de fichiers.

       Option peut contenir l'une des valeurs suivantes :

       FTS_NAMEONLY Seuls  les	noms des fichiers sont nécessaires. Le contenu
		    des	 membres  des  structures  de  la  liste  chaînée  est
		    indéfini sauf pour fts_name et fts_namelen.

   fts_set()
       La  fonction  fts_set() permet à l'application de paramétrer le traite-
       ment à venir du fichier f sur la hiérarchie ftsp. La fonction fts_set()
       renvoie	0 si elle réussit, et -1 si une erreur se produit. Option doit
       contenir l'une des valeurs suivantes :

       FTS_AGAIN    Revisiter à nouveau le fichier.  N'importe	quel  type  de
		    fichier  peut être revisité. L'appel suivant de fts_read()
		    renverra le	 fichier  indiqué.  Les	 membres  fts_stat  et
		    fts_info de la structure seront réinitialisés à ce moment,
		    mais aucun autre champ ne sera modifié. Cette  option  n'a
		    de	 sens	que   pour  le	dernier	 fichier  renvoyé  par
		    fts_read(). L'utilisation habituelle de cette  possibilité
		    concerne les répertoires en phase « post-order », qui sont
		    alors ré-examinés (aussi bien en phase  « pre-order »  que
		    «post-order »), ainsi que leurs descendants.

       FTS_FOLLOW   Le	fichier	 référencé doit être un lien symbolique. Si ce
		    fichier est	 le  dernier  renvoyé  par  fts_read(),	 alors
		    l'appel  suivant  de  fts_read() renverra le fichier, avec
		    les	 champs	 fts_info  et  fts_statp  réinitialisés	  pour
		    représenter la cible du lien symbolique plutôt que le lien
		    lui-même.  Si  le  fichier	est  le	 dernier  renvoyé  par
		    fts_children(), alors les membres fts_info et fts_statp de
		    la structure, lorsqu'elle sera  renvoyée  par  fts_read(),
		    représenteront  la	cible du lien symbolique plutôt que le
		    lien lui-même. Dans tous les cas, si la cible du lien sym-
		    bolique  n'existe  pas,  les  membres  de  la structure ne
		    seront pas	modifiés,  et  le  champ  fts_info  contiendra
		    FTS_SLNONE.

		    Si la cible du lien est un répertoire, il y aura un retour
		    « pre-order », suivi d'un retour pour  chaque  descendant,
		    suivi d'un retour « post-order».

       FTS_SKIP	    Aucun  descendant de ce fichier ne sera visité. Le fichier
		    doit  être	le  dernier  renvoyé  par  fts_children()   ou
		    fts_read().

   fts_close()
       La  fonction  fts_close()  ferme	 un  descripteur ftsp de hiérarchie de
       fichier, et restitue le répertoire de travail qui était en vigueur lors
       de  l'appel  fts_open()	qui  avait  permit  d'ouvrir ftsp. La fonction
       fts_close() renvoie 0 si elle réussit, et -1 en cas d'erreur.

ERREURS
       La fonction fts_open() peut échouer, et mettre  dans  errno  l'une  des
       erreurs indiquées pour les fonctions open(2) et malloc(3).

       La  fonction  fts_close()  peut échouer, et mettre dans errno l'une des
       erreurs indiquées pour les fonctions chdir(2) et close(2).

       Les fonctions fts_read() et fts_children() peuvent échouer,  et	mettre
       dans  errno  l'une  des	erreurs indiquées pour les fonctions chdir(2),
       malloc(3), opendir(3), readdir(3) et stat(2).

       De plus fts_children(), fts_open() et  fts_set()	 peuvent  échouer,  et
       mettre dans errno l'une des erreurs suivantes :

       EINVAL Les options ne sont pas valables.

VERSIONS
       Ces fonctions sont disponibles sous Linux depuis la glibc2.

CONFORMITÉ
       4.4BSD.

VOIR AUSSI
       find(1), chdir(2), stat(2), ftw(3), qsort(3)

COLOPHON
       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies   peuvent  être  trouvées  à  l'adresse  .

TRADUCTION
       Depuis 2010, cette traduction est maintenue à l'aide  de	 l'outil  po4a
          par   l'équipe   de   traduction
       francophone	 au	  sein	      du	projet	      perkamon
       .

       Christophe  Blaess   (1996-2003),
       Alain Portal   (2003-2006).   Florentin
       Duneau et l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez	 signaler  toute  erreur  de  traduction en écrivant à .

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « LC_ALL=C man 
». Linux 28 décembre 2007 FTS(3)

 


www.eurower.info