int fwp_send_endpoint_create(unsigned int node,
unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointdp)
+ fwp_endpoint_t **epoint)
{
struct sockaddr_in *addr;
fwp_endpoint_t *fwp_epoint;
}
FWP_DEBUG("FWP Send endpoint created.\n");
- *epointdp = fwp_epoint;
+ *epoint = fwp_epoint;
return 0;
err:
fwp_endpoint_destroy(fwp_epoint);
*/
int fwp_receive_endpoint_create(unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointdp)
+ fwp_endpoint_t **epoint)
{
struct sockaddr_in *addr;
fwp_endpoint_t *fwp_epoint;
&fwp_epoint->peer.addrlen);
FWP_DEBUG("Receive endpoint port=%d created.\n", fwp_epoint->port);
- *epointdp = fwp_epoint;
+ *epoint = fwp_epoint;
return 0;
err:
fwp_endpoint_destroy(fwp_epoint);
*
* \return On success returns 0. On error, -1 and errno is set appropriately.
*/
-int fwp_send_endpoint_bind(fwp_endpoint_d_t epointd, fwp_vres_d_t vresd)
+int fwp_send_endpoint_bind(fwp_endpoint_t *epoint, fwp_vres_d_t vresd)
{
int rv ;
- fwp_endpoint_t *fwp_epoint;
+ fwp_endpoint_t *fwp_epoint = epoint;
rv = _fwp_vres_bind(vresd, fwp_epoint->sockd);
/* if send endpoint is already bound
*/
ssize_t fwp_recv(fwp_endpoint_t *endpoint,
void *buffer, const size_t buffer_size,
- unsigned int *from)
+ unsigned int *from, int flags)
{
fwp_sockaddr_t *peer = &endpoint->peer;
ssize_t len;
fd_set fdset;
- fwp_endpoint_t *fwp_epoint;
+ fwp_endpoint_t *fwp_epoint = endpoint;
/* if (!fwp_endpoint_is_valid(epointd)) {
errno = EINVAL;
* On error, -1 is returned and errno is set appropriately.
*
*/
-int fwp_send(fwp_endpoint_t *fwp_epoint, void *msg, size_t size, int flags)
+int fwp_send(fwp_endpoint_t *fwp_epoint,const void *msg, const size_t size, int flags)
{
struct fwp_msgb *msgb;
/*fwp_endpoint_t *fwp_epoint;*/
unsigned int *port, fwp_endpoint_attr_t *attr);
int fwp_send_endpoint_create(unsigned int node, unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointdp);
+ fwp_endpoint_t **epoint);
int fwp_receive_endpoint_create(/*unsigned int node,*/ unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointdp);
+ fwp_endpoint_t **epoint);
int fwp_endpoint_destroy(fwp_endpoint_d_t epointd);
int fwp_send_endpoint_bind(fwp_endpoint_d_t epointd, fwp_vres_d_t vresd);
ssize_t fwp_recv(fwp_endpoint_t *endpoint,
void *buffer, const size_t buffer_size,
- unsigned int *from);
-int fwp_send(fwp_endpoint_t *fwp_epoint, void *msg, size_t size, int flags);
+ unsigned int *from, int flags);
+int fwp_send(fwp_endpoint_t *fwp_epoint, const void *msg, const size_t size, int flags);
int fwp_endpoint_attr_init(fwp_endpoint_attr_t *attr);
#include <fna.h>
+#include "fwp_endpoint.h"
#include "fwp_vres.h"
+#include "fwp.h"
-int fwp_fna_init(const frsh_resource_id_t resource_id);
+int fwp_fna_init(const frsh_resource_id_t resource_id)
{
return fwp_init();
}
int fwp_fna_send_endpoint_create(fna_endpoint_data_t *endpoint)
{
- unsigned int node;
- unsigned int port;
+ unsigned int node, port;
fwp_endpoint_attr_t *attr;
fwp_endpoint_t *fwp_epoint;
+ int rv;
- node = (unsigned int) destination;
- port = (unsigned int) port;
- attr = (fwp_endpoint_attr*) endpoint->protocol_info.body;
- rv = fwp_send_endpoint_create(node, port, attr, fwp_epoint);
+ node = (unsigned int) endpoint->destination;
+ port = (unsigned int) endpoint->stream_id;
+ attr = (fwp_endpoint_attr_t*) endpoint->protocol_info.body;
+ rv = fwp_send_endpoint_create(node, port, attr, &fwp_epoint);
if (rv)
return rv;
- endpoint->endpoint_protocol_info.send = fwp_epoint;
+ endpoint->endpoint_protocol_info.send.body = fwp_epoint;
return 0;
}
int fwp_fna_recv_endpoint_create(fna_endpoint_data_t *endpoint)
{
- unsigned int port;
+ unsigned int node,port;
fwp_endpoint_attr_t *attr;
fwp_endpoint_t *fwp_epoint;
+ int rv;
- node = (unsigned int) destination;
- port = (unsigned int) port;
- attr = (fwp_endpoint_attr*) endpoint->protocol_info.body;
- rv = fwp_receive_endpoint_create(port, attr, fwp_epoint);
+ node = (unsigned int) endpoint->destination;
+ port = (unsigned int) endpoint->stream_id;
+ attr = (fwp_endpoint_attr_t*) endpoint->protocol_info.body;
+ rv = fwp_receive_endpoint_create(port, attr, &fwp_epoint);
if (rv)
return rv;
- endpoint->endpoint_protocol_info.receive = fwp_epoint;
+ endpoint->endpoint_protocol_info.receive.body = fwp_epoint;
return 0;
}
const size_t size)
{
fwp_endpoint_t *fwp_epoint;
+ int flags = 0;
- fwp_epoint = endpoint->endpoint_protocol_info.send;
+ fwp_epoint = endpoint->endpoint_protocol_info.send.body;
return fwp_send(fwp_epoint, msg, size, flags);
}
-int fwp_fna_send_sync(const fna_endpoint_data_t *endpoint,const void *msg,
- const size_t size)
+int fwp_fna_send_sync(const fna_endpoint_data_t *endpoint,const void *msg,
+ const size_t size)
{
fwp_endpoint_t *fwp_epoint;
+ int flags = 0;
- fwp_epoint = endpoint->endpoint_protocol_info.send;
- return fwp_send(fwp_epoint, msg, size, 0);
-{
-
+ fwp_epoint = endpoint->endpoint_protocol_info.send.body;
+ return fwp_send(fwp_epoint, msg, size, flags);
+}
int fwp_fna_send_async(const fna_endpoint_data_t *endpoint,const void *msg,
const size_t size)
{
fwp_endpoint_t *fwp_epoint;
- fwp_epoint = endpoint->endpoint_protocol_info.send;
- return fwp_fna_send(endpoint, msg, size, MSG_DONTWAIT)
+ fwp_epoint = endpoint->endpoint_protocol_info.send.body;
+ return fwp_send(fwp_epoint, msg, size, MSG_DONTWAIT);
}
/** FNA receive routines */
unsigned int from_addr;
size_t len;
fwp_endpoint_t *fwp_epoint;
+ int flags = 0;
fwp_epoint = (fwp_endpoint_t*)
- epointd->endpoint_protocol_info.receive;
+ endpoint->endpoint_protocol_info.receive.body;
- len = fwp_recv(fwp_epoint, buffer, buffer_size, flags, &from_addr);
+ len = fwp_recv(fwp_epoint, buffer, buffer_size, &from_addr, flags);
if (len < 0)
return len;
unsigned int from_addr;
size_t len;
fwp_endpoint_t *fwp_epoint;
+ int flags = 0;
fwp_epoint = (fwp_endpoint_t*)
- epointd->endpoint_protocol_info.receive;
+ endpoint->endpoint_protocol_info.receive.body;
- len = fwp_recv(fwp_epoint, buffer, buffer_size, flags, &from_addr);
+ len = fwp_recv(fwp_epoint, buffer, buffer_size, &from_addr, flags);
if (len < 0)
return len;
unsigned int from_addr;
size_t len;
fwp_endpoint_t *fwp_epoint;
+ int flags = 0;
fwp_epoint = (fwp_endpoint_t*)
- epointd->endpoint_protocol_info.receive;
+ endpoint->endpoint_protocol_info.receive.body;
- len = fwp_recv(fwp_epoint, buffer, buffer_size, flags, &from_addr);
+ len = fwp_recv(fwp_epoint, buffer, buffer_size, &from_addr, flags);
if (len < 0)
return len;
const fna_vres_id_t vres)
{
// return fwp_vres_close(vres);
+ return 0;
}
-fna_operations_t fwp_fna_operations = {
+/*fna_operations_t fwp_fna_operations = {
.fna_init = fwp_fna_init,
.fna_contract_negotiate = NULL,
.fna_contract_renegotiate_sync = NULL,
.fna_network_bytes_to_budget = NULL,
.fna_network_budget_to_bytes = NULL,
.fna_network_get_min_eff_budget = NULL
-}
+};*/
+