1 /* See LICENSE of license details. */
2 
3 #include <stdint.h>
4 #include <unistd.h>
5 
write_hex(int fd,unsigned long int hex)6 void write_hex(int fd, unsigned long int hex)
7 {
8   uint8_t ii;
9   uint8_t jj;
10   char towrite;
11   write(fd , "0x", 2);
12   for (ii = sizeof(unsigned long int) * 2 ; ii > 0; ii--) {
13     jj = ii - 1;
14     uint8_t digit = ((hex & (0xF << (jj*4))) >> (jj*4));
15     towrite = digit < 0xA ? ('0' + digit) : ('A' +  (digit - 0xA));
16     write(fd, &towrite, 1);
17   }
18 }
19