</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>