--- a/master/datagram.c Thu Sep 06 09:23:56 2007 +0000
+++ b/master/datagram.c Thu Sep 06 09:28:38 2007 +0000
@@ -71,7 +71,7 @@
{
INIT_LIST_HEAD(&datagram->queue); // mark as unqueued
datagram->type = EC_DATAGRAM_NONE;
- datagram->address.logical = 0x00000000;
+ memset(datagram->address, 0x00, EC_ADDR_LEN);
datagram->data = NULL;
datagram->mem_size = 0;
datagram->data_size = 0;
@@ -147,8 +147,8 @@
EC_FUNC_HEADER;
datagram->type = EC_DATAGRAM_NPRD;
- datagram->address.physical.slave = node_address;
- datagram->address.physical.mem = offset;
+ EC_WRITE_U16(datagram->address, node_address);
+ EC_WRITE_U16(datagram->address + 2, offset);
EC_FUNC_FOOTER;
}
@@ -175,8 +175,8 @@
EC_FUNC_HEADER;
datagram->type = EC_DATAGRAM_NPWR;
- datagram->address.physical.slave = node_address;
- datagram->address.physical.mem = offset;
+ EC_WRITE_U16(datagram->address, node_address);
+ EC_WRITE_U16(datagram->address + 2, offset);
EC_FUNC_FOOTER;
}
@@ -200,8 +200,8 @@
{
EC_FUNC_HEADER;
datagram->type = EC_DATAGRAM_APRD;
- datagram->address.physical.slave = (int16_t) ring_position * (-1);
- datagram->address.physical.mem = offset;
+ EC_WRITE_S16(datagram->address, (int16_t) ring_position * (-1));
+ EC_WRITE_U16(datagram->address + 2, offset);
EC_FUNC_FOOTER;
}
@@ -225,8 +225,8 @@
{
EC_FUNC_HEADER;
datagram->type = EC_DATAGRAM_APWR;
- datagram->address.physical.slave = (int16_t) ring_position * (-1);
- datagram->address.physical.mem = offset;
+ EC_WRITE_S16(datagram->address, (int16_t) ring_position * (-1));
+ EC_WRITE_U16(datagram->address + 2, offset);
EC_FUNC_FOOTER;
}
@@ -248,8 +248,8 @@
{
EC_FUNC_HEADER;
datagram->type = EC_DATAGRAM_BRD;
- datagram->address.physical.slave = 0x0000;
- datagram->address.physical.mem = offset;
+ EC_WRITE_U16(datagram->address, 0x0000);
+ EC_WRITE_U16(datagram->address + 2, offset);
EC_FUNC_FOOTER;
}
@@ -271,8 +271,8 @@
{
EC_FUNC_HEADER;
datagram->type = EC_DATAGRAM_BWR;
- datagram->address.physical.slave = 0x0000;
- datagram->address.physical.mem = offset;
+ EC_WRITE_U16(datagram->address, 0x0000);
+ EC_WRITE_U16(datagram->address + 2, offset);
EC_FUNC_FOOTER;
}
@@ -294,8 +294,8 @@
{
EC_FUNC_HEADER;
datagram->type = EC_DATAGRAM_LRW;
- datagram->address.logical = offset;
- EC_FUNC_FOOTER;
-}
-
-/*****************************************************************************/
+ EC_WRITE_U32(datagram->address, offset);
+ EC_FUNC_FOOTER;
+}
+
+/*****************************************************************************/