Something like this ?
Code:
if(access(file_name, F_OK))
/* file does not exist */
if(access(file_name, R_OK))
/* No read permission */
if(!(file_pointer=fopen(file_name, "r")))
/* Unable to open file */
if(feof(file_pointer))
/* file is empty */
while(!feof(file_pointer))
{
if(!fread(buffer, sizeof(buffer), 1, file_pointer))
/* premature end of file */
if(!valid(buffer))
/* illformed or unexpected data */
}