Question #670792 on rohc changed: https://answers.launchpad.net/rohc/+question/670792
Description changed to: Dear Sir, Hi, I'm developing a code for compretion. And it is returning rohc_status = ROHC_STATUS_ERROR , for the rohc_compress4(). Can't figure out what is the issue, I checked the buffer size, the input buffer before passing to the function buffer is not empty, and the rohc buffer is empty I don't know what is the issue with the code. The compression function is only working for profile 0x0000, For every other profile, it returns ROHC_STATUS_ERROR. Regards, Jyotirmay Saini ********************************************************************** #define PAYLOAD "hello world" THIS IS INPUT PACKET // Create an IP packet for the purpose of this simple program printf("\nBuild a fake IP packet.\n"); rohc_buf_byte_at(ip_packet, 0) = 4 << 4; // IP version 4 rohc_buf_byte_at(ip_packet, 0) |= 5; //IHL: min. IPv4 header length (in 32-bit words) rohc_buf_byte_at(ip_packet, 1) = 0; // TOS ip_packet.len = 5 * 4 + strlen(PAYLOAD); rohc_buf_byte_at(ip_packet, 2) = (ip_packet.len >> 8) & 0xff; // Total Length rohc_buf_byte_at(ip_packet, 3) = ip_packet.len & 0xff; rohc_buf_byte_at(ip_packet, 4) = 0; // IP-ID rohc_buf_byte_at(ip_packet, 5) = 0; rohc_buf_byte_at(ip_packet, 6) = 0; // Fragment Offset and IP flags rohc_buf_byte_at(ip_packet, 7) = 0; rohc_buf_byte_at(ip_packet, 8) = 1; // TTL rohc_buf_byte_at(ip_packet, 9) = 134; // Protocol: unassigned number rohc_buf_byte_at(ip_packet, 10) = 0xa9; // IP Checksum rohc_buf_byte_at(ip_packet, 11) = 0x3f; rohc_buf_byte_at(ip_packet, 12) = 0x01; // Source address rohc_buf_byte_at(ip_packet, 13) = 0x02; rohc_buf_byte_at(ip_packet, 14) = 0x03; rohc_buf_byte_at(ip_packet, 15) = 0x04; rohc_buf_byte_at(ip_packet, 16) = 0x05; // Destination address rohc_buf_byte_at(ip_packet, 17) = 0x06; rohc_buf_byte_at(ip_packet, 18) = 0x07; rohc_buf_byte_at(ip_packet, 19) = 0x08; // Copy the payload just after the IP header memcpy(rohc_buf_data_at(ip_packet, 5 * 4), PAYLOAD, strlen(PAYLOAD)); ******************************************************************************************** HERE THE FUNCTION IS BEING USED // Compress the IP packet. printf("Compress the IP packet.\n"); rohc_status = rohc_compress4(compressor, ip_packet, &rohc_packet); if(rohc_status != ROHC_STATUS_OK) { fprintf(stderr, "compression of IP packet failed: %s (%d)\n", rohc_strerror(rohc_status), rohc_status); // Cleanup compressor, then leave with an error code. rohc_comp_free(compressor); return 1; } -- You received this question notification because your team ROHC Team is an answer contact for rohc. _______________________________________________ Mailing list: https://launchpad.net/~rohc Post to : rohc@lists.launchpad.net Unsubscribe : https://launchpad.net/~rohc More help : https://help.launchpad.net/ListHelp