/***********************************************************************
 *
 * Copyrigth: Karl Hammar, Aspö Data, LGPL
 *
 */

#include <aspoutil.h>
#include "rfid.h"

int rfid_buf2uid(const uint8_t buf[8], uint64_t *uid) {
  int ix;

  LOG_IF(!buf, LOG_ERR) return -1;
  LOG_IF(!uid, LOG_ERR) return -1;

  for (ix = 7; ix >= 0; --ix ) {
    *uid <<= 8;
    *uid |= buf[ix];
  }

  return 0;
}

int rfid_uid2buf(uint64_t uid, uint8_t buf[8]) {
  int ix;

  LOG_IF(!buf, LOG_ERR) return -1;

  for (ix = 0; ix < 8; ++ix ) {
    buf[ix] = uid & 0xff;
    uid >>= 8;
  }

  return 0;
}
