FIOPOLLWORD
-----------

A new ioctl operation on sockets, FIOPOLLWORD, has been added to provide
applications with the ability to set a pollword within shared workspace (for
example the module area). This operation allows multitasking clients such
as those using the Wimp to be polled when events occur on such sockets.

FIOPOLLWORD is defined as _IOW('f', 120, int[2]) which has a value of
&80086678.

The data passed to FIOPOLLWORD consisits of two 32bit values, the first of
which is the pointer to the word aligned pollword to enable pollword usage,
or 0 to disable pollword usage. The pollword should be in shared workspace
such as the module area. The second value is a bit to set within the word
pointed to and should be a value between 0 and 31 inclusive.

Usually this would be used in the form :

  struct {
    unsigned long *pollword;
    int bit_number;
  } pwstruct;
  
  pwstruct.pollword = pollword_in_rma;
  pwstruct.bit_number = 0;

  if (ioctl(socket, FIOPOLLWORD, &pwstruct))
  {
    /* Fault pollword operation, or fallback to simpler methods */
  }
