User level file access
Typical user level types and code:
- pathnames: “/myfile”
- file descriptors: fd = open(“/myfile”…)
- attributes in struct stat: stat(“/myfile”, &mybuf), chmod, chown...
- offsets: write, read, lseek
- directory handles: DIR *dh = opendir(“/mydir”)
- directory entries: struct dirent *ent = readdir(dh)