45 #include "contiki-net.h"
48 static const struct packetbuf_attrlist attributes[] =
50 BROADCAST_ATTRIBUTES PACKETBUF_ATTR_LAST
56 #define PRINTF(...) printf(__VA_ARGS__)
63 recv_from_abc(
struct abc_conn *bc)
66 struct broadcast_conn *c = (
struct broadcast_conn *)bc;
68 linkaddr_copy(&sender, packetbuf_addr(PACKETBUF_ADDR_SENDER));
70 PRINTF(
"%d.%d: broadcast: from %d.%d\n",
72 sender.u8[0], sender.u8[1]);
74 c->u->recv(c, &sender);
79 sent_by_abc(
struct abc_conn *bc,
int status,
int num_tx)
81 struct broadcast_conn *c = (
struct broadcast_conn *)bc;
83 PRINTF(
"%d.%d: sent to %d.%d status %d num_tx %d\n",
85 packetbuf_addr(PACKETBUF_ADDR_SENDER)->u8[0],
86 packetbuf_addr(PACKETBUF_ADDR_SENDER)->u8[1],
89 c->u->sent(c, status, num_tx);
93 static const struct abc_callbacks broadcast = {recv_from_abc, sent_by_abc};
99 abc_open(&c->c, channel, &broadcast);
101 channel_set_attributes(channel, attributes);
113 PRINTF(
"%d.%d: broadcast_send\n",
linkaddr_t linkaddr_node_addr
The Rime address of the node.
void broadcast_close(struct broadcast_conn *c)
Close a broadcast connection.
int abc_send(struct abc_conn *c)
Send an anonymous best-effort broadcast packet.
void linkaddr_copy(linkaddr_t *dest, const linkaddr_t *src)
Copy a Rime address.
Callback structure for broadcast.
int broadcast_send(struct broadcast_conn *c)
Send an identified best-effort broadcast packet.
void abc_close(struct abc_conn *c)
Close an abc connection.
void abc_open(struct abc_conn *c, uint16_t channelno, const struct abc_callbacks *callbacks)
Set up an anonymous best-effort broadcast connection.
void broadcast_open(struct broadcast_conn *c, uint16_t channel, const struct broadcast_callbacks *u)
Set up an identified best-effort broadcast connection.
Callback structure for abc.