void request_header_parse(struct RequestHeader* header) { header->key_length = ntoh_uint16(((uint8_t*) &header->key_length)); header->reserved = ntoh_uint16((uint8_t*) &header->reserved); header->total_body_length = ntoh_uint32((uint8_t*) &header->total_body_length); header->opaque = ntoh_uint32((uint8_t*) &header->opaque); header->cas = ntoh_uint64((uint8_t*) &header->cas); }
/*---------------------------------------------------------------------------*/ static void abc_recv(struct abc_conn *c) { printf("Message received.\n"); msg_header_t * header; uint8_t *data; uint16_t data_len; char i; header = (msg_header_t *)(packetbuf_dataptr()); data_len = ntoh_uint16(&header->data_len); data = (uint8_t *)(header + 1); i = ecdsa_verify(data, data_len, header->r, header->s, &pbkey_alice); if(i==1) { leds_toggle(LEDS_GREEN); } else { leds_toggle(LEDS_RED); } }