[ENBD] Re: [Ltsp-discuss] ENBD with removable media

Peter T. Breuer enbd@lists.community.tummy.com
Fri, 1 Feb 2002 14:55:05 +0100 (MET)


"David Johnston wrote:"
> [ptb wrote]
> > Anyone willing to explain VAT to an american :-)?

> I'll give it a shot.  VAT ("Value Added Tax") is ensentially a sales tax
> levied every time something changes hands; there is no exception for
> wholesalers as there is in the US.  However, once a wholesaler *actually
> resells it*, I beleive he can file to have the taxes returned to him;
> this takes months.  In short, sales taxes get collected up front and any
> refunds take forever.  

Yes, I guess so. It's all done by businesses, though, so I don't have
much practical experience with it (I don't run a business). The idea
is that the tax is only paid once on the item - I'm not sure how the
sell/resell chain deals with it. If you say "everybody pays and
everybody gets repaid at the end of the year", I'm willing to believe
you, but I would have thought there was some internal mechanism in the
chain. Business always want to know (and have) a "VAT number", so I
guess they can interchange numbers instead of money for the VAT. Or
something.

> When you go to a store, they are required to list the price with all
> taxes included, so if the tag says $1, you pay $1, not $1.07 like you do
> here.  This makes it much easier to hide just how high the taxes are. 
> When I was in Barcelona, I seem to remember that VAT was 0% on food, 22%
> on "luxury items" like business suits, and 18% on everything else.

> Peter, did I get it right?

Pretty much. I believe VAT is 17%, approximately. I didn't know food
was zero-rated. Some things are.

==

On the "remote ioctls" stuff, I've pretty much got the code path
working at least for ioctls of one argument - it'll be in a 2.4.27pre
that I'll upload later today. 

If somebody interested could make a list of "relevant ioctls and their
_real_ args" in the floppy and cdrom drivers, I would be grateful for
the time saver. Often the arg is an indirection, and I need to know.
Also need to know if it's r/w.

The convention in linux is that ioctls are declared as _IO or _IOW or
_IOR according to the direction. The numerical id declared is hashed
with the size of the declared args, so one ends up with an ioctl
that has 2bits direction, 14bits argsize, 16bits original id 
washing around the kernel.

Unfortunately, if the arg is char*, it'll be noted as size 4, whereas
it might be a pointer to an array of 1024 chars. I need to know about
stuff like that and add an indirection indicator to the front two bits.

Peter