-use-the-force-luke=value

* tty
  overwrite media non-interactively.

* dummy
  Engage DVD-R[W] dummy mode, in which the drive will perform all
  the writing steps, but with the laser turned off (thus, not burning
  any media at all).

* dao[:size]
  use non-iso images in DAO mode (`size' should be expressed in 2KB multiples).

* seek:N
  for use with -Z /dev/dvd=image to use 'builtin_dd if=image of=/dev/dvd obs=32k seek=N/16',
  where N is a multiple of 2KB.
  
* tracksize:size
  Option for use with burning programs (like K3B).

* wrvfy
  Issues a `WRITE AND VERIFY(10)' command to the drive.

* 4gms
  Allows ISO9660 directory structures to be bigger than 4GB.  The
  kernel where the media is to be read should support large
  files.  This is useful for writing media like Dual Layer DVD+R's.

* break:size
  Allows the user to specify where the midpoint (Layer Break position) should be for
  writing Double Layer media.

* notray
  

* noload
  Don't close the disc tray.

* noopc
  Don't perform optical calibration of the drive/disc. The media may be poorly
  written, depending on its quality and environment of the drive.

* spare[:none|min]
  Controls blank BD pre-format---for finer control use dvd+rw-format

                    if (strstr(s,"tty"))        no_tty_check = 1;
                    if (strstr(s,"dummy"))      test_write   = 1;
                    if (strstr(s,"notray"))     no_reload    = 1;
                    if (strstr(s,"noload"))     no_reload    = -1;
                    if (strstr(s,"wrvfy"))      wrvfy        = 1;
                    if (strstr(s,"4gms"))       no_4gb_check = 1;
                    if (strstr(s,"noopc"))      no_opc       = 1;
                    if (strstr(s,"moi"))
 
                   if ((o=strstr(s,"dao")))
                    {   dvd_compat  += 256;
                        /*  vvvvvvvvvvv tracksize option takes precedence! */
                        if (dao_size==0 && (o[3]==':' || o[3]=='='))
                        {   dao_size=strtol(o+4,0,0);
                            if (dao_size<=0)
                                fprintf (stderr,":-( insane dao%c%d option\n",
                                                o[3],dao_size),
                                exit(FATAL_START(EINVAL));
                        }
                    }
                    if ((o=strstr(s,"tracksize")))
                    {   if (o[9]==':' || o[9]=='=')
                        {   dao_size=strtol(o+10,0,0);
                            if (dao_size<=0)
                                fprintf (stderr,":-( insane tracksize%c%d option\n",
                                                o[9],dao_size),
                                exit(FATAL_START(EINVAL));
                        }
                    }

                    if ((o=strstr(s,"break")))
                    {   if (o[5]==':' || o[5]=='=')
                        {   layer_break=strtol(o+6,0,0);
                            if (layer_break<=0 || layer_break%16)
                                fprintf (stderr,":-( insane break%c%d option\n",
                                                o[5],layer_break),
                                exit(FATAL_START(EINVAL));
                        }

                    if ((o=strstr(s,"seek")) && next_session<0)
                    {   if (o[4]==':' || o[4]=='=')
                        {   next_session=strtol(o+5,0,0);
                            if (next_session<0 || next_session%16)
                                fprintf (stderr,":-( insane seek%c%d option\n",
                                                o[4],next_session),
                                exit(FATAL_START(EINVAL));
                        }
                    }
                    if ((o=strstr(s,"bufsize")))
                    {   if (o[7]==':' || o[7]=='=')
                        {   the_buffer_size=strtol(o+8,&o,0);
                            if (*o=='M' || *o=='m')
                                the_buffer_size*=1024*1024;
                            else if (*o=='K' || *o=='k')
                                the_buffer_size*=1024;
                        }
                    }

                   if ((o=strstr(s,"spare")))
                    {   spare=1;
                        if (o[5]==':' || o[5]=='=')
                        {   if      (!strncmp(o+6,"none",4))    spare=-1;
                            else if (!strncmp(o+6,"min",3))     spare=0;
                        }
                    }

