pruebe con la libreria dir.h..
no se si funciona bajo linux, lo cierto es que tanto en linux , como en windows, y como en cualquier otro.. una carpeta siempre sera un archivo, pero con un atributo diferente...
, si hay muchos problemas para encontrar una libreria que maneja carpetas bajo linux, simplemente utiliza el comando system, para invocar los comandos de sistema de linux, pero desde c.
JuanK:lightsabre: