Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
for_each_file_ex(3)		Allegro	manual		   for_each_file_ex(3)

       for_each_file_ex	 -  Executes callback()	for each file matching a wild-
       card. Allegro game programming library.

       #include	<allegro.h>

       int for_each_file_ex(const char *name, int in_attrib,  int  out_attrib,
       int  (*callback)(const  char  *filename,	int attrib, void *param), void

       Finds all the files on disk which match the given  wildcard  specifica-
       tion  and file attributes, and executes callback() once for each. Basi-
       cally, this is a	convenient  wrapper  around  al_findfirst(),  al_find-
       next()  and al_findclose(). `in_attrib' is a bitmask specifying the at-
       tributes	the files must carry, `out_attrib' is a	bitmask	specifying the
       attributes the files must not carry; attributes which are not specified
       in either bitmasks are not taken	 into  account	for  deciding  whether
       callback() is invoked or	not.

       The  callback  function	will be	passed three arguments:	the first is a
       string which contains the completed filename (exactly the  same	string
       you  passed to for_each_file_ex() but with meta characters), the	second
       is the actual attributes	of the file, and the third is a	 void  pointer
       which  is  simply  a copy of `param' (you can use this for whatever you
       like). The callback must	return zero to let the enumeration proceed, or
       any  non-zero value to stop it. If an error occurs, the error code will
       be stored in `errno' but	the enumeration	won't stop. Example:

	  int show_name(const char *filename, int attrib, void *param)
	     allegro_message("Caught `%s', attribs %d\n",
			     filename, attrib);
	     return 0;
	     count = for_each_file_ex("data/level*", FA_DIREC,
				      0, show_name, 0);
	     allegro_message("%d game directories\n", count);

       Returns the number of successful	calls made to callback(), that is, the
       number of times callback() was called and returned 0.

       al_findfirst(3),	al_findnext(3),	al_findclose(3)

Allegro				 version 4.4.3		   for_each_file_ex(3)


Want to link to this manual page? Use this URL:

home | help