Your program should take from the command line some (optional) options, and a list of file names: myls [options] [filenames] It should list all the files whose names are given, or if none are given it should list the entire contents of the current directory. It is an error that should be reported if a given filename does not exist. Files should be listed in alphabetical order. If any of the files are directories, print (D) after their name. The options request that additional information is also printed for each file: Option Additional Information to Display ------ --------------------------------- -s the size of the file -o the owner of the file -i the I-node number of the file -p the protections (mode) of the file, in the familiar rwxrwxrwx format -m the time & date of the file's last modification -c the time & date of the file's creation So for example myls -sop will list every file in the current directory, along with its size, owner, and protections.