diff -r 9ae68af8e17a -r 90bdb315f560 master/datagram.c --- 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; +} + +/*****************************************************************************/