static void printbuf(const void *buf, size_t buflen) {
    const uint8_t *l = (const unsigned char*)buf;
    for (size_t i = 0; i < buflen; i++) {
        printf("%02X", l[i]);
    }
}