#define _FWP_VRES_H
#include <netinet/in.h>
+#include <stdbool.h>
struct fwp_vres;
typedef struct fwp_vres fwp_vres_t;
/** all time units are in microseconds */
fwp_period_t period;
fwp_ac_t ac_id; /**< AC id ~ priority of vres */
- /** Forced source address. If non-zero, packets are sent over
- * the specified interface. */
struct in_addr src;
} fwp_vres_params_t;
int fwp_vres_create(fwp_vres_params_t *params, fwp_vres_t **vresp);
int fwp_vres_destroy(fwp_vres_t *vres);
-int fwp_vres_send(fwp_vres_t *vres, struct fwp_msgb* msgb);
-int fwp_vres_bind(fwp_vres_t *vres, int sockd);
+int fwp_vres_consume_budget(struct fwp_vres *vres, size_t size, bool can_block);
+struct fwp_endpoint;
+int fwp_vres_enqueue(struct fwp_vres *vres, struct fwp_endpoint *ep, void *msg, size_t size);
+int fwp_vres_bind(fwp_vres_t *vres, struct fwp_endpoint *ep, int sockd);
int fwp_vres_unbind(fwp_vres_t *vres);
extern fwp_vres_params_t fwp_vres_params_default;