Joshua
I’d loved computers for a long time, ever since I was introduced to them in grade school. Classrooms had old Macs in them where you could do dot-matrix printing and play Oregon Trail. We used them to draw and to learn. I stayed fascinated for years, but it was one day when I was 12 years old that my neighbor friend told me they got the internet. I had heard about the internet, that it connected you to information and that you could find pages about anything you could think of. I called him up and asked if I could come over. When I got there we ran straight upstairs to the office and sat down. He connected and the modem made all its weird sounds and then he opened up Netscape and I watched the first webpage load in slowly. Yahoo. There was the funny logo with the exclamation point. The list of blue links. There were categories for all kinds of things. We spent the next 4 hours clicking from category to category and from page to page, seeing what kinds of wild sites we could find. That evening I started my campaign of annoying my parents to death to get a computer for our home and it had to be one that could connect to the internet.
Daniela
I was fourth grade and received an assignment to write a paper on our national poet. Until then there was quite a rule on only using books and going to the almost inexistent library for school work. A classmate who made a comprehensive paper told me she found the info on Google. So I go home and tell my parents to let me use the internet for school It was frustrating because it is about a Romanian poet, and the information is scarce so it was hard to find what I was looking for. Furthermore, I always found the modem to be incredibly unaesthetic. I never shared that thought though because I thought the benefit of having internet access outweighed the visual handicap. I considerably improved my English by reading tech and science articles on Yahoo starting with the age of 10-11. I read more than a handful a day and remember at that time I wanted to design devices myself.
Oliva
I don’t remember any remarkable first interactions with the web, but I remember a time in my childhood where it was all about Bluetooth. We exchanged ringtones, cool background pictures, etc. I always got so frustrated when my Bluetooth didn’t work, which was almost always. But I got such joy when it worked and I could use this new ringtone as my own as well or the new background wallpaper or just listen to the song that I received. This feeling of being able to share something with your friends was so amazing at the time. Most of the things I did on a computer were offline in the beginning as far as I can remember.
Alina
To be honest I don't remember the first time I used the internet because as I remember it always was there. Though, I remember some funny stories about how I was learning to understand what is it and how it works. So I am going to write about one of them. As I already mentioned, the Internet was existing since I was born, and when I was 5 years old I remember that my family had one super old computer, which looked like a big plastic box, and a more new version of computer, which was already quite flat. Everyone, of course, was using the new one because it was faster and better, and I, as the smallest person in the family was left to play with an old one. Apparently, the new computer was connected to the internet and I was observing my parents searching web, so I knew everything about how it looked inside and how to use it. Well, at least I thought that I knew everything. And one day, playing around the old computer I found the icon of Internet Explorer and I was sure that this icon means that I can access the internet. And being very excited about my discovery I decided to search for something. When I clicked on it nothing happened because the computer was not connected to any network but for a moment I thought that I broke something in the computer because I was thinking that you can install the "Internet" on your computer like all the other programs. I came to my parents with this story and they explained to me that the internet is not just one program.
What about me?
I'm not sure if this was the first time I interacted with the web but what I do remember was email using AOL. My brother and I were still really young (around 6) and we would draw a lot. My father lived in Switzerland while we were in Germany, so we often would fax our drawings. But that meant that my father always saw them in greyscale. Then we got an email account where we could scan and send our drawings to my father. He finally got to see them in color and we could respond to our "artwork". I remember being amazed by this and we were always very excited to check our email to see any comments (Mum always supervised us, she wasn't very trusting of the web!)


A web tool to process and analyze bacterial growth curve experimental data from 96-well Multi-phenotype Assay Plates (MAPs) or phenotype microarrays.
Upload your data to obtain predicted growth curve parameters and high resolution plots.
To cite:
Cuevas DA and Edwards RA. PMAnalyzer: a new web interface for bacterial growth curve analysis Bioinformatics 2017 btx084 (doi: 10.1093/bioinformatics/btx084)


Preparation time
overnight
Cooking time
over 2 hours
Serves
Serves 12
Dietary
This deliciously moist Welsh tea cake is a virtually fat-free alternative to traditional fruit cake.
Put the dried fruit, orange zest, mixed spice and honey into a large mixing bowl. Pour over the hot tea and stir to combine. Cover the bowl with cling film and leave to soak for 4-5 hours, or overnight.
Preheat the oven to 160C/325F/Gas 3. Lightly grease a 900g/2lb loaf tin with butter and line with baking paper.
Mix in the orange juice, beaten egg and the grated apple with the soaked fruit. Fold in the sifted flour until completely combined.
Spoon the mixture into the lined loaf tin and place into the oven on the middle shelf for 45 minutes.
Remove from the oven and cover the cake tightly with a double layer of foil to prevent the top from browning too much. Continue to bake for a further 1½ hours, or until a skewer inserted into the centre of the cake comes out clean.
Remove from the tin and transfer to a wire rack. Cover with a tea towel and set aside to cool completely.


