]> rtime.felk.cvut.cz Git - frescor/fwp.git/blobdiff - fwp/lib/mngt/fwp_msg.h
Added fwp_contract_cancel fucntion
[frescor/fwp.git] / fwp / lib / mngt / fwp_msg.h
index b7b5c49f2714336e25dc25267d9f3ebdb64f572b..077350f6ae403210908f4a9c6a84a7e87f18ab29 100644 (file)
@@ -7,10 +7,12 @@
 #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;
@@ -18,17 +20,20 @@ struct fwp_msg_header{
        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 {
@@ -37,22 +42,25 @@ 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 */