#define LINE_LEN 64
void DumpBufferHex(unsigned char * buf ,int len)
{
static char buf_str[LINE_LEN *3+4];
int buf_str_len=LINE_LEN *3+4;
int p_t=len/LINE_LEN ;
int p_remain=len%LINE_LEN;
int k=0;
int i=0;
int j=0;
for( k=0;k<p_t;k++)
{
j=0;
memset(buf_str,0,buf_str_len);
for( i=0;i<LINE_LEN;i++)
{
j+=sprintf(buf_str +j,"%02x ",buf[k*LINE_LEN+i]);
}
sprintf(buf_str +j,"/r/n");
printf(buf_str);
}
j=0;
memset(buf_str,0,buf_str_len);
for(i=0;i<p_remain;i++)
{
j+=sprintf(buf_str +j,"%02x ",buf[k*LINE_LEN+i]);
}
sprintf(buf_str +j,"/r/n");
printf(buf_str);
}
/*---------------------------------------------------------*/
#define OPL 16 /* octets printed per line */
int hexdump(unsigned char *buf, int dlen)
{
char c[OPL+1];
int i, ct;
if (dlen < 0) {
printf("WARNING: computed dlen %d/n", dlen);
dlen = 0;
}
for (i=0; i<dlen; ++i) {
if (i == 0)
printf("DATA: ", c);
else if ((i % OPL) == 0) {
c[OPL] = '/0';
printf("/t/"%s/"/nDATA: ", c);
}
ct = buf[i] & 0xff;
c[i % OPL] = (ct >= ' ' && ct <= '~') ? ct : '.';
printf("%02x ", ct);
}
c[i%OPL] = '/0';
for (; i % OPL; ++i)
printf(" ");
printf("/t/"%s/"/n", c);
return 1;
}