Hai detto che il resto lo facevi te Comunque quello che cerchi è la conversione da hex a int e con il tmp_buf del mio esempio basta che fai:
codice:
  unsigned char tmp_dec = (tmp_buf[0] - '0') * 16 + (tmp_buf[1] - '0');
ottimizzando un poco:
codice:
  s = "C60008";
  unsigned char tmp_conv[10];
  char *tmp_s;
  unsigned char *tmp_p = tmp_conv;
  memset(tmp_conv, 0, sizeof(tmp_conv));
  for( i = 0, tmp_s = s; i < strlen(s); i += 2)
  {
     *tmp_p = (tmp_s[0] - '0') * 16 + (tmp_s[1] - '0');
     tmp_p++;
     tmp_s += 2;
  }
Prova un po' se va...l'ho scritto velocemente