| // Copyright 2017 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include <stdio.h> |
| #include <string.h> |
| |
| #include "device_id.h" |
| #include "eff_short_wordlist_1.h" |
| |
| #define APPEND_WORD(NUM, SEP) \ |
| word = dictionary[(NUM) % DICEWARE_DICTIONARY_SIZE]; \ |
| memcpy(dest, word, strlen(word)); \ |
| dest += strlen(word); \ |
| *dest = SEP; \ |
| dest++; |
| |
| void device_id_get(unsigned char mac[6], char out[DEVICE_ID_MAX]) { |
| const char* word; |
| char* dest = out; |
| APPEND_WORD(mac[0] | ((mac[4] << 8) & 0xF00), '-'); |
| APPEND_WORD(mac[1] | ((mac[5] << 8) & 0xF00), '-'); |
| APPEND_WORD(mac[2] | ((mac[4] << 4) & 0xF00), '-'); |
| APPEND_WORD(mac[3] | ((mac[5] << 4) & 0xF00), 0); |
| } |