#include <stdio.h>
#include <sys/types.h>
#include <errno.h>
#include <dirent.h>

int main(int argc, char * argv[]) {
    DIR * dip;
    struct dirent * dit;
    int files = 0;
    if (argc!=2) {
        printf ("Usage: myLs dirname\n");
        return (-1); }
    if ((dip = opendir (argv[1]))==NULL) {
        printf("Error Number : %d\n", errno); 
        perror("Error Description"); 
        return (-2); } 
    printf ("List of contents of directory %s\n", argv[1]);
    while ((dit = readdir(dip))!=NULL) {
            files++;
            printf("%s\n", dit->d_name); }
   printf ("Directory %s contains %d file(s)\n", argv[1], files);
   return (0); }
   
   
