From ba91e34df8f974e56ef400e632894b5fd951df00 Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Thu, 16 Oct 2014 11:13:17 +0200 Subject: [PATCH 1/6] Added tag 4.0.0 for changeset 873428fb5c69 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 07a3bed..fc9932f 100644 --- a/.hgtags +++ b/.hgtags @@ -24,3 +24,5 @@ cf6fc9696904fd1735523a70a4f59b5ad6a3f2d5 4.0.0 84ef9a50bccaf7fcd1aef1b3a5d0cd6336fdac4c 4.0.0 84ef9a50bccaf7fcd1aef1b3a5d0cd6336fdac4c 4.0.0 c6df866bf6ca8f9385c91dd74b65fea34bab58ca 4.0.0 +c6df866bf6ca8f9385c91dd74b65fea34bab58ca 4.0.0 +873428fb5c69e02b3c036112a12623dcd81914ca 4.0.0 From 34f1ac0a304256aa8f81993ef0b6cd7aa7a7f6dc Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Mon, 20 Oct 2014 10:24:13 +0200 Subject: [PATCH 2/6] Added tag 4.0.0 for changeset 9b26817264fe --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index fc9932f..6861410 100644 --- a/.hgtags +++ b/.hgtags @@ -26,3 +26,5 @@ cf6fc9696904fd1735523a70a4f59b5ad6a3f2d5 4.0.0 c6df866bf6ca8f9385c91dd74b65fea34bab58ca 4.0.0 c6df866bf6ca8f9385c91dd74b65fea34bab58ca 4.0.0 873428fb5c69e02b3c036112a12623dcd81914ca 4.0.0 +873428fb5c69e02b3c036112a12623dcd81914ca 4.0.0 +9b26817264fe1d44b6cb2076ac0ba13cd09d63d1 4.0.0 From 668c26c811e6540e9900511f41b823c9f4c604a1 Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Wed, 29 Oct 2014 13:02:31 +0100 Subject: [PATCH 3/6] Added tag 4.0.0 for changeset f9d4bcb4bd1d --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 6861410..294e417 100644 --- a/.hgtags +++ b/.hgtags @@ -28,3 +28,5 @@ c6df866bf6ca8f9385c91dd74b65fea34bab58ca 4.0.0 873428fb5c69e02b3c036112a12623dcd81914ca 4.0.0 873428fb5c69e02b3c036112a12623dcd81914ca 4.0.0 9b26817264fe1d44b6cb2076ac0ba13cd09d63d1 4.0.0 +9b26817264fe1d44b6cb2076ac0ba13cd09d63d1 4.0.0 +f9d4bcb4bd1d37c1c9046a89d2dd5c53842f5386 4.0.0 From 214a3aec165b23f7e900e8ca762f39d86b6c92b0 Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Mon, 10 Nov 2014 21:39:02 +0100 Subject: [PATCH 4/6] version updated --- src/pva/pvaVersion.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pva/pvaVersion.h b/src/pva/pvaVersion.h index 1a2fa3a..62d3d9e 100644 --- a/src/pva/pvaVersion.h +++ b/src/pva/pvaVersion.h @@ -26,8 +26,8 @@ // TODO to be generated, etc. #define EPICS_PVA_MAJOR_VERSION 4 #define EPICS_PVA_MINOR_VERSION 0 -#define EPICS_PVA_MAINTENANCE_VERSION 0 -#define EPICS_PVA_DEVELOPMENT_FLAG 1 +#define EPICS_PVA_MAINTENANCE_VERSION 1 +#define EPICS_PVA_DEVELOPMENT_FLAG 0 namespace epics { namespace pvAccess { From d107074616aa369502b1b27e374c6613de2d513f Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Mon, 10 Nov 2014 21:39:12 +0100 Subject: [PATCH 5/6] Added tag 4.0.1 for changeset 46bd8146413c --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 294e417..db56876 100644 --- a/.hgtags +++ b/.hgtags @@ -30,3 +30,4 @@ c6df866bf6ca8f9385c91dd74b65fea34bab58ca 4.0.0 9b26817264fe1d44b6cb2076ac0ba13cd09d63d1 4.0.0 9b26817264fe1d44b6cb2076ac0ba13cd09d63d1 4.0.0 f9d4bcb4bd1d37c1c9046a89d2dd5c53842f5386 4.0.0 +46bd8146413cd5e201d6cc04fbf8574083be3d3a 4.0.1 From 2f1c227f4f9215302f3f375a68b18895eaa45b5c Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Tue, 11 Nov 2014 12:26:47 +0100 Subject: [PATCH 6/6] vxWorks htons macro woes --- pvtoolsSrc/pvlist.cpp | 6 ++++-- src/remoteClient/clientContextImpl.cpp | 8 ++++++-- src/server/responseHandlers.cpp | 4 +++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pvtoolsSrc/pvlist.cpp b/pvtoolsSrc/pvlist.cpp index 52ceb87..cfdf2db 100644 --- a/pvtoolsSrc/pvlist.cpp +++ b/pvtoolsSrc/pvlist.cpp @@ -152,7 +152,9 @@ void processSearchResponse(osiSockAddr const & responseFrom, ByteBuffer & receiv if (serverAddress.ia.sin_addr.s_addr == INADDR_ANY) serverAddress.ia.sin_addr = responseFrom.ia.sin_addr; - serverAddress.ia.sin_port = htons(receiveBuffer.getShort()); + // NOTE: htons might be a macro (e.g. vxWorks) + int16 port = receiveBuffer.getShort(); + serverAddress.ia.sin_port = htons(port); string protocol = /*SerializeHelper::*/deserializeString(&receiveBuffer); @@ -283,7 +285,7 @@ bool discoverServers(double timeOut) sendBuffer.putByte(PVA_VERSION); sendBuffer.putByte((EPICS_BYTE_ORDER == EPICS_ENDIAN_BIG) ? 0x80 : 0x00); // data + 7-bit endianess sendBuffer.putByte((int8_t)3); // search - sendBuffer.putInt(4+1+3+16+2+1); // "zero" payload + sendBuffer.putInt(4+1+3+16+2+1+2); // "zero" payload sendBuffer.putInt(0); // sequenceId sendBuffer.putByte((int8_t)0x81); // reply required // TODO unicast vs multicast; for now we mark ourselves as unicast diff --git a/src/remoteClient/clientContextImpl.cpp b/src/remoteClient/clientContextImpl.cpp index 70a19f4..34356fa 100644 --- a/src/remoteClient/clientContextImpl.cpp +++ b/src/remoteClient/clientContextImpl.cpp @@ -2749,7 +2749,9 @@ namespace epics { if (serverAddress.ia.sin_addr.s_addr == INADDR_ANY) serverAddress.ia.sin_addr = responseFrom->ia.sin_addr; - serverAddress.ia.sin_port = htons(payloadBuffer->getShort()); + // NOTE: htons might be a macro (e.g. vxWorks) + int16 port = payloadBuffer->getShort(); + serverAddress.ia.sin_port = htons(port); /*string protocol =*/ SerializeHelper::deserializeString(payloadBuffer, transport.get()); @@ -2812,7 +2814,9 @@ namespace epics { if (serverAddress.ia.sin_addr.s_addr == INADDR_ANY) serverAddress.ia.sin_addr = responseFrom->ia.sin_addr; - serverAddress.ia.sin_port = htons(payloadBuffer->getShort()); + // NOTE: htons might be a macro (e.g. vxWorks) + int16 port = payloadBuffer->getShort(); + serverAddress.ia.sin_port = htons(port); string protocol = SerializeHelper::deserializeString(payloadBuffer, transport.get()); diff --git a/src/server/responseHandlers.cpp b/src/server/responseHandlers.cpp index 82863c5..bf7b251 100644 --- a/src/server/responseHandlers.cpp +++ b/src/server/responseHandlers.cpp @@ -236,7 +236,9 @@ void ServerSearchHandler::handleResponse(osiSockAddr* responseFrom, if (responseAddress.ia.sin_addr.s_addr == INADDR_ANY) responseAddress.ia.sin_addr = responseFrom->ia.sin_addr; - responseAddress.ia.sin_port = htons(payloadBuffer->getShort()); + // NOTE: htons might be a macro (e.g. vxWorks) + int16 port = payloadBuffer->getShort(); + responseAddress.ia.sin_port = htons(port); size_t protocolsCount = SerializeHelper::readSize(payloadBuffer, transport.get()); bool allowed = (protocolsCount == 0);