close
</para></listitem>
<listitem><para>
-seek
+lseek
</para></listitem>
<listitem><para>
ioctl
</para>
</foil>
+<foil>
+<title>lseek</title>
+<para>
+The lseek system call changes the current position of the file, allowing
+to read or write in that position. Seeking on a device may have many
+different meanings.
+</para>
+<para>
+off\_t lseek (int fd, off\_t pos, int whence);
+</para>
+<para>
+The meaning of the position depends on the value of whence, which can be
+SEEK\_SET (the absolute position), SEEK\_CUR (relative to the current
+position), SEEK\_END (relative to the end of the file).
+</para>
+<para>
+Example:
+</para>
+<para>
+lseek (fd, 0, SEEK\_END);
+</para>
+</foil>
+
+<foil>
+<title>ioctl</title>
+<para>
+The ioctl system call is a catch-all operation. For those operations
+which doesn't fit in the read/write model, the ioctl allows the user to
+send a command with an optional argument to the device. This command may
+accept input or generate output.
+</para>
+<para>
+int ioctl (int fd, int request, char *arg);
+</para>
+<para>
+The last argument is optional and depends on the type of request. Every
+device or device class may have its different set of ioctl's.
+</para>
+<para>
+Example:
+</para>
+<para>
+struct ifreq req; ioctl (fd, SIOCGIFFLAGS, \&req);
+</para>
+</foil>
+
</slides>