1al_for_each_fs_entry(3)                                al_for_each_fs_entry(3)
2
3
4

NAME

6       al_for_each_fs_entry - Allegro 5 API
7

SYNOPSIS

9              #include <allegro5/allegro.h>
10
11              int al_for_each_fs_entry(ALLEGRO_FS_ENTRY *dir,
12                                       int (*callback)(ALLEGRO_FS_ENTRY *dir, void *extra),
13                                       void *extra)
14

DESCRIPTION

16       This function takes the ALLEGRO_FS_ENTRY(3) dir, which should represent
17       a directory, and looks for any other file system entries  that  are  in
18       it.   This  function will then call the callback function callback once
19       for every filesystem entry in the directory dir.
20
21       The   callback   callback   must   be   of   type    int callback(ALLE‐
22       GRO_FS_ENTRY * entry, void * extra).   The callback will be called with
23       a pointer to an ALLEGRO_FS_ENTRY(3) that matches one file or  directory
24       in   dir,   and   the   pointer   passed  in  the  extra  parameter  to
25       al_for_each_fs_entry(3).
26
27       When   callback   returns   ALLEGRO_FOR_EACH_FS_ENTRY_STOP   or   ALLE‐
28       GRO_FOR_EACH_FS_ENTRY_ERROR,   iteration   will  stop  immediately  and
29       al_for_each_fs_entry(3) will return the value the callback returned.
30
31       When callback returns ALLEGRO_FOR_EACH_FS_ENTRY_OK iteration will  con‐
32       tinue normally, and if the ALLEGRO_FS_ENTRY(3) parameter of callback is
33       a directory, al_for_each_fs_entry(3) will call itself  on  that  direc‐
34       tory.   Therefore the function will recusively descend into that direc‐
35       tory.
36
37       However, when callback returns ALLEGRO_FOR_EACH_FS_ENTRY_SKIP iteration
38       will  continue,  but  al_for_each_fs_entry(3) will NOT recurse into the
39       ALLEGRO_FS_ENTRY(3) parameter of callback even if it is a directory.
40
41       This function will skip any files or directories named .  or  ..  which
42       may exist on certain platforms and may signify the current and the par‐
43       ent directory.  The callback will not be called for files  or  directo‐
44       ries with such a name.
45
46       Returns    ALLEGRO_FOR_EACH_FS_ENTRY_OK    if   sucessful,   or   ALLE‐
47       GRO_FOR_EACH_FS_ENTRY_ERROR if something went wrong in  processing  the
48       directory.   In  that  case it will use al_set_errno(3) to indicate the
49       type  of  error  which   occurred.    This   function   returns   ALLE‐
50       GRO_FOR_EACH_FS_ENTRY_STOP  in  case  iteration  was  stopped by making
51       callback return that value.  In this case, al_set_errno(3) will not  be
52       used.
53

SEE ALSO

55       ALLEGRO_FOR_EACH_FS_ENTRY_RESULT(3)
56

SINCE

58       5.1.9
59
60
61
62Allegro reference manual                               al_for_each_fs_entry(3)
Impressum