#include #include #include #include #include int main() { struct stat buf; int rc = stat( "/bin/ls", &buf ); printf( "%d\n", rc ); if ( S_ISREG( buf.st_mode ) ) /* || S_ISLNK() */ { printf( "Regular file detected\n" ); printf( "%o\n", buf.st_mode & ( S_IRWXU | S_IRWXG | S_IRWXO ) ); if ( buf.st_mode & ( S_IXUSR | S_IXGRP | S_IXOTH ) ) { printf( "Looks executable to me\n" ); /* exec() */ } } return 0; }