#include "fwp_vres.h"
#include "fwp_participant.h"
-#define FWP_MSG_HELLO 0x00 /* contract negotiation request */
-#define FWP_MSG_NEGTREQ 0x02 /* contract negotiation request */
-#define FWP_MSG_NEGTRES 0x03 /* contract negotiation response */
-
+typedef enum {
+ FWP_MSG_HELLO = 1<<1,
+ FWP_MSG_RESERVE = 1<<2,
+ FWP_MSG_COMMIT = 1<<3,
+ FWP_MSG_CANCEL = 1<<4
+} fwp_msg_type_t;
struct fwp_msg_header{
uint16_t type;
uint32_t app_id; /**< application id */
}__attribute__((packed));
-struct fwp_msg_contract{
+struct fwp_msg_contracthdr{
+ uint32_t id;
+ uint8_t status;
+}__attribute__((packed));
+
+struct fwp_msg_contract{
uint16_t budget; /**< bits per second */
uint32_t period_usec; /**< all time units are in microseconds */
}__attribute__((packed));
struct fwp_msg_vres_params{
- uint16_t id; /**< STA-unique vres param id */
uint16_t budget; /**< bits per second */
uint32_t period_usec; /**< all time units are in microseconds */
uint8_t ac_id; /**< AC id ~ priority of vres */
- uint8_t status;
}__attribute__((packed));
struct fwp_msg_hello {
uint16_t stream_id;
}__attribute__((packed));
-void fwp_msg_header_deflate(unsigned char *data, unsigned int type,
- fwp_participant_id_t participant_id);
-void fwp_msg_header_inflate(unsigned char *data, unsigned int *type,
- fwp_participant_id_t *participant_id);
+void fwp_msg_header_in(unsigned char *data, fwp_msg_type_t type,
+ fwp_participant_id_t participant_id);
+void fwp_msg_header_out(unsigned char *data, fwp_msg_type_t *type,
+ fwp_participant_id_t *participant_id);
+
+void fwp_msg_contracthdr_in(unsigned char *data, fwp_contract_id_t id,
+ fwp_contract_status_t status);
+void fwp_msg_contracthdr_out(unsigned char *data, fwp_contract_id_t *id,
+ fwp_contract_status_t *status);
-void fwp_msg_contract_deflate(unsigned char *data, struct fwp_contract *cont);
-void fwp_msg_contract_inflate(unsigned char *data, struct fwp_contract *cont);
+void fwp_msg_contract_in(unsigned char *data, fwp_contract_t *cont);
+void fwp_msg_contract_out(unsigned char *data, fwp_contract_t *cont);
-void fwp_msg_vres_params_deflate(unsigned char *data, unsigned int status,
- fwp_vres_params_t *vparams);
-void fwp_msg_vres_params_inflate(unsigned char *data, unsigned int *status,
- fwp_vres_params_t *vparams);
+void fwp_msg_vres_params_in(unsigned char *data, fwp_vres_params_t *vparams);
+void fwp_msg_vres_params_out(unsigned char *data, fwp_vres_params_t *vparams);
-void fwp_msg_hello_deflate(unsigned char *data,
- fwp_participant_info_t *participant_info);
-void fwp_msg_hello_inflate(unsigned char *data,
- fwp_participant_info_t *participant_info);
+void fwp_msg_hello_in(unsigned char *data,
+ fwp_participant_info_t *participant_info);
+void fwp_msg_hello_out(unsigned char *data,
+ fwp_participant_info_t *participant_info);
#endif /* _FWP_MSG_H */