1 /* See LICENSE of license details. */ 2 3 #include <stdint.h> 4 #include <unistd.h> 5 write_hex(int fd,unsigned long int hex)6void 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