SIS3100_SETVMESPACE:

struct vmespace {
    int32_t am;        /* address modifier */
    u_int32_t datasize;/* datasize in bytes (?) */
    int swap;          /* 1: swap words 0: don't swap -1: not changed */
    int mapit;         /* not used */
    ssize_t mindmalen; /*
                            0: never use DMA;
                            1: always use DMA;
                           -1: not changed
                           >0: use DMA if size > mindmalen
                       */
};


SIS3100_VME_PROBE (u_int32_t addr):
    performes a VME read with default parameters (set via SETVMESPACE) at
    address addr.
  return values:
    ENXIO: remote device not present/remote device is not VME
    EIO:   address not accessible (probably bus error)

SIS3100_VME_READ (struct sis1100_vme_req req)
    performes a VME read with parameters defined by req.
  return values:
    ENXIO: remote device not present/remote device is not VME
  returned structure:
    error: errorcode from remote (or local) interface
    data: if (error==0) 
            value red
          else
            undefined

SIS3100_VME_WRITE (struct sis1100_vme_req req)
    performes a VME write with parameters defined by req.
  return values:
    ENXIO: remote device not present/remote device is not VME
  returned structure:
    error: errorcode from remote (or local) interface

case SIS3100_WRITE_PIPE (struct sis1100_writepipe)
     performes several VME writes in a pipeline
   return values:
     EINVAL: list too long (96 entries are allowed)
     ENXIO:  remote device not present/remote device is not VME
     EFAULT: *data is not accessible
