bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interface for SCSI transactions ?


From: Thomas Schmitt
Subject: Re: Interface for SCSI transactions ?
Date: Fri, 09 Sep 2011 12:08:39 +0200

Hi,

> It's actually very simple to define an RPC, it essentially looks
> like a C function declaration, see ./include/device/device.defs
> for the device_set_status RPC declaration for instance.

Ahum ... i will have to design such a prototype.

> routine device_set_status(
>                 device          : device_t;
>         in      flavor          : dev_flavor_t;
>         in      status          : dev_status_t
>         );      

This gives me new questions.

Language:
Why no "in" or "out" before parameter "device" ?
How to say "in and out" ?
Can you give me an URL where the language is documented ?

Wiring:
I still need to find out how to get the Scsi_Device parameter of 
  gnumach/linux/src/drivers/scsi/scsi_ioctl.c:
  int scsi_ioctl_send_command(Scsi_Device *dev, void *buffer)
from
  device_t

Naming conventions:
How to name the function ?  device_transact_scsi() ?


> What is
> a bit more involved will be to add the method to the
> device_emulation_ops structure, and the ds_device_foo routine in
> device/ds_routines.c just like the ds_device_set_status() one.

I found the struct definition in gnumach/device/device_emul.h .
There i read
  /* Each emulation layer provides these operations.  */

Does that mean, that all instances of struct device_emulation_ops
have to be augmented by a function pointer ?
I see 7 of them by
  grep -r 'struct device_emulation_ops .* =' gnumach | less
(ignoring gnumach/device/ds_routines.c:emulation_list)


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]