X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fsystem%2FAMQueueImplP.nc;h=a4c4eaf5ec0be268ffeac5339cb28dcdc5f9ef7f;hb=HEAD;hp=51cd2aece1c3f83eee2531e2b3a4a925db67e151;hpb=b77b7e339aec20be27c172d80ecad499520f83ec;p=tinyos-2.x.git diff --git a/tos/system/AMQueueImplP.nc b/tos/system/AMQueueImplP.nc index 51cd2aec..a4c4eaf5 100644 --- a/tos/system/AMQueueImplP.nc +++ b/tos/system/AMQueueImplP.nc @@ -34,7 +34,7 @@ #include "AM.h" -generic module AMQueueImplP(int numClients) { +generic module AMQueueImplP(int numClients) @safe() { provides interface Send[uint8_t client]; uses{ interface AMSend[am_id_t id]; @@ -45,7 +45,7 @@ generic module AMQueueImplP(int numClients) { implementation { typedef struct { - message_t* msg; + message_t* ONE_NOK msg; } queue_entry_t; uint8_t current = numClients; // mark as empty @@ -152,7 +152,7 @@ implementation { } } - void sendDone(uint8_t last, message_t *msg, error_t err) { + void sendDone(uint8_t last, message_t * ONE msg, error_t err) { queue[last].msg = NULL; tryToSend(); signal Send.sendDone[last](msg, err); @@ -200,11 +200,14 @@ implementation { return call AMSend.maxPayloadLength[0](); } - command void* Send.getPayload[uint8_t id](message_t* m) { - return call AMSend.getPayload[0](m); + command void* Send.getPayload[uint8_t id](message_t* m, uint8_t len) { + return call AMSend.getPayload[0](m, len); } default event void Send.sendDone[uint8_t id](message_t* msg, error_t err) { // Do nothing } + default command error_t AMSend.send[uint8_t id](am_addr_t am_id, message_t* msg, uint8_t len) { + return FAIL; + } }