|
CryptoAuthLib
Atmel CryptoAuthentication Library
|
Atmel Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch. More...
Go to the source code of this file.
Data Structures | |
| struct | ATCAPacket |
| an ATCA packet structure. This is a superset of the packet transmitted on the wire. It's also used as a buffer for receiving the response More... | |
Macros | |
| #define | ATCA_CMD_SIZE_MIN ((uint8_t)7) |
| minimum number of bytes in command (from count byte to second CRC byte) More... | |
| #define | ATCA_CMD_SIZE_MAX ((uint8_t)4 * 36 + 7) |
| maximum size of command packet (Verify) More... | |
| #define | CMD_STATUS_SUCCESS ((uint8_t)0x00) |
| status byte for success More... | |
| #define | CMD_STATUS_WAKEUP ((uint8_t)0x11) |
| status byte after wake-up More... | |
| #define | CMD_STATUS_BYTE_PARSE ((uint8_t)0x03) |
| command parse error More... | |
| #define | CMD_STATUS_BYTE_ECC ((uint8_t)0x05) |
| command ECC error More... | |
| #define | CMD_STATUS_BYTE_EXEC ((uint8_t)0x0F) |
| command execution error More... | |
| #define | CMD_STATUS_BYTE_COMM ((uint8_t)0xFF) |
| communication error More... | |
opcodes for ATATECC Commands | |
| #define | ATCA_CHECKMAC ((uint8_t)0x28) |
| CheckMac command op-code. More... | |
| #define | ATCA_DERIVE_KEY ((uint8_t)0x1C) |
| DeriveKey command op-code. More... | |
| #define | ATCA_INFO ((uint8_t)0x30) |
| Info command op-code. More... | |
| #define | ATCA_GENDIG ((uint8_t)0x15) |
| GenDig command op-code. More... | |
| #define | ATCA_GENKEY ((uint8_t)0x40) |
| GenKey command op-code. More... | |
| #define | ATCA_HMAC ((uint8_t)0x11) |
| HMAC command op-code. More... | |
| #define | ATCA_LOCK ((uint8_t)0x17) |
| Lock command op-code. More... | |
| #define | ATCA_MAC ((uint8_t)0x08) |
| MAC command op-code. More... | |
| #define | ATCA_NONCE ((uint8_t)0x16) |
| Nonce command op-code. More... | |
| #define | ATCA_PAUSE ((uint8_t)0x01) |
| Pause command op-code. More... | |
| #define | ATCA_PRIVWRITE ((uint8_t)0x46) |
| PrivWrite command op-code. More... | |
| #define | ATCA_RANDOM ((uint8_t)0x1B) |
| Random command op-code. More... | |
| #define | ATCA_READ ((uint8_t)0x02) |
| Read command op-code. More... | |
| #define | ATCA_SIGN ((uint8_t)0x41) |
| Sign command op-code. More... | |
| #define | ATCA_UPDATE_EXTRA ((uint8_t)0x20) |
| UpdateExtra command op-code. More... | |
| #define | ATCA_VERIFY ((uint8_t)0x45) |
| GenKey command op-code. More... | |
| #define | ATCA_WRITE ((uint8_t)0x12) |
| Write command op-code. More... | |
| #define | ATCA_ECDH ((uint8_t)0x43) |
| ECDH command op-code. More... | |
| #define | ATCA_COUNTER ((uint8_t)0x24) |
| Counter command op-code. More... | |
| #define | ATCA_SHA ((uint8_t)0x47) |
| SHA command op-code. More... | |
Definitions of Data and Packet Sizes | |
| #define | ATCA_BLOCK_SIZE (32) |
| size of a block More... | |
| #define | ATCA_WORD_SIZE (4) |
| size of a word More... | |
| #define | ATCA_PUB_KEY_PAD (4) |
| size of the public key pad More... | |
| #define | ATCA_SERIAL_NUM_SIZE (9) |
| number of bytes in the device serial number More... | |
| #define | ATCA_RSP_SIZE_VAL ((uint8_t)7) |
| size of response packet containing four bytes of data More... | |
| #define | ATCA_KEY_COUNT (16) |
| number of keys More... | |
| #define | ATCA_CONFIG_SIZE (128) |
| size of configuration zone More... | |
| #define | ATCA_SHA_CONFIG_SIZE (88) |
| size of configuration zone More... | |
| #define | ATCA_OTP_SIZE (64) |
| size of OTP zone More... | |
| #define | ATCA_DATA_SIZE (ATCA_KEY_COUNT * ATCA_KEY_SIZE) |
| size of data zone More... | |
| #define | ATCA_COUNT_SIZE ((uint8_t)1) |
| Number of bytes in the command packet Count. More... | |
| #define | ATCA_CRC_SIZE ((uint8_t)2) |
| Number of bytes in the command packet CRC. More... | |
| #define | ATCA_PACKET_OVERHEAD (ATCA_COUNT_SIZE + ATCA_CRC_SIZE) |
| Number of bytes in the command packet. More... | |
| #define | ATCA_PUB_KEY_SIZE (64) |
| size of a p256 public key More... | |
| #define | ATCA_PRIV_KEY_SIZE (32) |
| size of a p256 private key More... | |
| #define | ATCA_SIG_SIZE (64) |
| size of a p256 signature More... | |
| #define | ATCA_KEY_SIZE (32) |
| size of a symmetric SHA key More... | |
| #define | RSA2048_KEY_SIZE (256) |
| size of a RSA private key More... | |
| #define | ATCA_RSP_SIZE_MIN ((uint8_t)4) |
| minimum number of bytes in response More... | |
| #define | ATCA_RSP_SIZE_4 ((uint8_t)7) |
| size of response packet containing 4 bytes data More... | |
| #define | ATCA_RSP_SIZE_72 ((uint8_t)75) |
| size of response packet containing 64 bytes data More... | |
| #define | ATCA_RSP_SIZE_64 ((uint8_t)67) |
| size of response packet containing 64 bytes data More... | |
| #define | ATCA_RSP_SIZE_32 ((uint8_t)35) |
| size of response packet containing 32 bytes data More... | |
| #define | ATCA_RSP_SIZE_MAX ((uint8_t)75) |
| maximum size of response packet (GenKey and Verify command) More... | |
Definitions for Command Parameter Ranges | |
| #define | ATCA_KEY_ID_MAX ((uint8_t)15) |
| maximum value for key id More... | |
| #define | ATCA_OTP_BLOCK_MAX ((uint8_t)1) |
| maximum value for OTP block More... | |
Definitions for Indexes Common to All Commands | |
| #define | ATCA_COUNT_IDX (0) |
| command packet index for count More... | |
| #define | ATCA_OPCODE_IDX (1) |
| command packet index for op-code More... | |
| #define | ATCA_PARAM1_IDX (2) |
| command packet index for first parameter More... | |
| #define | ATCA_PARAM2_IDX (3) |
| command packet index for second parameter More... | |
| #define | ATCA_DATA_IDX (5) |
| command packet index for data load More... | |
| #define | ATCA_RSP_DATA_IDX (1) |
| buffer index of data in response More... | |
Definitions for Zone and Address Parameters | |
| #define | ATCA_ZONE_CONFIG ((uint8_t)0x00) |
| Configuration zone. More... | |
| #define | ATCA_ZONE_OTP ((uint8_t)0x01) |
| OTP (One Time Programming) zone. More... | |
| #define | ATCA_ZONE_DATA ((uint8_t)0x02) |
| Data zone. More... | |
| #define | ATCA_ZONE_MASK ((uint8_t)0x03) |
| Zone mask. More... | |
| #define | ATCA_ZONE_READWRITE_32 ((uint8_t)0x80) |
| Zone bit 7 set: Access 32 bytes, otherwise 4 bytes. More... | |
| #define | ATCA_ZONE_ACCESS_4 ((uint8_t)4) |
| Read or write 4 bytes. More... | |
| #define | ATCA_ZONE_ACCESS_32 ((uint8_t)32) |
| Read or write 32 bytes. More... | |
| #define | ATCA_ADDRESS_MASK_CONFIG (0x001F) |
| Address bits 5 to 7 are 0 for Configuration zone. More... | |
| #define | ATCA_ADDRESS_MASK_OTP (0x000F) |
| Address bits 4 to 7 are 0 for OTP zone. More... | |
| #define | ATCA_ADDRESS_MASK (0x007F) |
| Address bit 7 to 15 are always 0. More... | |
Definitions for ECC Key type | |
| #define | ATCA_B283_KEY_TYPE 0 |
| B283 NIST ECC key. More... | |
| #define | ATCA_K283_KEY_TYPE 1 |
| K283 NIST ECC key. More... | |
| #define | ATCA_P256_KEY_TYPE 4 |
| P256 NIST ECC key. More... | |
Definitions for the ECDH Command | |
| #define | ECDH_PREFIX_MODE ((uint8_t)0x00) |
| #define | ECDH_COUNT (71) |
| #define | ECDH_PUBKEYIN_SIZE (64) |
Definitions for the CheckMac Command | |
| #define | CHECKMAC_MODE_IDX ATCA_PARAM1_IDX |
| CheckMAC command index for mode. More... | |
| #define | CHECKMAC_KEYID_IDX ATCA_PARAM2_IDX |
| CheckMAC command index for key identifier. More... | |
| #define | CHECKMAC_CLIENT_CHALLENGE_IDX ATCA_DATA_IDX |
| CheckMAC command index for client challenge. More... | |
| #define | CHECKMAC_CLIENT_RESPONSE_IDX (37) |
| CheckMAC command index for client response. More... | |
| #define | CHECKMAC_DATA_IDX (69) |
| CheckMAC command index for other data. More... | |
| #define | CHECKMAC_COUNT (84) |
| CheckMAC command packet size. More... | |
| #define | CHECKMAC_MODE_CHALLENGE ((uint8_t)0x00) |
| CheckMAC mode 0: first SHA block from key id. More... | |
| #define | CHECKMAC_MODE_BLOCK2_TEMPKEY ((uint8_t)0x01) |
| CheckMAC mode bit 0: second SHA block from TempKey. More... | |
| #define | CHECKMAC_MODE_BLOCK1_TEMPKEY ((uint8_t)0x02) |
| CheckMAC mode bit 1: first SHA block from TempKey. More... | |
| #define | CHECKMAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04) |
| CheckMAC mode bit 2: match TempKey.SourceFlag. More... | |
| #define | CHECKMAC_MODE_INCLUDE_OTP_64 ((uint8_t)0x20) |
| CheckMAC mode bit 5: include first 64 OTP bits. More... | |
| #define | CHECKMAC_MODE_MASK ((uint8_t)0x27) |
| CheckMAC mode bits 3, 4, 6, and 7 are 0. More... | |
| #define | CHECKMAC_CLIENT_CHALLENGE_SIZE (32) |
| CheckMAC size of client challenge. More... | |
| #define | CHECKMAC_CLIENT_RESPONSE_SIZE (32) |
| CheckMAC size of client response. More... | |
| #define | CHECKMAC_OTHER_DATA_SIZE (13) |
| CheckMAC size of "other data". More... | |
| #define | CHECKMAC_CLIENT_COMMAND_SIZE (4) |
| CheckMAC size of client command header size inside "other data". More... | |
| #define | CHECKMAC_CMD_MATCH (0) |
| CheckMAC return value when there is a match. More... | |
| #define | CHECKMAC_CMD_MISMATCH (1) |
| CheckMAC return value when there is a mismatch. More... | |
Definitions for the DeriveKey Command | |
| #define | DERIVE_KEY_RANDOM_IDX ATCA_PARAM1_IDX |
| DeriveKey command index for random bit. More... | |
| #define | DERIVE_KEY_TARGETKEY_IDX ATCA_PARAM2_IDX |
| DeriveKey command index for target slot. More... | |
| #define | DERIVE_KEY_MAC_IDX ATCA_DATA_IDX |
| DeriveKey command index for optional MAC. More... | |
| #define | DERIVE_KEY_COUNT_SMALL ATCA_CMD_SIZE_MIN |
| DeriveKey command packet size without MAC. More... | |
| #define | DERIVE_KEY_COUNT_LARGE (39) |
| DeriveKey command packet size with MAC. More... | |
| #define | DERIVE_KEY_RANDOM_FLAG ((uint8_t)4) |
| DeriveKey 1. parameter; has to match TempKey.SourceFlag. More... | |
| #define | DERIVE_KEY_MAC_SIZE (32) |
| DeriveKey MAC size. More... | |
Definitions for the GenDig Command | |
| #define | GENDIG_ZONE_IDX ATCA_PARAM1_IDX |
| GenDig command index for zone. More... | |
| #define | GENDIG_KEYID_IDX ATCA_PARAM2_IDX |
| GenDig command index for key id. More... | |
| #define | GENDIG_DATA_IDX ATCA_DATA_IDX |
| GenDig command index for optional data. More... | |
| #define | GENDIG_COUNT ATCA_CMD_SIZE_MIN |
| GenDig command packet size without "other data". More... | |
| #define | GENDIG_COUNT_DATA (11) |
| GenDig command packet size with "other data". More... | |
| #define | GENDIG_OTHER_DATA_SIZE (32) |
| GenDig size of "other data". Is 4 bytes for SHA204, can be either 4 or 32 for ECC. More... | |
| #define | GENDIG_ZONE_CONFIG ((uint8_t)0) |
| GenDig zone id config. More... | |
| #define | GENDIG_ZONE_OTP ((uint8_t)1) |
| GenDig zone id OTP. More... | |
| #define | GENDIG_ZONE_DATA ((uint8_t)2) |
| GenDig zone id data. More... | |
Definitions for the HMAC Command | |
| #define | HMAC_MODE_IDX ATCA_PARAM1_IDX |
| HMAC command index for mode. More... | |
| #define | HMAC_KEYID_IDX ATCA_PARAM2_IDX |
| HMAC command index for key id. More... | |
| #define | HMAC_COUNT ATCA_CMD_SIZE_MIN |
| HMAC command packet size. More... | |
| #define | HMAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04) |
| HMAC mode bit 2: match TempKey.SourceFlag. More... | |
| #define | HMAC_MODE_MASK ((uint8_t)0x74) |
| HMAC mode bits 0, 1, 3, and 7 are 0. More... | |
Definitions for the Info Command | |
| #define | INFO_PARAM1_IDX ATCA_PARAM1_IDX |
| Info command index for 1. parameter. More... | |
| #define | INFO_PARAM2_IDX ATCA_PARAM2_IDX |
| Info command index for 2. parameter. More... | |
| #define | INFO_COUNT ATCA_CMD_SIZE_MIN |
| Info command packet size. More... | |
| #define | INFO_MODE_REVISION ((uint8_t)0x00) |
| Info mode Revision. More... | |
| #define | INFO_MODE_KEY_VALID ((uint8_t)0x01) |
| Info mode KeyValid. More... | |
| #define | INFO_MODE_STATE ((uint8_t)0x02) |
| Info mode State. More... | |
| #define | INFO_MODE_GPIO ((uint8_t)0x03) |
| Info mode GPIO. More... | |
| #define | INFO_MODE_MAX ((uint8_t)0x03) |
| Info mode maximum value. More... | |
| #define | INFO_NO_STATE ((uint8_t)0x00) |
| Info mode is not the state mode. More... | |
| #define | INFO_OUTPUT_STATE_MASK ((uint8_t)0x01) |
| Info output state mask. More... | |
| #define | INFO_DRIVER_STATE_MASK ((uint8_t)0x02) |
| Info driver state mask. More... | |
| #define | INFO_PARAM2_MAX ((uint8_t)0x03) |
| Info param2 (state) maximum value. More... | |
| #define | INFO_SIZE ((uint8_t)0x04) |
| Info param2 (state) maximum value. More... | |
Definitions for the Lock Command | |
| #define | LOCK_ZONE_IDX ATCA_PARAM1_IDX |
| Lock command index for zone. More... | |
| #define | LOCK_SUMMARY_IDX ATCA_PARAM2_IDX |
| Lock command index for summary. More... | |
| #define | LOCK_COUNT ATCA_CMD_SIZE_MIN |
| Lock command packet size. More... | |
| #define | LOCK_ZONE_CONFIG ((uint8_t)0x00) |
| Lock zone is Config. More... | |
| #define | LOCK_ZONE_DATA ((uint8_t)0x01) |
| Lock zone is OTP or Data. More... | |
| #define | LOCK_ZONE_DATA_SLOT ((uint8_t)0x02) |
| Lock slot of Data. More... | |
| #define | LOCK_ZONE_NO_CRC ((uint8_t)0x80) |
| Lock command: Ignore summary. More... | |
| #define | LOCK_ZONE_MASK (0xBF) |
| Lock parameter 1 bits 6 are 0. More... | |
Definitions for the MAC Command | |
| #define | MAC_MODE_IDX ATCA_PARAM1_IDX |
| MAC command index for mode. More... | |
| #define | MAC_KEYID_IDX ATCA_PARAM2_IDX |
| MAC command index for key id. More... | |
| #define | MAC_CHALLENGE_IDX ATCA_DATA_IDX |
| MAC command index for optional challenge. More... | |
| #define | MAC_COUNT_SHORT ATCA_CMD_SIZE_MIN |
| MAC command packet size without challenge. More... | |
| #define | MAC_COUNT_LONG (39) |
| MAC command packet size with challenge. More... | |
| #define | MAC_MODE_CHALLENGE ((uint8_t)0x00) |
| MAC mode 0: first SHA block from data slot. More... | |
| #define | MAC_MODE_BLOCK2_TEMPKEY ((uint8_t)0x01) |
| MAC mode bit 0: second SHA block from TempKey. More... | |
| #define | MAC_MODE_BLOCK1_TEMPKEY ((uint8_t)0x02) |
| MAC mode bit 1: first SHA block from TempKey. More... | |
| #define | MAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04) |
| MAC mode bit 2: match TempKey.SourceFlag. More... | |
| #define | MAC_MODE_PTNONCE_TEMPKEY ((uint8_t)0x06) |
| MAC mode bit 0: second SHA block from TempKey. More... | |
| #define | MAC_MODE_PASSTHROUGH ((uint8_t)0x07) |
| MAC mode bit 0-2: pass-through mode. More... | |
| #define | MAC_MODE_INCLUDE_OTP_88 ((uint8_t)0x10) |
| MAC mode bit 4: include first 88 OTP bits. More... | |
| #define | MAC_MODE_INCLUDE_OTP_64 ((uint8_t)0x20) |
| MAC mode bit 5: include first 64 OTP bits. More... | |
| #define | MAC_MODE_INCLUDE_SN ((uint8_t)0x40) |
| MAC mode bit 6: include serial number. More... | |
| #define | MAC_CHALLENGE_SIZE (32) |
| MAC size of challenge. More... | |
| #define | MAC_SIZE (32) |
| MAC size of response. More... | |
| #define | MAC_MODE_MASK ((uint8_t)0x77) |
| MAC mode bits 3 and 7 are 0. More... | |
Definitions for the Nonce Command | |
| #define | NONCE_MODE_IDX ATCA_PARAM1_IDX |
| Nonce command index for mode. More... | |
| #define | NONCE_PARAM2_IDX ATCA_PARAM2_IDX |
| Nonce command index for 2. parameter. More... | |
| #define | NONCE_INPUT_IDX ATCA_DATA_IDX |
| Nonce command index for input data. More... | |
| #define | NONCE_COUNT_SHORT (27) |
| Nonce command packet size for 20 bytes of data. More... | |
| #define | NONCE_COUNT_LONG (39) |
| Nonce command packet size for 32 bytes of data. More... | |
| #define | NONCE_MODE_MASK ((uint8_t)0x03) |
| Nonce mode bits 2 to 7 are 0. More... | |
| #define | NONCE_MODE_SEED_UPDATE ((uint8_t)0x00) |
| Nonce mode: update seed. More... | |
| #define | NONCE_MODE_NO_SEED_UPDATE ((uint8_t)0x01) |
| Nonce mode: do not update seed. More... | |
| #define | NONCE_MODE_INVALID ((uint8_t)0x02) |
| Nonce mode 2 is invalid. More... | |
| #define | NONCE_MODE_PASSTHROUGH ((uint8_t)0x03) |
| Nonce mode: pass-through. More... | |
| #define | NONCE_MODE_RANDOM_OUT ((uint16_t)0x0000) |
| Nonce mode: output RandOut or single byte of zero. More... | |
| #define | NONCE_MODE_TEMPKEY_OUT ((uint16_t)0x0080) |
| Nonce mode: output RandOut or single byte of zero. More... | |
| #define | NONCE_NUMIN_SIZE (20) |
| Nonce data length. More... | |
| #define | NONCE_NUMIN_SIZE_PASSTHROUGH (32) |
| Nonce data length in pass-through mode (mode = 3) More... | |
Definitions for the Pause Command | |
| #define | PAUSE_SELECT_IDX ATCA_PARAM1_IDX |
| Pause command index for Selector. More... | |
| #define | PAUSE_PARAM2_IDX ATCA_PARAM2_IDX |
| Pause command index for 2. parameter. More... | |
| #define | PAUSE_COUNT ATCA_CMD_SIZE_MIN |
| Pause command packet size. More... | |
Definitions for the PrivWrite Command | |
| #define | PRIVWRITE_ZONE_IDX ATCA_PARAM1_IDX |
| PrivWrite command index for zone. More... | |
| #define | PRIVWRITE_KEYID_IDX ATCA_PARAM2_IDX |
| PrivWrite command index for KeyID. More... | |
| #define | PRIVWRITE_VALUE_IDX ( 5) |
| PrivWrite command index for value. More... | |
| #define | PRIVWRITE_MAC_IDX (41) |
| PrivWrite command index for MAC. More... | |
| #define | PRIVWRITE_COUNT (75) |
| PrivWrite command packet size. More... | |
| #define | PRIVWRITE_ZONE_MASK ((uint8_t)0x40) |
| PrivWrite zone bits 0 to 5 and 7 are 0. More... | |
| #define | PRIVWRITE_MODE_ENCRYPT ((uint8_t)0x40) |
| PrivWrite mode: encrypted. More... | |
Definitions for the Random Command | |
| #define | RANDOM_MODE_IDX ATCA_PARAM1_IDX |
| Random command index for mode. More... | |
| #define | RANDOM_PARAM2_IDX ATCA_PARAM2_IDX |
| Random command index for 2. parameter. More... | |
| #define | RANDOM_COUNT ATCA_CMD_SIZE_MIN |
| Random command packet size. More... | |
| #define | RANDOM_SEED_UPDATE ((uint8_t)0x00) |
| Random mode for automatic seed update. More... | |
| #define | RANDOM_NO_SEED_UPDATE ((uint8_t)0x01) |
| Random mode for no seed update. More... | |
| #define | RANDOM_NUM_SIZE ((uint8_t)0x20) |
| Number of bytes in the data packet of a random command. More... | |
Definitions for the Read Command | |
| #define | READ_ZONE_IDX ATCA_PARAM1_IDX |
| Read command index for zone. More... | |
| #define | READ_ADDR_IDX ATCA_PARAM2_IDX |
| Read command index for address. More... | |
| #define | READ_COUNT ATCA_CMD_SIZE_MIN |
| Read command packet size. More... | |
| #define | READ_ZONE_MASK ((uint8_t)0x83) |
| Read zone bits 2 to 6 are 0. More... | |
Definitions for the Sign Command | |
| #define | SIGN_MODE_IDX ATCA_PARAM1_IDX |
| Sign command index for mode. More... | |
| #define | SIGN_KEYID_IDX ATCA_PARAM2_IDX |
| Sign command index for key id. More... | |
| #define | SIGN_COUNT ATCA_CMD_SIZE_MIN |
| Sign command packet size. More... | |
| #define | SIGN_MODE_MASK ((uint8_t)0xC0) |
| Sign mode bits 0 to 5 are 0. More... | |
| #define | SIGN_MODE_INTERNAL ((uint8_t)0x00) |
| Sign mode 0: internal. More... | |
| #define | SIGN_MODE_INCLUDE_SN ((uint8_t)0x40) |
| Sign mode bit 6: include serial number. More... | |
| #define | SIGN_MODE_EXTERNAL ((uint8_t)0x80) |
| Sign mode bit 7: external. More... | |
Definitions for the UpdateExtra Command | |
| #define | UPDATE_MODE_IDX ATCA_PARAM1_IDX |
| UpdateExtra command index for mode. More... | |
| #define | UPDATE_VALUE_IDX ATCA_PARAM2_IDX |
| UpdateExtra command index for new value. More... | |
| #define | UPDATE_COUNT ATCA_CMD_SIZE_MIN |
| UpdateExtra command packet size. More... | |
| #define | UPDATE_CONFIG_BYTE_85 ((uint8_t)0x01) |
| UpdateExtra mode: update Config byte 85. More... | |
Definitions for the Verify Command | |
| #define | VERIFY_MODE_IDX ATCA_PARAM1_IDX |
| Verify command index for mode. More... | |
| #define | VERIFY_KEYID_IDX ATCA_PARAM2_IDX |
| Verify command index for key id. More... | |
| #define | VERIFY_DATA_IDX ( 5) |
| Verify command index for data. More... | |
| #define | VERIFY_256_STORED_COUNT ( 71) |
| Verify command packet size for 256-bit key in stored mode. More... | |
| #define | VERIFY_283_STORED_COUNT ( 79) |
| Verify command packet size for 283-bit key in stored mode. More... | |
| #define | VERIFY_256_VALIDATE_COUNT ( 90) |
| Verify command packet size for 256-bit key in validate mode. More... | |
| #define | VERIFY_283_VALIDATE_COUNT ( 98) |
| Verify command packet size for 283-bit key in validate mode. More... | |
| #define | VERIFY_256_EXTERNAL_COUNT (135) |
| Verify command packet size for 256-bit key in external mode. More... | |
| #define | VERIFY_283_EXTERNAL_COUNT (151) |
| Verify command packet size for 283-bit key in external mode. More... | |
| #define | VERIFY_256_KEY_SIZE ( 64) |
| Verify key size for 256-bit key. More... | |
| #define | VERIFY_283_KEY_SIZE ( 72) |
| Verify key size for 283-bit key. More... | |
| #define | VERIFY_256_SIGNATURE_SIZE ( 64) |
| Verify signature size for 256-bit key. More... | |
| #define | VERIFY_283_SIGNATURE_SIZE ( 72) |
| Verify signature size for 283-bit key. More... | |
| #define | VERIFY_OTHER_DATA_SIZE ( 19) |
| Verify size of "other data". More... | |
| #define | VERIFY_MODE_MASK ((uint8_t)0x03) |
| Verify mode bits 2 to 7 are 0. More... | |
| #define | VERIFY_MODE_STORED ((uint8_t)0x00) |
| Verify mode: stored. More... | |
| #define | VERIFY_MODE_VALIDATEEXTERNAL ((uint8_t)0x01) |
| Verify mode: validate external. More... | |
| #define | VERIFY_MODE_EXTERNAL ((uint8_t)0x02) |
| Verify mode: external. More... | |
| #define | VERIFY_MODE_VALIDATE ((uint8_t)0x03) |
| Verify mode: validate. More... | |
| #define | VERIFY_MODE_INVALIDATE ((uint8_t)0x07) |
| Verify mode: invalidate. More... | |
| #define | VERIFY_KEY_B283 ((uint16_t)0x0000) |
| Verify key type: B283. More... | |
| #define | VERIFY_KEY_K283 ((uint16_t)0x0001) |
| Verify key type: K283. More... | |
| #define | VERIFY_KEY_P256 ((uint16_t)0x0004) |
| Verify key type: P256. More... | |
Definitions for the Write Command | |
| #define | WRITE_ZONE_IDX ATCA_PARAM1_IDX |
| Write command index for zone. More... | |
| #define | WRITE_ADDR_IDX ATCA_PARAM2_IDX |
| Write command index for address. More... | |
| #define | WRITE_VALUE_IDX ATCA_DATA_IDX |
| Write command index for data. More... | |
| #define | WRITE_MAC_VS_IDX ( 9) |
| Write command index for MAC following short data. More... | |
| #define | WRITE_MAC_VL_IDX (37) |
| Write command index for MAC following long data. More... | |
| #define | WRITE_COUNT_SHORT (11) |
| Write command packet size with short data and no MAC. More... | |
| #define | WRITE_COUNT_LONG (39) |
| Write command packet size with long data and no MAC. More... | |
| #define | WRITE_COUNT_SHORT_MAC (43) |
| Write command packet size with short data and MAC. More... | |
| #define | WRITE_COUNT_LONG_MAC (71) |
| Write command packet size with long data and MAC. More... | |
| #define | WRITE_MAC_SIZE (32) |
| Write MAC size. More... | |
| #define | WRITE_ZONE_MASK ((uint8_t)0xC3) |
| Write zone bits 2 to 5 are 0. More... | |
| #define | WRITE_ZONE_WITH_MAC ((uint8_t)0x40) |
| Write zone bit 6: write encrypted with MAC. More... | |
| #define | WRITE_ZONE_OTP ((uint8_t)1) |
| WRITE zone id OTP. More... | |
| #define | WRITE_ZONE_DATA ((uint8_t)2) |
| WRITE zone id data. More... | |
Response Size Definitions | |
| #define | CHECKMAC_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of DeriveKey command More... | |
| #define | DERIVE_KEY_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of DeriveKey command More... | |
| #define | GENDIG_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of GenDig command More... | |
| #define | GENKEY_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN |
| response size of GenKey command in Digest mode More... | |
| #define | GENKEY_RSP_SIZE_LONG ATCA_RSP_SIZE_72 |
| response size of GenKey command when generating key More... | |
| #define | HMAC_RSP_SIZE ATCA_RSP_SIZE_32 |
| response size of HMAC command More... | |
| #define | INFO_RSP_SIZE ATCA_RSP_SIZE_VAL |
| response size of Info command returns 4 bytes More... | |
| #define | LOCK_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of Lock command More... | |
| #define | MAC_RSP_SIZE ATCA_RSP_SIZE_32 |
| response size of MAC command More... | |
| #define | NONCE_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN |
| response size of Nonce command with mode[0:1] = 3 More... | |
| #define | NONCE_RSP_SIZE_LONG ATCA_RSP_SIZE_32 |
| response size of Nonce command More... | |
| #define | PAUSE_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of Pause command More... | |
| #define | PRIVWRITE_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of PrivWrite command More... | |
| #define | RANDOM_RSP_SIZE ATCA_RSP_SIZE_32 |
| response size of Random command More... | |
| #define | READ_4_RSP_SIZE ATCA_RSP_SIZE_VAL |
| response size of Read command when reading 4 bytes More... | |
| #define | READ_32_RSP_SIZE ATCA_RSP_SIZE_32 |
| response size of Read command when reading 32 bytes More... | |
| #define | SIGN_RSP_SIZE ATCA_RSP_SIZE_MAX |
| response size of Sign command More... | |
| #define | SHA_RSP_SIZE ATCA_RSP_SIZE_32 |
| response size of SHA command More... | |
| #define | UPDATE_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of UpdateExtra command More... | |
| #define | VERIFY_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of UpdateExtra command More... | |
| #define | WRITE_RSP_SIZE ATCA_RSP_SIZE_MIN |
| response size of Write command More... | |
| #define | ECDH_KEY_SIZE ATCA_BLOCK_SIZE |
| response size of ECDH command More... | |
| #define | ECDH_RSP_SIZE ATCA_RSP_SIZE_32 |
| response size of ECDH command More... | |
| #define | COUNTER_RSP_SIZE ATCA_RSP_SIZE_4 |
| response size of COUNTER command More... | |
| #define | SHA_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN |
| response size of SHA command More... | |
| #define | SHA_RSP_SIZE_LONG ATCA_RSP_SIZE_32 |
| response size of SHA command More... | |
Typedefs | |
| typedef struct atca_command * | ATCACommand |
Enumerations | |
| enum | ATCA_CmdMap { WAKE_TWHI, CMD_CHECKMAC, CMD_COUNTER, CMD_DERIVEKEY, CMD_ECDH, CMD_GENDIG, CMD_GENKEY, CMD_HMAC, CMD_INFO, CMD_LOCK, CMD_MAC, CMD_NONCE, CMD_PAUSE, CMD_PRIVWRITE, CMD_RANDOM, CMD_READMEM, CMD_SHA, CMD_SIGN, CMD_UPDATEEXTRA, CMD_VERIFY, CMD_WRITEMEM, CMD_LASTCOMMAND } |
Functions | |
| ATCACommand | newATCACommand (ATCADeviceType device_type) |
| constructor for ATCACommand More... | |
| ATCA_STATUS | atCheckMAC (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand CheckMAC method. More... | |
| ATCA_STATUS | atCounter (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Counter method. More... | |
| ATCA_STATUS | atDeriveKey (ATCACommand cacmd, ATCAPacket *packet, bool hasMAC) |
| ATCACommand DeriveKey method. More... | |
| ATCA_STATUS | atECDH (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand ECDH method. More... | |
| ATCA_STATUS | atGenDig (ATCACommand cacmd, ATCAPacket *packet, bool hasMACKey) |
| ATCACommand Generate Digest method. More... | |
| ATCA_STATUS | atGenKey (ATCACommand cacmd, ATCAPacket *packet, bool isPubKey) |
| ATCACommand Generate Key method. More... | |
| ATCA_STATUS | atHMAC (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand HMAC method. More... | |
| ATCA_STATUS | atInfo (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Info method. More... | |
| ATCA_STATUS | atLock (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Lock method. More... | |
| ATCA_STATUS | atMAC (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand MAC method. More... | |
| ATCA_STATUS | atNonce (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Nonce method. More... | |
| ATCA_STATUS | atPause (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Pause method. More... | |
| ATCA_STATUS | atPrivWrite (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand PrivWrite method. More... | |
| ATCA_STATUS | atRandom (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Random method. More... | |
| ATCA_STATUS | atRead (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Read method. More... | |
| ATCA_STATUS | atSHA (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand SHA method. More... | |
| ATCA_STATUS | atSign (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Sign method. More... | |
| ATCA_STATUS | atUpdateExtra (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand UpdateExtra method. More... | |
| ATCA_STATUS | atVerify (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand ECDSA Verify method. More... | |
| ATCA_STATUS | atWrite (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Write method. More... | |
| ATCA_STATUS | atWriteEnc (ATCACommand cacmd, ATCAPacket *packet) |
| ATCACommand Write encrypted method. More... | |
| bool | atIsSHAFamily (ATCADeviceType deviceType) |
| determines if a given device type is a SHA device or a superset of a SHA device More... | |
| bool | atIsECCFamily (ATCADeviceType deviceType) |
| determines if a given device type is an ECC device or a superset of a ECC device More... | |
| ATCA_STATUS | isATCAError (uint8_t *data) |
| checks for basic error frame in data More... | |
| ATCA_STATUS | atInitExecTimes (ATCACommand cacmd, ATCADeviceType device_type) |
| initialize the execution times for a given device type More... | |
| uint16_t | atGetExecTime (ATCACommand cacmd, ATCA_CmdMap cmd) |
| return the typical execution type for the given command More... | |
| void | deleteATCACommand (ATCACommand *) |
| ATCACommand destructor. More... | |
| void | atCRC (uint8_t length, uint8_t *data, uint8_t *crc) |
| This function calculates CRC given raw data, puts the CRC to given pointer. More... | |
| void | atCalcCrc (ATCAPacket *pkt) |
| This function calculates CRC and adds it to the correct offset in the packet data. More... | |
| uint8_t | atCheckCrc (uint8_t *response) |
| This function checks the consistency of a response. More... | |
Definitions for the COUNTER Command | |
| #define | COUNTER_COUNT ATCA_CMD_SIZE_MIN |
| #define | COUNTER_MODE_IDX ATCA_PARAM1_IDX |
| COUNTER command index for mode. More... | |
| #define | COUNTER_KEYID_IDX ATCA_PARAM2_IDX |
| COUNTER command index for key id. More... | |
| #define | COUNTER_CHALLENGE_IDX ATCA_DATA_IDX |
| COUNTER command index for optional challenge. More... | |
| #define | COUNTER_COUNT_LONG (70) |
| COUNTER command packet size without challenge. More... | |
| #define | COUNTER_MODE_MASK ((uint8_t)0x01) |
| COUNTER mode bits 1 to 7 are 0. More... | |
| enum | enum_counter_mode { COUNTER_MODE_READ = 0, COUNTER_MODE_INCREASE = 1 } |
Definitions for the SHA Command | |
| #define | SHA_COUNT_SHORT ATCA_CMD_SIZE_MIN |
| #define | SHA_COUNT_LONG (7) |
| #define | ATCA_SHA_DIGEST_SIZE (32) |
| #define | SHA_DATA_MAX (64) |
| #define | SHA_BLOCK_SIZE (64) |
| #define | SHA_SHA256_START_MASK ((uint8_t)0x00) |
| Initialization, does not accept a message. More... | |
| #define | SHA_SHA256_UPDATE_MASK ((uint8_t)0x01) |
| Add 64 bytes in the meesage to the SHA context. More... | |
| #define | SHA_SHA256_END_MASK ((uint8_t)0x02) |
| Complete the calculation and load the digest. More... | |
| #define | SHA_SHA256_PUBLIC_MASK ((uint8_t)0x03) |
| Add 64 bytes in the slot to the SHA context. More... | |
| #define | SHA_HMAC_START_MASK ((uint8_t)0x04) |
| Initialization. More... | |
| #define | SHA_HMAC_END_MASK ((uint8_t)0x05) |
| Complete the HMAC/SHA256 computation. More... | |
| enum | enum_sha_mode { SHA_MODE_SHA256_START = ((uint8_t) 0x00), SHA_MODE_SHA256_UPDATE = ((uint8_t) 0x01), SHA_MODE_SHA256_END = ((uint8_t) 0x02), SHA_MODE_SHA256_PUBLIC = ((uint8_t) 0x03), SHA_MODE_HMAC_START = ((uint8_t) 0x04), SHA_MODE_HMAC_UPDATE = ((uint8_t) 0x05), SHA_MODE_HMAC_END = ((uint8_t) 0x04) } |
Definitions for the GENKEY Command | |
| #define | GENKEY_MODE_IDX ATCA_PARAM1_IDX |
| GenKey command index for mode. More... | |
| #define | GENKEY_KEYID_IDX ATCA_PARAM2_IDX |
| GenKey command index for key id. More... | |
| #define | GENKEY_DATA_IDX (5) |
| GenKey command index for other data. More... | |
| #define | GENKEY_COUNT ATCA_CMD_SIZE_MIN |
| GenKey command packet size without "other data". More... | |
| #define | GENKEY_COUNT_DATA (10) |
| GenKey command packet size with "other data". More... | |
| #define | GENKEY_OTHER_DATA_SIZE (3) |
| GenKey size of "other data". More... | |
| #define | GENKEY_MODE_MASK ((uint8_t)0x1C) |
| GenKey mode bits 0 to 1 and 5 to 7 are 0. More... | |
| #define | GENKEY_MODE_PRIVATE ((uint8_t)0x04) |
| GenKey mode: private key generation. More... | |
| #define | GENKEY_MODE_PUBLIC ((uint8_t)0x00) |
| GenKey mode: public key calculation. More... | |
| #define | GENKEY_MODE_DIGEST ((uint8_t)0x10) |
| GenKey mode: digest calculation. More... | |
| #define | GENKEY_MODE_ADD_DIGEST ((uint8_t)0x08) |
| GenKey mode: additional digest calculation. More... | |
| enum | enum_genkey_mode { GENKEY_MODE_PRIVATE_KEY_GENERATE = ((uint8_t) 0x04), GENKEY_MODE_PUBLIC_KEY_DIGEST = ((uint8_t) 0x08), GENKEY_MODE_DIGEST_IN_TEMPKEY = ((uint8_t) 0x10) } |
Atmel Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch.
This command object supports the ATSHA and ATECC device family. The command list is a superset of all device commands for this family. The command object differentiates the packet contents based on specific device type within the family.
Copyright (c) 2015 Atmel Corporation. All rights reserved.
| #define ATCA_ADDRESS_MASK (0x007F) |
Address bit 7 to 15 are always 0.
| #define ATCA_ADDRESS_MASK_CONFIG (0x001F) |
Address bits 5 to 7 are 0 for Configuration zone.
| #define ATCA_ADDRESS_MASK_OTP (0x000F) |
Address bits 4 to 7 are 0 for OTP zone.
| #define ATCA_B283_KEY_TYPE 0 |
B283 NIST ECC key.
| #define ATCA_BLOCK_SIZE (32) |
size of a block
| #define ATCA_CHECKMAC ((uint8_t)0x28) |
CheckMac command op-code.
| #define ATCA_CMD_SIZE_MAX ((uint8_t)4 * 36 + 7) |
maximum size of command packet (Verify)
| #define ATCA_CMD_SIZE_MIN ((uint8_t)7) |
minimum number of bytes in command (from count byte to second CRC byte)
| #define ATCA_CONFIG_SIZE (128) |
size of configuration zone
| #define ATCA_COUNT_IDX (0) |
command packet index for count
| #define ATCA_COUNT_SIZE ((uint8_t)1) |
Number of bytes in the command packet Count.
| #define ATCA_COUNTER ((uint8_t)0x24) |
Counter command op-code.
| #define ATCA_CRC_SIZE ((uint8_t)2) |
Number of bytes in the command packet CRC.
| #define ATCA_DATA_IDX (5) |
command packet index for data load
| #define ATCA_DATA_SIZE (ATCA_KEY_COUNT * ATCA_KEY_SIZE) |
size of data zone
| #define ATCA_DERIVE_KEY ((uint8_t)0x1C) |
DeriveKey command op-code.
| #define ATCA_ECDH ((uint8_t)0x43) |
ECDH command op-code.
| #define ATCA_GENDIG ((uint8_t)0x15) |
GenDig command op-code.
| #define ATCA_GENKEY ((uint8_t)0x40) |
GenKey command op-code.
| #define ATCA_HMAC ((uint8_t)0x11) |
HMAC command op-code.
| #define ATCA_INFO ((uint8_t)0x30) |
Info command op-code.
| #define ATCA_K283_KEY_TYPE 1 |
K283 NIST ECC key.
| #define ATCA_KEY_COUNT (16) |
number of keys
| #define ATCA_KEY_ID_MAX ((uint8_t)15) |
maximum value for key id
| #define ATCA_KEY_SIZE (32) |
size of a symmetric SHA key
| #define ATCA_LOCK ((uint8_t)0x17) |
Lock command op-code.
| #define ATCA_MAC ((uint8_t)0x08) |
MAC command op-code.
| #define ATCA_NONCE ((uint8_t)0x16) |
Nonce command op-code.
| #define ATCA_OPCODE_IDX (1) |
command packet index for op-code
| #define ATCA_OTP_BLOCK_MAX ((uint8_t)1) |
maximum value for OTP block
| #define ATCA_OTP_SIZE (64) |
size of OTP zone
| #define ATCA_P256_KEY_TYPE 4 |
P256 NIST ECC key.
| #define ATCA_PACKET_OVERHEAD (ATCA_COUNT_SIZE + ATCA_CRC_SIZE) |
Number of bytes in the command packet.
| #define ATCA_PARAM1_IDX (2) |
command packet index for first parameter
| #define ATCA_PARAM2_IDX (3) |
command packet index for second parameter
| #define ATCA_PAUSE ((uint8_t)0x01) |
Pause command op-code.
| #define ATCA_PRIV_KEY_SIZE (32) |
size of a p256 private key
| #define ATCA_PRIVWRITE ((uint8_t)0x46) |
PrivWrite command op-code.
| #define ATCA_PUB_KEY_PAD (4) |
size of the public key pad
| #define ATCA_PUB_KEY_SIZE (64) |
size of a p256 public key
| #define ATCA_RANDOM ((uint8_t)0x1B) |
Random command op-code.
| #define ATCA_READ ((uint8_t)0x02) |
Read command op-code.
| #define ATCA_RSP_DATA_IDX (1) |
buffer index of data in response
| #define ATCA_RSP_SIZE_32 ((uint8_t)35) |
size of response packet containing 32 bytes data
| #define ATCA_RSP_SIZE_4 ((uint8_t)7) |
size of response packet containing 4 bytes data
| #define ATCA_RSP_SIZE_64 ((uint8_t)67) |
size of response packet containing 64 bytes data
| #define ATCA_RSP_SIZE_72 ((uint8_t)75) |
size of response packet containing 64 bytes data
| #define ATCA_RSP_SIZE_MAX ((uint8_t)75) |
maximum size of response packet (GenKey and Verify command)
| #define ATCA_RSP_SIZE_MIN ((uint8_t)4) |
minimum number of bytes in response
| #define ATCA_RSP_SIZE_VAL ((uint8_t)7) |
size of response packet containing four bytes of data
| #define ATCA_SERIAL_NUM_SIZE (9) |
number of bytes in the device serial number
| #define ATCA_SHA ((uint8_t)0x47) |
SHA command op-code.
| #define ATCA_SHA_CONFIG_SIZE (88) |
size of configuration zone
| #define ATCA_SHA_DIGEST_SIZE (32) |
| #define ATCA_SIG_SIZE (64) |
size of a p256 signature
| #define ATCA_SIGN ((uint8_t)0x41) |
Sign command op-code.
| #define ATCA_UPDATE_EXTRA ((uint8_t)0x20) |
UpdateExtra command op-code.
| #define ATCA_VERIFY ((uint8_t)0x45) |
GenKey command op-code.
| #define ATCA_WORD_SIZE (4) |
size of a word
| #define ATCA_WRITE ((uint8_t)0x12) |
Write command op-code.
| #define ATCA_ZONE_ACCESS_32 ((uint8_t)32) |
Read or write 32 bytes.
| #define ATCA_ZONE_ACCESS_4 ((uint8_t)4) |
Read or write 4 bytes.
| #define ATCA_ZONE_CONFIG ((uint8_t)0x00) |
Configuration zone.
| #define ATCA_ZONE_DATA ((uint8_t)0x02) |
Data zone.
| #define ATCA_ZONE_MASK ((uint8_t)0x03) |
Zone mask.
| #define ATCA_ZONE_OTP ((uint8_t)0x01) |
OTP (One Time Programming) zone.
| #define ATCA_ZONE_READWRITE_32 ((uint8_t)0x80) |
Zone bit 7 set: Access 32 bytes, otherwise 4 bytes.
| #define CHECKMAC_CLIENT_CHALLENGE_IDX ATCA_DATA_IDX |
CheckMAC command index for client challenge.
| #define CHECKMAC_CLIENT_CHALLENGE_SIZE (32) |
CheckMAC size of client challenge.
| #define CHECKMAC_CLIENT_COMMAND_SIZE (4) |
CheckMAC size of client command header size inside "other data".
| #define CHECKMAC_CLIENT_RESPONSE_IDX (37) |
CheckMAC command index for client response.
| #define CHECKMAC_CLIENT_RESPONSE_SIZE (32) |
CheckMAC size of client response.
| #define CHECKMAC_CMD_MATCH (0) |
CheckMAC return value when there is a match.
| #define CHECKMAC_CMD_MISMATCH (1) |
CheckMAC return value when there is a mismatch.
| #define CHECKMAC_COUNT (84) |
CheckMAC command packet size.
| #define CHECKMAC_DATA_IDX (69) |
CheckMAC command index for other data.
| #define CHECKMAC_KEYID_IDX ATCA_PARAM2_IDX |
CheckMAC command index for key identifier.
| #define CHECKMAC_MODE_BLOCK1_TEMPKEY ((uint8_t)0x02) |
CheckMAC mode bit 1: first SHA block from TempKey.
| #define CHECKMAC_MODE_BLOCK2_TEMPKEY ((uint8_t)0x01) |
CheckMAC mode bit 0: second SHA block from TempKey.
| #define CHECKMAC_MODE_CHALLENGE ((uint8_t)0x00) |
CheckMAC mode 0: first SHA block from key id.
| #define CHECKMAC_MODE_IDX ATCA_PARAM1_IDX |
CheckMAC command index for mode.
| #define CHECKMAC_MODE_INCLUDE_OTP_64 ((uint8_t)0x20) |
CheckMAC mode bit 5: include first 64 OTP bits.
| #define CHECKMAC_MODE_MASK ((uint8_t)0x27) |
CheckMAC mode bits 3, 4, 6, and 7 are 0.
| #define CHECKMAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04) |
CheckMAC mode bit 2: match TempKey.SourceFlag.
| #define CHECKMAC_OTHER_DATA_SIZE (13) |
CheckMAC size of "other data".
| #define CHECKMAC_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of DeriveKey command
| #define CMD_STATUS_BYTE_COMM ((uint8_t)0xFF) |
communication error
| #define CMD_STATUS_BYTE_ECC ((uint8_t)0x05) |
command ECC error
| #define CMD_STATUS_BYTE_EXEC ((uint8_t)0x0F) |
command execution error
| #define CMD_STATUS_BYTE_PARSE ((uint8_t)0x03) |
command parse error
| #define CMD_STATUS_SUCCESS ((uint8_t)0x00) |
status byte for success
| #define CMD_STATUS_WAKEUP ((uint8_t)0x11) |
status byte after wake-up
| #define COUNTER_CHALLENGE_IDX ATCA_DATA_IDX |
COUNTER command index for optional challenge.
| #define COUNTER_COUNT ATCA_CMD_SIZE_MIN |
| #define COUNTER_COUNT_LONG (70) |
COUNTER command packet size without challenge.
| #define COUNTER_KEYID_IDX ATCA_PARAM2_IDX |
COUNTER command index for key id.
| #define COUNTER_MODE_IDX ATCA_PARAM1_IDX |
COUNTER command index for mode.
| #define COUNTER_MODE_MASK ((uint8_t)0x01) |
COUNTER mode bits 1 to 7 are 0.
| #define COUNTER_RSP_SIZE ATCA_RSP_SIZE_4 |
response size of COUNTER command
| #define DERIVE_KEY_COUNT_LARGE (39) |
DeriveKey command packet size with MAC.
| #define DERIVE_KEY_COUNT_SMALL ATCA_CMD_SIZE_MIN |
DeriveKey command packet size without MAC.
| #define DERIVE_KEY_MAC_IDX ATCA_DATA_IDX |
DeriveKey command index for optional MAC.
| #define DERIVE_KEY_MAC_SIZE (32) |
DeriveKey MAC size.
| #define DERIVE_KEY_RANDOM_FLAG ((uint8_t)4) |
DeriveKey 1. parameter; has to match TempKey.SourceFlag.
| #define DERIVE_KEY_RANDOM_IDX ATCA_PARAM1_IDX |
DeriveKey command index for random bit.
| #define DERIVE_KEY_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of DeriveKey command
| #define DERIVE_KEY_TARGETKEY_IDX ATCA_PARAM2_IDX |
DeriveKey command index for target slot.
| #define ECDH_COUNT (71) |
| #define ECDH_KEY_SIZE ATCA_BLOCK_SIZE |
response size of ECDH command
| #define ECDH_PREFIX_MODE ((uint8_t)0x00) |
| #define ECDH_PUBKEYIN_SIZE (64) |
| #define ECDH_RSP_SIZE ATCA_RSP_SIZE_32 |
response size of ECDH command
| #define GENDIG_COUNT ATCA_CMD_SIZE_MIN |
GenDig command packet size without "other data".
| #define GENDIG_COUNT_DATA (11) |
GenDig command packet size with "other data".
| #define GENDIG_DATA_IDX ATCA_DATA_IDX |
GenDig command index for optional data.
| #define GENDIG_KEYID_IDX ATCA_PARAM2_IDX |
GenDig command index for key id.
| #define GENDIG_OTHER_DATA_SIZE (32) |
GenDig size of "other data". Is 4 bytes for SHA204, can be either 4 or 32 for ECC.
| #define GENDIG_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of GenDig command
| #define GENDIG_ZONE_CONFIG ((uint8_t)0) |
GenDig zone id config.
| #define GENDIG_ZONE_DATA ((uint8_t)2) |
GenDig zone id data.
| #define GENDIG_ZONE_IDX ATCA_PARAM1_IDX |
GenDig command index for zone.
| #define GENDIG_ZONE_OTP ((uint8_t)1) |
GenDig zone id OTP.
| #define GENKEY_COUNT ATCA_CMD_SIZE_MIN |
GenKey command packet size without "other data".
| #define GENKEY_COUNT_DATA (10) |
GenKey command packet size with "other data".
| #define GENKEY_DATA_IDX (5) |
GenKey command index for other data.
| #define GENKEY_KEYID_IDX ATCA_PARAM2_IDX |
GenKey command index for key id.
| #define GENKEY_MODE_ADD_DIGEST ((uint8_t)0x08) |
GenKey mode: additional digest calculation.
| #define GENKEY_MODE_DIGEST ((uint8_t)0x10) |
GenKey mode: digest calculation.
| #define GENKEY_MODE_IDX ATCA_PARAM1_IDX |
GenKey command index for mode.
| #define GENKEY_MODE_MASK ((uint8_t)0x1C) |
GenKey mode bits 0 to 1 and 5 to 7 are 0.
| #define GENKEY_MODE_PRIVATE ((uint8_t)0x04) |
GenKey mode: private key generation.
| #define GENKEY_MODE_PUBLIC ((uint8_t)0x00) |
GenKey mode: public key calculation.
| #define GENKEY_OTHER_DATA_SIZE (3) |
GenKey size of "other data".
| #define GENKEY_RSP_SIZE_LONG ATCA_RSP_SIZE_72 |
response size of GenKey command when generating key
| #define GENKEY_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN |
response size of GenKey command in Digest mode
| #define HMAC_COUNT ATCA_CMD_SIZE_MIN |
HMAC command packet size.
| #define HMAC_KEYID_IDX ATCA_PARAM2_IDX |
HMAC command index for key id.
| #define HMAC_MODE_IDX ATCA_PARAM1_IDX |
HMAC command index for mode.
| #define HMAC_MODE_MASK ((uint8_t)0x74) |
HMAC mode bits 0, 1, 3, and 7 are 0.
| #define HMAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04) |
HMAC mode bit 2: match TempKey.SourceFlag.
| #define HMAC_RSP_SIZE ATCA_RSP_SIZE_32 |
response size of HMAC command
| #define INFO_COUNT ATCA_CMD_SIZE_MIN |
Info command packet size.
| #define INFO_DRIVER_STATE_MASK ((uint8_t)0x02) |
Info driver state mask.
| #define INFO_MODE_GPIO ((uint8_t)0x03) |
Info mode GPIO.
| #define INFO_MODE_KEY_VALID ((uint8_t)0x01) |
Info mode KeyValid.
| #define INFO_MODE_MAX ((uint8_t)0x03) |
Info mode maximum value.
| #define INFO_MODE_REVISION ((uint8_t)0x00) |
Info mode Revision.
| #define INFO_MODE_STATE ((uint8_t)0x02) |
Info mode State.
| #define INFO_NO_STATE ((uint8_t)0x00) |
Info mode is not the state mode.
| #define INFO_OUTPUT_STATE_MASK ((uint8_t)0x01) |
Info output state mask.
| #define INFO_PARAM1_IDX ATCA_PARAM1_IDX |
Info command index for 1. parameter.
| #define INFO_PARAM2_IDX ATCA_PARAM2_IDX |
Info command index for 2. parameter.
| #define INFO_PARAM2_MAX ((uint8_t)0x03) |
Info param2 (state) maximum value.
| #define INFO_RSP_SIZE ATCA_RSP_SIZE_VAL |
response size of Info command returns 4 bytes
| #define INFO_SIZE ((uint8_t)0x04) |
Info param2 (state) maximum value.
| #define LOCK_COUNT ATCA_CMD_SIZE_MIN |
Lock command packet size.
| #define LOCK_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of Lock command
| #define LOCK_SUMMARY_IDX ATCA_PARAM2_IDX |
Lock command index for summary.
| #define LOCK_ZONE_CONFIG ((uint8_t)0x00) |
Lock zone is Config.
| #define LOCK_ZONE_DATA ((uint8_t)0x01) |
Lock zone is OTP or Data.
| #define LOCK_ZONE_DATA_SLOT ((uint8_t)0x02) |
Lock slot of Data.
| #define LOCK_ZONE_IDX ATCA_PARAM1_IDX |
Lock command index for zone.
| #define LOCK_ZONE_MASK (0xBF) |
Lock parameter 1 bits 6 are 0.
| #define LOCK_ZONE_NO_CRC ((uint8_t)0x80) |
Lock command: Ignore summary.
| #define MAC_CHALLENGE_IDX ATCA_DATA_IDX |
MAC command index for optional challenge.
| #define MAC_CHALLENGE_SIZE (32) |
MAC size of challenge.
| #define MAC_COUNT_LONG (39) |
MAC command packet size with challenge.
| #define MAC_COUNT_SHORT ATCA_CMD_SIZE_MIN |
MAC command packet size without challenge.
| #define MAC_KEYID_IDX ATCA_PARAM2_IDX |
MAC command index for key id.
| #define MAC_MODE_BLOCK1_TEMPKEY ((uint8_t)0x02) |
MAC mode bit 1: first SHA block from TempKey.
| #define MAC_MODE_BLOCK2_TEMPKEY ((uint8_t)0x01) |
MAC mode bit 0: second SHA block from TempKey.
| #define MAC_MODE_CHALLENGE ((uint8_t)0x00) |
MAC mode 0: first SHA block from data slot.
| #define MAC_MODE_IDX ATCA_PARAM1_IDX |
MAC command index for mode.
| #define MAC_MODE_INCLUDE_OTP_64 ((uint8_t)0x20) |
MAC mode bit 5: include first 64 OTP bits.
| #define MAC_MODE_INCLUDE_OTP_88 ((uint8_t)0x10) |
MAC mode bit 4: include first 88 OTP bits.
| #define MAC_MODE_INCLUDE_SN ((uint8_t)0x40) |
MAC mode bit 6: include serial number.
| #define MAC_MODE_MASK ((uint8_t)0x77) |
MAC mode bits 3 and 7 are 0.
| #define MAC_MODE_PASSTHROUGH ((uint8_t)0x07) |
MAC mode bit 0-2: pass-through mode.
| #define MAC_MODE_PTNONCE_TEMPKEY ((uint8_t)0x06) |
MAC mode bit 0: second SHA block from TempKey.
| #define MAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04) |
MAC mode bit 2: match TempKey.SourceFlag.
| #define MAC_RSP_SIZE ATCA_RSP_SIZE_32 |
response size of MAC command
| #define MAC_SIZE (32) |
MAC size of response.
| #define NONCE_COUNT_LONG (39) |
Nonce command packet size for 32 bytes of data.
| #define NONCE_COUNT_SHORT (27) |
Nonce command packet size for 20 bytes of data.
| #define NONCE_INPUT_IDX ATCA_DATA_IDX |
Nonce command index for input data.
| #define NONCE_MODE_IDX ATCA_PARAM1_IDX |
Nonce command index for mode.
| #define NONCE_MODE_INVALID ((uint8_t)0x02) |
Nonce mode 2 is invalid.
| #define NONCE_MODE_MASK ((uint8_t)0x03) |
Nonce mode bits 2 to 7 are 0.
| #define NONCE_MODE_NO_SEED_UPDATE ((uint8_t)0x01) |
Nonce mode: do not update seed.
| #define NONCE_MODE_PASSTHROUGH ((uint8_t)0x03) |
Nonce mode: pass-through.
| #define NONCE_MODE_RANDOM_OUT ((uint16_t)0x0000) |
Nonce mode: output RandOut or single byte of zero.
| #define NONCE_MODE_SEED_UPDATE ((uint8_t)0x00) |
Nonce mode: update seed.
| #define NONCE_MODE_TEMPKEY_OUT ((uint16_t)0x0080) |
Nonce mode: output RandOut or single byte of zero.
| #define NONCE_NUMIN_SIZE (20) |
Nonce data length.
| #define NONCE_NUMIN_SIZE_PASSTHROUGH (32) |
Nonce data length in pass-through mode (mode = 3)
| #define NONCE_PARAM2_IDX ATCA_PARAM2_IDX |
Nonce command index for 2. parameter.
| #define NONCE_RSP_SIZE_LONG ATCA_RSP_SIZE_32 |
response size of Nonce command
| #define NONCE_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN |
response size of Nonce command with mode[0:1] = 3
| #define PAUSE_COUNT ATCA_CMD_SIZE_MIN |
Pause command packet size.
| #define PAUSE_PARAM2_IDX ATCA_PARAM2_IDX |
Pause command index for 2. parameter.
| #define PAUSE_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of Pause command
| #define PAUSE_SELECT_IDX ATCA_PARAM1_IDX |
Pause command index for Selector.
| #define PRIVWRITE_COUNT (75) |
PrivWrite command packet size.
| #define PRIVWRITE_KEYID_IDX ATCA_PARAM2_IDX |
PrivWrite command index for KeyID.
| #define PRIVWRITE_MAC_IDX (41) |
PrivWrite command index for MAC.
| #define PRIVWRITE_MODE_ENCRYPT ((uint8_t)0x40) |
PrivWrite mode: encrypted.
| #define PRIVWRITE_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of PrivWrite command
| #define PRIVWRITE_VALUE_IDX ( 5) |
PrivWrite command index for value.
| #define PRIVWRITE_ZONE_IDX ATCA_PARAM1_IDX |
PrivWrite command index for zone.
| #define PRIVWRITE_ZONE_MASK ((uint8_t)0x40) |
PrivWrite zone bits 0 to 5 and 7 are 0.
| #define RANDOM_COUNT ATCA_CMD_SIZE_MIN |
Random command packet size.
| #define RANDOM_MODE_IDX ATCA_PARAM1_IDX |
Random command index for mode.
| #define RANDOM_NO_SEED_UPDATE ((uint8_t)0x01) |
Random mode for no seed update.
| #define RANDOM_NUM_SIZE ((uint8_t)0x20) |
Number of bytes in the data packet of a random command.
| #define RANDOM_PARAM2_IDX ATCA_PARAM2_IDX |
Random command index for 2. parameter.
| #define RANDOM_RSP_SIZE ATCA_RSP_SIZE_32 |
response size of Random command
| #define RANDOM_SEED_UPDATE ((uint8_t)0x00) |
Random mode for automatic seed update.
| #define READ_32_RSP_SIZE ATCA_RSP_SIZE_32 |
response size of Read command when reading 32 bytes
| #define READ_4_RSP_SIZE ATCA_RSP_SIZE_VAL |
response size of Read command when reading 4 bytes
| #define READ_ADDR_IDX ATCA_PARAM2_IDX |
Read command index for address.
| #define READ_COUNT ATCA_CMD_SIZE_MIN |
Read command packet size.
| #define READ_ZONE_IDX ATCA_PARAM1_IDX |
Read command index for zone.
| #define READ_ZONE_MASK ((uint8_t)0x83) |
Read zone bits 2 to 6 are 0.
| #define RSA2048_KEY_SIZE (256) |
size of a RSA private key
| #define SHA_BLOCK_SIZE (64) |
| #define SHA_COUNT_LONG (7) |
| #define SHA_COUNT_SHORT ATCA_CMD_SIZE_MIN |
| #define SHA_DATA_MAX (64) |
| #define SHA_HMAC_END_MASK ((uint8_t)0x05) |
Complete the HMAC/SHA256 computation.
| #define SHA_HMAC_START_MASK ((uint8_t)0x04) |
Initialization.
| #define SHA_RSP_SIZE ATCA_RSP_SIZE_32 |
response size of SHA command
| #define SHA_RSP_SIZE_LONG ATCA_RSP_SIZE_32 |
response size of SHA command
| #define SHA_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN |
response size of SHA command
| #define SHA_SHA256_END_MASK ((uint8_t)0x02) |
Complete the calculation and load the digest.
| #define SHA_SHA256_PUBLIC_MASK ((uint8_t)0x03) |
Add 64 bytes in the slot to the SHA context.
| #define SHA_SHA256_START_MASK ((uint8_t)0x00) |
Initialization, does not accept a message.
| #define SHA_SHA256_UPDATE_MASK ((uint8_t)0x01) |
Add 64 bytes in the meesage to the SHA context.
| #define SIGN_COUNT ATCA_CMD_SIZE_MIN |
Sign command packet size.
| #define SIGN_KEYID_IDX ATCA_PARAM2_IDX |
Sign command index for key id.
| #define SIGN_MODE_EXTERNAL ((uint8_t)0x80) |
Sign mode bit 7: external.
| #define SIGN_MODE_IDX ATCA_PARAM1_IDX |
Sign command index for mode.
| #define SIGN_MODE_INCLUDE_SN ((uint8_t)0x40) |
Sign mode bit 6: include serial number.
| #define SIGN_MODE_INTERNAL ((uint8_t)0x00) |
Sign mode 0: internal.
| #define SIGN_MODE_MASK ((uint8_t)0xC0) |
Sign mode bits 0 to 5 are 0.
| #define SIGN_RSP_SIZE ATCA_RSP_SIZE_MAX |
response size of Sign command
| #define UPDATE_CONFIG_BYTE_85 ((uint8_t)0x01) |
UpdateExtra mode: update Config byte 85.
| #define UPDATE_COUNT ATCA_CMD_SIZE_MIN |
UpdateExtra command packet size.
| #define UPDATE_MODE_IDX ATCA_PARAM1_IDX |
UpdateExtra command index for mode.
| #define UPDATE_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of UpdateExtra command
| #define UPDATE_VALUE_IDX ATCA_PARAM2_IDX |
UpdateExtra command index for new value.
| #define VERIFY_256_EXTERNAL_COUNT (135) |
Verify command packet size for 256-bit key in external mode.
| #define VERIFY_256_KEY_SIZE ( 64) |
Verify key size for 256-bit key.
| #define VERIFY_256_SIGNATURE_SIZE ( 64) |
Verify signature size for 256-bit key.
| #define VERIFY_256_STORED_COUNT ( 71) |
Verify command packet size for 256-bit key in stored mode.
| #define VERIFY_256_VALIDATE_COUNT ( 90) |
Verify command packet size for 256-bit key in validate mode.
| #define VERIFY_283_EXTERNAL_COUNT (151) |
Verify command packet size for 283-bit key in external mode.
| #define VERIFY_283_KEY_SIZE ( 72) |
Verify key size for 283-bit key.
| #define VERIFY_283_SIGNATURE_SIZE ( 72) |
Verify signature size for 283-bit key.
| #define VERIFY_283_STORED_COUNT ( 79) |
Verify command packet size for 283-bit key in stored mode.
| #define VERIFY_283_VALIDATE_COUNT ( 98) |
Verify command packet size for 283-bit key in validate mode.
| #define VERIFY_DATA_IDX ( 5) |
Verify command index for data.
| #define VERIFY_KEY_B283 ((uint16_t)0x0000) |
Verify key type: B283.
| #define VERIFY_KEY_K283 ((uint16_t)0x0001) |
Verify key type: K283.
| #define VERIFY_KEY_P256 ((uint16_t)0x0004) |
Verify key type: P256.
| #define VERIFY_KEYID_IDX ATCA_PARAM2_IDX |
Verify command index for key id.
| #define VERIFY_MODE_EXTERNAL ((uint8_t)0x02) |
Verify mode: external.
| #define VERIFY_MODE_IDX ATCA_PARAM1_IDX |
Verify command index for mode.
| #define VERIFY_MODE_INVALIDATE ((uint8_t)0x07) |
Verify mode: invalidate.
| #define VERIFY_MODE_MASK ((uint8_t)0x03) |
Verify mode bits 2 to 7 are 0.
| #define VERIFY_MODE_STORED ((uint8_t)0x00) |
Verify mode: stored.
| #define VERIFY_MODE_VALIDATE ((uint8_t)0x03) |
Verify mode: validate.
| #define VERIFY_MODE_VALIDATEEXTERNAL ((uint8_t)0x01) |
Verify mode: validate external.
| #define VERIFY_OTHER_DATA_SIZE ( 19) |
Verify size of "other data".
| #define VERIFY_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of UpdateExtra command
| #define WRITE_ADDR_IDX ATCA_PARAM2_IDX |
Write command index for address.
| #define WRITE_COUNT_LONG (39) |
Write command packet size with long data and no MAC.
| #define WRITE_COUNT_LONG_MAC (71) |
Write command packet size with long data and MAC.
| #define WRITE_COUNT_SHORT (11) |
Write command packet size with short data and no MAC.
| #define WRITE_COUNT_SHORT_MAC (43) |
Write command packet size with short data and MAC.
| #define WRITE_MAC_SIZE (32) |
Write MAC size.
| #define WRITE_MAC_VL_IDX (37) |
Write command index for MAC following long data.
| #define WRITE_MAC_VS_IDX ( 9) |
Write command index for MAC following short data.
| #define WRITE_RSP_SIZE ATCA_RSP_SIZE_MIN |
response size of Write command
| #define WRITE_VALUE_IDX ATCA_DATA_IDX |
Write command index for data.
| #define WRITE_ZONE_DATA ((uint8_t)2) |
WRITE zone id data.
| #define WRITE_ZONE_IDX ATCA_PARAM1_IDX |
Write command index for zone.
| #define WRITE_ZONE_MASK ((uint8_t)0xC3) |
Write zone bits 2 to 5 are 0.
| #define WRITE_ZONE_OTP ((uint8_t)1) |
WRITE zone id OTP.
| #define WRITE_ZONE_WITH_MAC ((uint8_t)0x40) |
Write zone bit 6: write encrypted with MAC.
| typedef struct atca_command* ATCACommand |
| enum ATCA_CmdMap |
| enum enum_counter_mode |
| enum enum_genkey_mode |
| enum enum_sha_mode |


Thank you for buying Japanese Flash.
You are Awesome!
As fellow language students, we wanted to create the best flash card program for studying words and phrases in Japanese & English.
Japanese Flash has over 180 sets of bilingual data, an intelligent card selector system that works, a dictionary searchable in English, Romaji or Japanese and a slick interface driven by a fast data engine!
We have a new and improved dictionary, 50,000+ example sentences and a feedback mechanism for reporting data corrections. You can even set the difficulty level for large sets.
We have cross-referenced example sentences with readings, so you can discover new words, and Twitter integration, so you can share cool new words with your friends.
We hope you enjoy Japanese Flash!


I've followed all the instructions here http://wiki.openenergymonitor.org/index.php?title=Raspberry_Pi to build the expansion board and install all the software.
When I boot up the Pi without the board connected it all works fine. I can connect to the Pi remotely and run emoncms.
When I connect the RFM12Pi board and switch it on, the green light comes on and then goes off and the Pi then boots up into Debian as normal. Once it's finished booting though it just hangs. No keyboard, mouse. Putty won't connect and nor will emoncms.
Any ideas what's going wrong here, or where to start looking?
Cheers
Chris
Re: Raspberry Pi hangs when RFM12Pi connected
Did you remove the reference to the Pi's UART from cmdline.txt as per the instructions?
I had similar symptoms when I neglected to do this.
Re: Raspberry Pi hangs when RFM12Pi connected
Aaah that'l be it.
What a doofus. Must remember to read the instructions FULLY !!
Cheers Martin


class ArchivesLocal(ListOfArchives):
COCO data archives somewhere local on this machine.
The archives need to be gathered with _walk
.
| Class Variable | listing_file |
Undocumented |
| Class Variable | search_folder |
Undocumented |
Inherited from ListOfArchives
:
| Class Method | register |
add folder path or url to list of archives. |
| Static Method | lists |
Undocumented |
| Method | __init__ |
print available archive lists if no listing file is given |
| Method | remote_update |
join in the respective list from coco_url.rsplit('/')[0] + '/data-archives'. |
| Method | save |
save current list making changes permanent |
| Method | update |
update self from the listing file that may have changed |
| Property | name |
name of this list |
| Static Method | _file |
Undocumented |
| Static Method | _fullfile |
Undocumented |
| Static Method | _name |
Undocumented |
| Method | _makepathsabsolute |
Undocumented |
| Method | _remove_double_entries |
keep the first of duplicated entries |
| Method | _save_walk |
extend self by elements of _last_walk not in self and save |
| Method | _walk |
recursive search for COCO data archives in folder on disk. |
| Instance Variable | _last_walk |
Undocumented |
Inherited from StrList
(via ListOfArchives
):
| Method | __call__ |
alias to find |
| Method | find |
return entries that match all substrs . |
| Method | find_indices |
same as find but returns indices instead of names |
| Method | print |
print the result of find(*substrs) with indices. |
| Property | as_string |
return space separated string concatenation surrounded by spaces. |
| Property | found |
StrList of elements found during the last call to find . |
| Instance Variable | _names_found |
Undocumented |


Mortal Kombat (1995) A movie review by Serdar Yegulalp (C) 1997 by Serdar Yegulalp
CAPSULE: Just plain fun -- no more, no less. Check your brain, and don't think futzing with a D-pad is going to change the storyline.
I didn't want to see this film. As enamored as I am of video-game culture, I still went in with gritted teeth. "Okay," I snarled, making it sound like a dare, "entertain me."
Dare accepted.
MK is as silly and ephemeral as any trendsploitation movie has ever been (when do we get the MAGIC: THE GATHERING flick, for instance?), but it's one of the best made -- certainly one of the best-looking -- and a ton of lowbrow fun. I've got high standards for most movies, but I can still be a pushover for a good, silly picture: high production values, yards of action, nothing that would make the movie seem rancidly exploitive or cynical. MK fits all three categories nicely.
Based somewhat loosely on the video game that made video games a bad juju with parents all over again, MORTAL KOMBAT takes three heroes and pits them against impossible odds -- evil magic, vicious martial-arts masters, demons with four arms, and everything else the makeup and FX people could plaster together or digitally synthesize. Do they win? Are movie-theater floor sticky in summertime? Well... devil's in the details, y'know, so feel free to read on.
Mortal Kombat, as we learn, is a cosmic karateka that takes place between our world and some outlying dimension you don't want to get stuck in after the last bar closes. The best of the best come to fight, and if "we" (meaning Earth) wins, the world doesn't get overrun by evil for another generation. Our three heroes, Liu Kang, Sonya and Johnny Cage, all come into the contest with considerable trepidations and a little emotional baggage of their own. Their nemesis is the cold-hearted Shang Tsung (played with tasty nastiness by Cary Hiroyuki-Tagawa, who always gets roles like this), and their mentor is the god of thunder, Raiden (also hammed up happily by none other than Christopher Lambert, the best bad actor around).
The movie isn't a masterpiece of story or intellect -- but it does something few movies of this type do well: it grabs you from the start and keeps you solidly entertained all the way through. Almost every scene begins and ends with a spectacularly choreographed fight, and the photography is stylish and fast-moving. This is the kind of movie where you want to take home the stills and hang them on your wall.
What else makes the movie work? A sly sense of self-referential humor, which thankfully isn't overdone. (Watch, for instance, the way the battle between Johnny Cage and Skorpion ends, and pay careful attention to the very last shot. It's a howler.) Lambert has great fun as Raiden, and everyone involved seems to be enjoying themselves. Which, when you think about it, isn't something you can base on any one thing; it's everything.
I recently saw a movie with similar ambitions -- the uninvolving CRYING FREEMAN -- and walked out disappointed. Why? Nobody seemed to be really enjoying themselves. It all looked like one giant slog. MK may not be the best movie ever made, but it's a gas, and few enough movies are good on just that level.
Three out of four flawless victories.
<EMAIL_ADDRESS>EFNet IRC: GinRei http://www.io.com/~syegul another worldly device... you can crush me as I speak/write on rocks what you feel/now feel this truth =smilin' in your face, all the time wanna take your place, the BACKSTABBERS=
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Reports when getter method for given property cannot be resolved against components' class.
Report could be false positive if the final class of the component wasn't detected properly considering layers
priority
For example, accessing orderTools via
requires public getOrderTools method defined in class which Profile instantiated with
property^=/atg/userprofiling/Profile.orderTools


Warehouse Keeper Sonin:
Did my letter help you, adventurer?
It is a small thing, but I trust it brought you luck.


GMO is a Node.js client library for the GMO Payment Platform, supporting the PG Multi Payment API, exec transactions, register users, and so on.
npm install gmo
var gmo, option, shopApi; gmo = require("gmo"); shopApi = new gmo.ShopAPI({ host: "hoge.mul-pay.jp", shop_id: "shop_id", shop_pass: "shop_pass" }); option = { order_id: "order_id", job_cd: "AUTH", amount: "100" }; shopApi.entryTran(option, function(err, res) { if (err) { console.log(err); } if (res) { return console.log(res); } });
More examples are available on test directory.
In this library, we have defined as "Shop API" an API that requires shop ID and shop password to the API call.
An API that requires site ID and site password to the API call.
An API that requires shop ID, shop password, site ID and site password to the API call.
Patches contributed by those people.
GMO
GMO is a Node.js client library for the GMO Payment Platform, supporting the PG Multi Payment API, exec transactions, register users, and so on.
Installation
Usage
var gmo, option, shopApi; gmo = require("gmo"); shopApi = new gmo.ShopAPI({ host: "hoge.mul-pay.jp", shop_id: "shop_id", shop_pass: "shop_pass" }); option = { order_id: "order_id", job_cd: "AUTH", amount: "100" }; shopApi.entryTran(option, function(err, res) { if (err) { console.log(err); } if (res) { return console.log(res); } });
More examples are available on test directory.
Shop API
In this library, we have defined as "Shop API" an API that requires shop ID and shop password to the API call.
Site API
An API that requires site ID and site password to the API call.
ShopAndSite API
An API that requires shop ID, shop password, site ID and site password to the API call.
In other languages
Contributors
Patches contributed by those people.


{# Search form #} {% include 'bosssearch/inclusion/form.html' %} {# Results #} {% include 'bosssearch/inclusion/results.html' %}


This is my first tag!!!
This is another heading
This is another heading!!!
this is some text fadbadfba
fsdafa afda fdas fas f1f23f 2
fdsafsaf2fqfsdfasfsdaf
asfsadfasdfasdfasdf
My Color List
- Red
- Orange
- Yellow
- Sunflower
- Banana
- Fronzen Banana
- Non-Frozen Banana
Click me to go Google
GO TO PAGE 2


All of the available sass variables for theming, branding, & other
UI states are available via the goponents package.
These can be imported in a scss file with:
@import '~@tangoe/goponents/styles/variables';
Galaxy Blue should be used when there is a primary action on a page or other
minor accents in the UI.
Earth Green should be used to indicate a positive event (ex: form completion), a positive status (ex: indicator),
or to show a numerical positive (ex: currency).
Horizon Red should be used when an action will result in a negative result (ex: deletion), when
an event has resulted in an error (ex: failed form submission), a sense of urgency is needed (ex: alerts or warnings), or
numerical negative (ex: currency).
Nebula Purple should be used to present additional information (ex: notice), or when taking a neutral action (ex: data refresh).


Some of my favorite websites to go are social media sites such as Instagram, Pinterest, Facebook, and Youtube. Other than that, every once and a while I will do typing games if I'm super bored.
Some of the more common websites I visit are Canvas, Aleks, and MyDSD.


11:30 AM, April 14, 2018
County Line on the Lake
5204 FM 2222, Austin TX 78731
Following the ceremony, guest are invited to join us for appetizers, beverages, and yard games.
 Help us remember our special day by adding to our google photo library.
We highly recommend Habitat Suites, a locally owned eco-friendly hotel near our home. Our family has stayed here many times and we absolutely love it. Guests are also welcome to book via Airbnb, HomeAway, or any other vacation website of choice. Please reach out to us if you have any questions about where to stay.
Our favorite Austin Hotel.
If you need a ride from the airport or to the wedding, we might be able to match you with a ride from one of our friends! Other local rideshare options like Ride Austin, Fasten and car2go usually offer discounts for your first ride. Of course, the ubiquitous Uber and Lyft serve the Austin area as well.
If we can't match you up with a ride, check out some of Austin's local rideshare options.
If you are looking for a gift registry, you won't find one! We have decided not to request any gifts. We just want you to join us and celebrate our wedding day!!


Back
About
Venues
Lineup
Directions
She Began To Cry Tears Of Blood Which Became Little Brick Houses When They Hit The Ground by Venetian Snares
Media
She Began To Cry Tears Of Blood Which Became Little Brick Houses When They Hit The Ground by Venetian Snares


Tags: nan
Style: Impressionism
Artist: Monet Claude
Title: Meadows in Giverny
Year: 1888
Genre: landscape
Categories: barn (16.9%); castle (8.7%); hay (5.5%); viaduct (5.4%); church (3.4%)
<< previous image next image >>


| Class | Description |
|---|---|
| Aes128 |
Wrapper class to enable AES 128-bit encoding and decoding.
|
| Base32 |
Encodes arbitrary byte arrays as case-insensitive base-32 strings
|
| Base64 |
A very fast and memory efficient class to encode and decode to and from BASE64 in full accordance
with RFC 2045.
On Windows XP sp1 with 1.4.2_04 and later ;), this encoder and decoder is about 10 times faster on small arrays (10 - 1000 bytes) and 2-3 times as fast on larger arrays (10000 - 1000000 bytes) compared to sun.misc.Encoder()/Decoder() .On byte arrays the encoder is about 20% faster than Jakarta Commons Base64 Codec for encode and about 50% faster for decoding large arrays. |
| CleanSocketFactory | |
| CleanTrustManager | |
| LDAPCache | |
| LogFormatter |
Our logformatter class takes care of single-line logging, as opposed to the default double-line logging which is the default for the IDP.
|
| Sha256 |
| Exception | Description |
|---|---|
| Base32.DecodingException |


{% extends "layout-v2.html" %} {% block pageTitle %} NHS Cervical screening management system {% endblock %} {% block header %} {% include '../../v10/components/header-3.html' %} {% endblock %} {% block content %}
The following patients need reviewing as they are due to be invited for screening. If you do not take any action then patients will be invited to be screened.
Find out how to action patients because of mental capacity or patient choice?
If this problem persists then contact the help desk
", "classes" : "nhsuk-u-margin-top-0 nhsuk-u-margin-bottom-0" }) }} {% endblock %} {% block footer %} {% endblock %} {% block pageScripts %} {% endblock %}


1 write to Operator
System.Management.Automation (1)
engine\parser\ast.cs (1)
6275
this.
Operator
= @operator;
3 references to Operator
System.Management.Automation (3)
engine\parser\ast.cs (1)
6310
return new AssignmentStatementAst(this.Extent, newLeft, this.
Operator
, newRight, this.ErrorPosition);
engine\parser\Compiler.cs (1)
3531
assignmentStatementAst.
Operator
,
engine\parser\SemanticChecks.cs (1)
867
CheckAssignmentTarget(assignmentStatementAst.Left, assignmentStatementAst.
Operator
== TokenKind.Equals,


dlltool - create files needed to build and use DLLs
dlltool [-d|--input-def def-file-name]
[-b|--base-file base-file-name]
[-e|--output-exp exports-file-name]
[-z|--output-def def-file-name]
[-l|--output-lib library-file-name]
[-y|--output-delaylib library-file-name]
[--export-all-symbols] [--no-export-all-symbols]
[--exclude-symbols list]
[--no-default-excludes]
[-S|--as path-to-assembler] [-f|--as-flags
options]
[-D|--dllname name] [-m|--machine
machine]
[-a|--add-indirect]
[-U|--add-underscore] [--add-stdcall-underscore]
[-k|--kill-at] [-A|--add-stdcall-alias]
[-p|--ext-prefix-alias prefix]
[-x|--no-idata4] [-c|--no-idata5]
[--use-nul-prefixed-import-tables]
[-I|--identify library-file-name]
[--identify-strict]
[-i|--interwork]
[-n|--nodelete] [-t|--temp-prefix prefix]
[-v|--verbose]
[-h|--help] [-V|--version]
[--no-leading-underscore] [--leading-underscore]
[object-file ...]
dlltool reads its inputs, which can come from the -d and -b
options as well as object files specified on the command line. It then
processes these inputs and if the -e option has been specified it
creates a exports file. If the -l option has been specified it creates
a library file and if the -z option has been specified it creates a def
file. Any or all of the -e, -l and -z options can be
present in one invocation of dlltool.
When creating a DLL, along with the source for the DLL, it is
necessary to have three other files. dlltool can help with the
creation of these files.
The first file is a .def file which specifies which
functions are exported from the DLL, which functions the DLL imports, and so
on. This is a text file and can be created by hand, or dlltool can be
used to create it using the -z option. In this case dlltool
will scan the object files specified on its command line looking for those
functions which have been specially marked as being exported and put entries
for them in the .def file it creates.
In order to mark a function as being exported from a DLL, it needs
to have an -export:<name_of_function> entry in the
.drectve section of the object file. This can be done in C by using
the asm() operator:
asm (".section .drectve");
asm (".ascii \"-export:my_func\"");
int my_func (void) { ... }
The second file needed for DLL creation is an exports file. This
file is linked with the object files that make up the body of the DLL and it
handles the interface between the DLL and the outside world. This is a
binary file and it can be created by giving the -e option to
dlltool when it is creating or reading in a .def file.
The third file needed for DLL creation is the library file that
programs will link with in order to access the functions in the DLL (an
`import library'). This file can be created by giving the -l option
to dlltool when it is creating or reading in a .def file.
If the -y option is specified, dlltool generates a
delay-import library that can be used instead of the normal import library
to allow a program to link to the dll only as soon as an imported function
is called for the first time. The resulting executable will need to be
linked to the static delayimp library containing
__delayLoadHelper2(), which in turn will import LoadLibraryA and
GetProcAddress from kernel32.
dlltool builds the library file by hand, but it builds the
exports file by creating temporary files containing assembler statements and
then assembling these. The -S command-line option can be used to
specify the path to the assembler that dlltool will use, and the -f
option can be used to pass specific flags to that assembler. The -n
can be used to prevent dlltool from deleting these temporary assembler files
when it is done, and if -n is specified twice then this will prevent
dlltool from deleting the temporary object files it used to build the
library.
Here is an example of creating a DLL from a source file
dll.c and also creating a program (from an object file called
program.o) that uses that DLL:
gcc -c dll.c
dlltool -e exports.o -l dll.lib dll.o
gcc dll.o exports.o -o dll.dll
gcc program.o dll.lib -o program
dlltool may also be used to query an existing import
library to determine the name of the DLL to which it is associated. See the
description of the -I or --identify option.
The command-line options have the following meanings:
- -d filename
- --input-def filename
- Specifies the name of a .def file to be read in and processed.
- -b filename
- --base-file filename
- Specifies the name of a base file to be read in and processed. The
contents of this file will be added to the relocation section in the
exports file generated by dlltool.
- -e filename
- --output-exp filename
- Specifies the name of the export file to be created by dlltool.
- -z filename
- --output-def filename
- Specifies the name of the .def file to be created by dlltool.
- -l filename
- --output-lib filename
- Specifies the name of the library file to be created by dlltool.
- -y filename
- --output-delaylib filename
- Specifies the name of the delay-import library file to be created by
dlltool.
- --export-all-symbols
- Treat all global and weak defined symbols found in the input object files
as symbols to be exported. There is a small list of symbols which are not
exported by default; see the --no-default-excludes option. You may
add to the list of symbols to not export by using the
--exclude-symbols option.
- --no-export-all-symbols
- Only export symbols explicitly listed in an input .def file or in
.drectve sections in the input object files. This is the default
behaviour. The .drectve sections are created by dllexport
attributes in the source code.
- --exclude-symbols list
- Do not export the symbols in list. This is a list of symbol names
separated by comma or colon characters. The symbol names should not
contain a leading underscore. This is only meaningful when
--export-all-symbols is used.
- --no-default-excludes
- When --export-all-symbols is used, it will by default avoid
exporting certain special symbols. The current list of symbols to avoid
exporting is DllMain@12, DllEntryPoint@0, impure_ptr.
You may use the --no-default-excludes option to go ahead and export
these special symbols. This is only meaningful when
--export-all-symbols is used.
- -S path
- --as path
- Specifies the path, including the filename, of the assembler to be used to
create the exports file.
- -f options
- --as-flags options
- Specifies any specific command-line options to be passed to the assembler
when building the exports file. This option will work even if the
-S option is not used. This option only takes one argument, and if
it occurs more than once on the command line, then later occurrences will
override earlier occurrences. So if it is necessary to pass multiple
options to the assembler they should be enclosed in double quotes.
- -D name
- --dll-name name
- Specifies the name to be stored in the .def file as the name of the
DLL when the -e option is used. If this option is not present, then
the filename given to the -e option will be used as the name of the
DLL.
- -m machine
- -machine machine
- Specifies the type of machine for which the library file should be built.
dlltool has a built in default type, depending upon how it was
created, but this option can be used to override that. This is normally
only useful when creating DLLs for an ARM processor, when the contents of
the DLL are actually encode using Thumb instructions.
- -a
- --add-indirect
- Specifies that when dlltool is creating the exports file it should
add a section which allows the exported functions to be referenced without
using the import library.
- -U
- --add-underscore
- Specifies that when dlltool is creating the exports file it should
prepend an underscore to the names of all exported symbols.
- --no-leading-underscore
- --leading-underscore
- Specifies whether standard symbol should be forced to be prefixed, or
not.
- --add-stdcall-underscore
- Specifies that when dlltool is creating the exports file it should
prepend an underscore to the names of exported stdcall functions.
Variable names and non-stdcall function names are not modified. This
option is useful when creating GNU-compatible import libs for third party
DLLs that were built with MS-Windows tools.
- -k
- --kill-at
- Specifies that @<number> suffixes should be omitted from the
names of stdcall functions that will be imported from the DLL. This is
useful when creating an import library for a DLL which exports stdcall
functions but without the usual @<number> symbol name suffix.
This does not change the naming of symbols provided by the
import library to programs linked against it, but only the entries in
the import table (ie the .idata section).
- -A
- --add-stdcall-alias
- Specifies that when dlltool is creating the exports file it should
add aliases for stdcall symbols without @ <number> in
addition to the symbols with @ <number>.
- -p
- --ext-prefix-alias prefix
- Causes dlltool to create external aliases for all DLL imports with
the specified prefix. The aliases are created for both external and import
symbols with no leading underscore.
- -x
- --no-idata4
- Specifies that when dlltool is creating the exports and library
files it should omit the ".idata4"
section. This is for compatibility with certain operating systems.
- --use-nul-prefixed-import-tables
- Specifies that when dlltool is creating the exports and library
files it should prefix the ".idata4" and
".idata5" by zero an element. This
emulates old gnu import library generation of
"dlltool". By default this option is
turned off.
- -c
- --no-idata5
- Specifies that when dlltool is creating the exports and library
files it should omit the ".idata5"
section. This is for compatibility with certain operating systems.
- -I filename
- --identify filename
- Specifies that dlltool should inspect the import library indicated
by filename and report, on
"stdout", the name(s) of the associated
DLL(s). This can be performed in addition to any other operations
indicated by the other options and arguments. dlltool fails if the
import library does not exist or is not actually an import library. See
also --identify-strict.
- --identify-strict
- Modifies the behavior of the --identify option, such that an error
is reported if filename is associated with more than one DLL.
- -i
- --interwork
- Specifies that dlltool should mark the objects in the library file
and exports file that it produces as supporting interworking between ARM
and Thumb code.
- -n
- --nodelete
- Makes dlltool preserve the temporary assembler files it used to
create the exports file. If this option is repeated then dlltool will also
preserve the temporary object files it uses to create the library
file.
- -t prefix
- --temp-prefix prefix
- Makes dlltool use prefix when constructing the names of
temporary assembler and object files. By default, the temp file prefix is
generated from the pid.
- -v
- --verbose
- Make dlltool describe what it is doing.
- -h
- --help
- Displays a list of command-line options and then exits.
- -V
- --version
- Displays dlltool's version number and then exits.
- @file
- Read command-line options from file. The options read are inserted
in place of the original @file option. If file does not
exist, or cannot be read, then the option will be treated literally, and
not removed.
Options in file are separated by whitespace. A
whitespace character may be included in an option by surrounding the
entire option in either single or double quotes. Any character
(including a backslash) may be included by prefixing the character to be
included with a backslash. The file may itself contain additional
@file options; any such options will be processed
recursively.
The Info pages for binutils.
Copyright (c) 1991-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU Free
Documentation License".


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/homeos.html ---
@Scott Morrison For the perfectoid project I had to get back to my old https://github.com/PatrickMassot/lean-differential-topology/blob/master/src/homeos.lean defining homeomorphisms. But now we have the category Top in mathlib, and isomorphisms. Can I throw away my file and use the category theory stuff? How would that work?
That's what I did in lean-homotopy-theory. My internet is acting up and I can't provide a direct link, but the filename is src/homotopy_theory/topological_spaces/homeomorphism.lean
great
It looks nice, but I'd like to be able to plug this into the story we have in the separation thread
Do you think it's possible, or does it mean everything must be rewritten in terms of Top instead of topological_space?
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Govinda is currently pursuing his Masters Degree in Computer Science from Northeastern University, Boston. He has earned his Bachelors Degree in Information Technology from Uttar Pradesh Technical University, and currently he is actively seeking a challenging role at big/mid/small sized firms in the software development field.
The website is one place stop for all you need to know about the current statistics of the different Soccer League. We bring to you the latest news from accross the Soccer world.


Add the
vertical attribute in order to set whether or not the divider is vertically-oriented.
Item 1Item 2Item 3
Dividers can be added to lists as a means of separating content into distinct sections. Inset dividers can also be added to provide the appearance of distinct elements in a list without cluttering content like avatar images or icons. Make sure to avoid adding an inset divider to the last element in a list, because it will overlap with the section divider.


AVG Function
The AVG function returns the average (arithmetic mean) of the input expression values. The AVG function works with numeric values and ignores NULL values.
Syntax
AVG ( [ DISTINCT | ALL ] expression )
Arguments
- expression
-
The target column or expression that the function operates on.
- DISTINCT | ALL
-
With the argument DISTINCT, the function eliminates all duplicate values from the specified expression before calculating the average. With the argument ALL, the function retains all duplicate values from the expression for calculating the average. ALL is the default.
Data Types
The argument types supported by the AVG function are SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, and DOUBLE PRECISION.
The return types supported by the AVG function are:
-
NUMERIC for any integer type argument
-
DOUBLE PRECISION for a floating point argument
The default precision for an AVG function result with a 64-bit NUMERIC or DECIMAL argument is 19. The default precision for a result with a 128-bit NUMERIC or DECIMAL argument is 38. The scale of the result is the same as the scale of the argument. For example, an AVG of a DEC(5,2) column returns a DEC(19,2) data type.
Examples
Find the average quantity sold per transaction from the SALES table:
select avg(qtysold)from sales; avg ----- 2 (1 row)
Find the average total price listed for all listings:
select avg(numtickets*priceperticket) as avg_total_price from listing; avg_total_price ----------------- 3034.41 (1 row)
Find the average price paid, grouped by month in descending order:
select avg(pricepaid) as avg_price, month from sales, date where sales.dateid = date.dateid group by month order by avg_price desc; avg_price | month -----------+------- 659.34 | MAR 655.06 | APR 645.82 | JAN 643.10 | MAY 642.72 | JUN 642.37 | SEP 640.72 | OCT 640.57 | DEC 635.34 | JUL 635.24 | FEB 634.24 | NOV 632.78 | AUG (12 rows)


The professional dancer, 29, used Gemma's 35th birthday as an excuse to post a never-before-seen snap of their newborn baby - who they welcomed in July - alongside a gushing caption about his sweetheart.
The rare image showed blonde Gemma planting a kiss on baby Mia's cheek as she cradled her in her arms.
Gym bunny Gemma rocked a black sports bra and leggings with her hair up in a casual bun.
Mia peered up at the camera clad in a white babygrow as her daddy snapped away at the two special girls in his life.
Gorka also shared a number selfies of him and Gemma pulling faces as well as a photo of first-time mum Gemma pushing Mia in her buggy on a walk in the countryside.
Making his admiration for his girlfriend clear, the Spanish native wrote alongside the gallery of snaps: "HAPPY BIRTHDAY MY WORLD!!
"To my love, my rock, my best friend, the person who everyday puts a smile on my face and always make every second of a day brilliant just being by your side doing nothing just looking at you!"
Praising her parenting, he continued: "To the best mummy thank you for growing our gorgeous daughter inside of you and bringing her safely and healthily into this world.
"I am the proudest man in the world... Today is your day and I’m the happiest man knowing that I get to be the one by your side in this day to celebrate it with out little family."
Sharing his thoughts on the future, he added: "Can’t wait to spend the rest of our lives by each others sides seeing our little one grow and celebrate more birthdays together.
The happy couple met on the 2017 series of Strictly when they were partnered with different people, but that didn't stop their love from blossoming.
Gemma had even joked that she'd happily welcome the infamous Strictly Curse if it meant she could find a man - and on Valentine's Day 2018, the pair finally went public with their romance.
Gemma took to Instagram to break the news, sharing a romantic sun-soaked picture of them on holiday together looking gorgeous in their swimwear.
"Here's to many more kid. Happy Valentines Day Gorka Marquez," she gushed.
By Christmas of that year, the couple were serious, with Gorka taking her to his native Bilbao to meet his whole family.
And in February this year, the pair revealed they were expecting their first baby together with a sweet snap of Gemma's dogs Ollie and Norman proudly declaring they were set to become big brothers.
Do you have a story to sell? Get in touch with us at<EMAIL_ADDRESS>or call us direct 0207 29 33033


public class LifeExpectancyEntry extends java.lang.Object implements DataEntry, WorldData, java.lang.Comparable<LifeExpectancyEntry>
LifeExpectancyEntry
Object encapsulates the state information needed
to make markers of, this state information includes:
Overrides the equals()
, hashCode()
, toString()
methods
| Constructor and Description |
|---|
LifeExpectancyEntry(java.lang.String countryName,
java.lang.String countryCode,
java.util.Map<java.lang.Integer,java.lang.Float> yearLifeExpectancyMap)
Sole Constructor for the POJO class to initialize all final fields (Immutable).
|
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(LifeExpectancyEntry anotherRecord)
Defines natural ordering of sorting in ascending order using country name.
|
boolean |
equals(java.lang.Object o)
Uses no class hierarchy and is reflexive, symmetric, transitive, consistent and returns false on null input.
|
java.lang.Float |
getCertainYearValue(int year)
Gets the float value (life expectancy value) for a given year in entry.
|
java.lang.String |
getCountryCode()
Gets the Country Code for the entry represented by the POJO
|
java.lang.String |
getCountryName()
Gets the Country Name for the entry represented by the POJO
|
java.util.Map<java.lang.Integer,java.lang.Float> |
getMap()
Gets the mapping map as a unmodefiable Map so can't be changed by reference sharing and it holds year and life expectancy values for
current record, could be used for something ( unused for now ).
|
int |
hashCode()
Computes the consistent and distinct hashCode value used with hashed structures to work using the POJO.
|
java.lang.String |
toString()
Represents String containing information about the POJO object.
|
public LifeExpectancyEntry(java.lang.String countryName, java.lang.String countryCode, java.util.Map<java.lang.Integer,java.lang.Float> yearLifeExpectancyMap)
countryName
- The string representation of the Country Name from the data feedcountryCode
- The String representation of CountryyearLifeExpectancyMap
- A Mapping of Years to Life expectancy value for the country of that entry from 1960 to 2017public java.lang.String getCountryCode()
getCountryCode
in interface WorldData
public java.lang.String getCountryName()
public java.util.Map<java.lang.Integer,java.lang.Float> getMap()
public java.lang.Float getCertainYearValue(int year)
getCertainYearValue
in interface WorldData
year
- The int representation of a certain year in the entryjava.lang.IllegalArgumentException
- if year input is not between 1960 and 2017.public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
o
- Object holding another LifeExpectancyEntry
that will be used for equality comparisonpublic int hashCode()
also matches the equals method for Hashed Structures to work efficiently using immutable values for hashed structures not to break (same value as equals)
hashCode
in class java.lang.Object
public int compareTo(LifeExpectancyEntry anotherRecord)
equals
for sorted hashed structures to work
as if two countries have the same name then country code is compared instead
matching the equals
method for sorted hashed structures to work efficiently
uses Immutable values same as hashcode and equalscompareTo
in interface java.lang.Comparable<LifeExpectancyEntry>
anotherRecord
- Another LifeExpectancyEntry to be compared againstjava.lang.NullPointerException
- if a null input is given.public java.lang.String toString()
toString
in class java.lang.Object