Add API and utility files provided in email:

All at all, I finished the work on API documentation and very simple
implementation of open-source version of utilities.

The API documentation is written in the same style as common SCSI
specifications but English may be imperfect. There is not so much
undiscovered secrets here, although there are some.

Anyone should be able use such documentation to create own
implementation of utilities, either compatible with original WD
utilities or not.

I attached preliminary implementation of such utility as well. The code
has nothing to do with safe nor reliable programming. Edge cases nor
return codes of function calls are properly checked, input is not fully
sanitized ... but it work. It should be considered as example
implementation only.

It can arm and disarm protection, unlock, change password, can change
encryption key including simultaneous change of encryption algorithm. In
advance it can dump current device configuration and content of handy
store blocks.

Although it is written in portability in the mind, it can be compiled on
FreeBSD only now. To be compilable on particular Linux's distribution,
few thinks need to be done -

1. implementation of sha256 digest function (available on FreeBSD's base
system, I don't know about free implementation on Linux distributions)

2. SCSI interface communications (function for sending particular SCSI
CDB and data, initialization and cleanup of interface)

Although I expect no further development of documentation nor program
code from my side I wish that possible followers will not change it's
free licenses to some more restricted one (like GPL) with no substantial
reason. But it's up to particular programmer decision, of course ...

Although no active development can be expected from my side, I'm ready
to answer question if someone interested to ask something related to the
code or documentation.

Note that some command have slightly different syntax that I described
in some of my previous command. For example CHANGE ENCRYPTION
PASSPHRASE(10) command. In such case, the description in the file
attached here is more correct than older versions as I tested all
commands described in documentation on real device (older description in
email has been based on reverse engineering only).

Commands has been tested on
WD My Passport Essentials (VID=0x1058 PID=0x0740 FW version 1.022)
and
WD My Passport (VID=0x1058 PID=0x0748 FW version 1.022)
Update Readme with source of new files.