Hello,

On Thu, Jun 7, 2012 at 10:24 PM, Peter Marschall <pe...@adpm.de> wrote:
> Here they are:
> * What's the exact difference between WRITE BINARY & UPDATE BINARY?
>  My understanding of the spec is that WRITE BINARY can extend a file's size,
>  while UPDATE BINARY can only update data elements that are already within
>  the file (i.e. in the range [0 .. file_size-1]).
>  Is my understanding correct or did I misunderstand the specscompletely?
AFAIU either can change file size (which can be done though 7816-9).
UPDATE will *set* the bits as given in the command, whereas WRITE can
allow some bit-fiddling.

Why the question? If there would be a card that implements both, I
think you would want to use UPDATE, at least in the context of OpenSC,
unless it is *not* supported and WRITE is supported.

What exactly is the context?

> * Is it to be considered an error if UPDATE BINARY
>   a) uses an idx >= existing_file_size ?
Probably. '6B00' (offset outside the EF)
>   b) wants to update 0 data elements (i.e. count = 0) ?
IMHO should not, but implementations might vary, of course.
>   c) idx + count >= existing_file_size?
Probably. '6B00' (offset outside the EF)


> * Similar for ERASE BINARY
>   a) Can it set data elements to logical erased state beyond the file size?
>        i.e. idx + count >= existing_file_size
>   b) Is it an error to erase 0 data alements
>       i.e. count = 0
>   c) If idx + count >= file_size, does the file get zapped (=shortened)
>       to idx data elements?
Ditto.

Martin
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to