Functions to create ROHC feedback.
More...
#include "feedback_create.h"
#include "crc.h"
#include "rohc_debug.h"
#include "rohc_bit_ops.h"
#include "sdvl.h"
#include <string.h>
#include <assert.h>
Functions |
static bool | f_append_cid (struct d_feedback *const feedback, const uint16_t cid, const rohc_cid_type_t cid_type) |
| Append the CID to the feedback packet.
|
void | f_feedback1 (const uint32_t sn, struct d_feedback *const feedback) |
| Build a FEEDBACK-1 packet.
|
bool | f_feedback2 (const rohc_ack_type_t ack_type, const rohc_mode_t mode, const uint32_t sn, struct d_feedback *const feedback) |
| Build a FEEDBACK-2 packet.
|
bool | f_add_option (struct d_feedback *const feedback, const rohc_feedback_opt_t opt_type, const unsigned char *const data, const size_t data_len) |
| Add an option data to the FEEDBACK-2 packet.
|
uint8_t * | f_wrap_feedback (struct d_feedback *const feedback, const uint16_t cid, const rohc_cid_type_t cid_type, const rohc_feedback_crc_t protect_with_crc, const uint8_t *const crc_table, size_t *const final_size) |
| Wrap the feedback packet and add a CRC option if specified.
|
Detailed Description
Functions to create ROHC feedback.
- Author:
- Didier Barvaux <didier.barvaux@toulouse.viveris.com>
-
Didier Barvaux <didier@barvaux.org>
Function Documentation
Add an option data to the FEEDBACK-2 packet.
- Parameters:
-
feedback | The feedback packet to which the option must be added |
opt_type | The type of option to add |
data | The option data |
data_len | The length of option data (in bytes) |
- Returns:
- true if the option is successfully added, false otherwise
Append the CID to the feedback packet.
- Parameters:
-
feedback | The feedback packet to which the CID must be appended |
cid | The Context ID (CID) to append |
cid_type | The type of CID used for the feedback |
- Returns:
- Whether the CID is successfully appended or not
Build a FEEDBACK-1 packet.
- Parameters:
-
sn | The Sequence Number (SN) the feedback packet is associated with |
feedback | The feedback packet to build |
Build a FEEDBACK-2 packet.
- Parameters:
-
ack_type | The type of acknowledgement:
|
mode | The mode in which ROHC operates:
|
sn | The Sequence Number (SN) the feedback packet is associated with, zero if unknown |
feedback | The feedback packet to build |
- Returns:
- true if the packet is successfully built, false otherwise
Wrap the feedback packet and add a CRC option if specified.
- Warning:
- CID may be greater than MAX_CID if the context was not found and generated a No Context feedback; it must however respect CID type
- Parameters:
-
feedback | The feedback packet to which the CID must be appended |
cid | The Context ID (CID) to append |
cid_type | The type of CID used for the feedback |
protect_with_crc | Whether the CRC option must be added or not |
crc_table | The pre-computed table for fast CRC computation |
final_size | OUT: The final size of the feedback packet |
- Returns:
- The feedback packet if successful, NULL otherwise