Browse Source

Merge branch 'master' of https://github.com/acplt/open62541

Conflicts:
	src/opcua_binaryEncDec.c
	src/opcua_binaryEncDec.h
	src/opcua_builtInDatatypes.h
	src/opcua_connectionHelper.h
	src/opcua_secureChannelLayer.c
	src/opcua_transportLayer.c
	tests/check_stack.c
FlorianPalm 11 years ago
parent
commit
33f5e38637

+ 2 - 5
include/UA_config.h

@@ -5,11 +5,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-//#include "opcua_builtInDatatypes.h"
-#include "../tool/opcua_basictypes.h"
-#include "../tool/opcua.h"
-#include "../tool/opcua_namespace_0.h"
+#include "opcua_builtInDatatypes.h"
 #include "UA_abbr.h"
 
-// constants
+
 #endif /* UA_CONFIG_H_ */

+ 10 - 10
include/UA_indexedList.h

@@ -10,7 +10,7 @@
  */
 typedef struct T_UA_indexedList_Element {
 	struct T_UA_list_Element* father;
-	UA_Int32 index;
+	Int32 index;
 	void* payload;
 }UA_indexedList_Element;
 
@@ -19,22 +19,22 @@ typedef UA_list_PayloadVisitor UA_indexedList_PayloadVisitor;
 
 void UA_indexedList_defaultFreer(void* payload);
 
-UA_Int32 UA_indexedList_init(UA_indexedList_List* const list);
+Int32 UA_indexedList_init(UA_indexedList_List* const list);
 
-UA_Int32 UA_indexedList_destroy(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor);
+Int32 UA_indexedList_destroy(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor);
 
-UA_Int32 UA_indexedList_initElement(UA_indexedList_Element* const elem);
+Int32 UA_indexedList_initElement(UA_indexedList_Element* const elem);
 
-UA_Int32 UA_indexedList_addValue(UA_indexedList_List* const list, UA_Int32 index, void* payload);
+Int32 UA_indexedList_addValue(UA_indexedList_List* const list, Int32 index, void* payload);
 
-UA_Int32 UA_indexedList_addValueToFront(UA_indexedList_List* const list, UA_Int32 index, void* payload);
+Int32 UA_indexedList_addValueToFront(UA_indexedList_List* const list, Int32 index, void* payload);
 
-UA_indexedList_Element* UA_indexedList_find(UA_indexedList_List* const list, UA_Int32 index);
+UA_indexedList_Element* UA_indexedList_find(UA_indexedList_List* const list, Int32 index);
 
-void* UA_indexedList_findValue(UA_indexedList_List* const list, UA_Int32 index);
+void* UA_indexedList_findValue(UA_indexedList_List* const list, Int32 index);
 
-UA_Int32 UA_indexedList_iterateValues(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor);
+Int32 UA_indexedList_iterateValues(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor);
 
-UA_Int32 UA_indexedList_removeElement(UA_indexedList_List* const list, UA_indexedList_Element* elem, UA_indexedList_PayloadVisitor visitor);
+Int32 UA_indexedList_removeElement(UA_indexedList_List* const list, UA_indexedList_Element* elem, UA_indexedList_PayloadVisitor visitor);
 
 #endif /* UA_INDEXEDLIST_H_ */

+ 13 - 13
include/UA_list.h

@@ -19,7 +19,7 @@ typedef struct T_UA_list_Element {
 typedef struct T_UA_list_List {
    struct T_UA_list_Element* first;
    struct T_UA_list_Element* last;
-   UA_Int32 size;
+   Int32 size;
 }UA_list_List;
 
 typedef void (*UA_list_ElementVisitor)(UA_list_Element* payload);
@@ -28,29 +28,29 @@ typedef Boolean (*UA_list_PayloadMatcher)(void* payload);
 
 void UA_list_defaultFreer(void* payload);
 
-UA_Int32 UA_list_initElement(UA_list_Element* const element);
+Int32 UA_list_initElement(UA_list_Element* const element);
 
-UA_Int32 UA_list_init(UA_list_List* const list);
+Int32 UA_list_init(UA_list_List* const list);
 
-UA_Int32 UA_list_addElementToFront(UA_list_List* const list, UA_list_Element* const element);
+Int32 UA_list_addElementToFront(UA_list_List* const list, UA_list_Element* const element);
 
-UA_Int32 UA_list_addPayloadToFront(UA_list_List* const list, void* const payload);
+Int32 UA_list_addPayloadToFront(UA_list_List* const list, void* const payload);
 
-UA_Int32 UA_list_addElementToBack(UA_list_List* const list, UA_list_Element* const element);
+Int32 UA_list_addElementToBack(UA_list_List* const list, UA_list_Element* const element);
 
-UA_Int32 UA_list_addPayloadToBack(UA_list_List* const list, void* const payload);
+Int32 UA_list_addPayloadToBack(UA_list_List* const list, void* const payload);
 
-UA_Int32 UA_list_removeFirst(UA_list_List* const list, UA_list_PayloadVisitor visitor);
+Int32 UA_list_removeFirst(UA_list_List* const list, UA_list_PayloadVisitor visitor);
 
-UA_Int32 UA_list_removeLast(UA_list_List* const list, UA_list_PayloadVisitor visitor);
+Int32 UA_list_removeLast(UA_list_List* const list, UA_list_PayloadVisitor visitor);
 
-UA_Int32 UA_list_removeElement(UA_list_Element* const elem, UA_list_PayloadVisitor visitor);
+Int32 UA_list_removeElement(UA_list_Element* const elem, UA_list_PayloadVisitor visitor);
 
-UA_Int32 UA_list_destroy(UA_list_List* const list, UA_list_PayloadVisitor visitor);
+Int32 UA_list_destroy(UA_list_List* const list, UA_list_PayloadVisitor visitor);
 
-UA_Int32 UA_list_iterateElement(UA_list_List* const list, UA_list_ElementVisitor visitor);
+Int32 UA_list_iterateElement(UA_list_List* const list, UA_list_ElementVisitor visitor);
 
-UA_Int32 UA_list_iteratePayload(UA_list_List* const list, UA_list_PayloadVisitor visitor);
+Int32 UA_list_iteratePayload(UA_list_List* const list, UA_list_PayloadVisitor visitor);
 
 UA_list_Element* UA_list_find(UA_list_List* const list, UA_list_PayloadMatcher matcher);
 

+ 5 - 5
src/Makefile.am

@@ -18,16 +18,16 @@
 #					  opcua_connectionHelper.h	
 lib_LTLIBRARIES = libopen62541.la
 libopen62541_la_LDFLAGS = -avoid-version -no-undefined
-libopen62541_la_SOURCES = opcua_transportLayer.c\
+libopen62541_la_SOURCES = opcua_builtInDatatypes.c\
+						opcua_binaryEncDec.c\
+						opcua_transportLayer.c\
 						opcua_encodingLayer.c\
 						opcua_secureChannelLayer.c\
 						opcua_memory.c\
 						opcua_time.c\
 						tcp_layer.c\
-						#opcua_binaryEncDec.c\
-						#opcua_builtInDatatypes.c\
-						#opcua_builtInDatatypes.h\
-						#opcua_binaryEncDec.h\
+						opcua_builtInDatatypes.h\
+						opcua_binaryEncDec.h\
 						opcua_transportLayer.h\
 						opcua_advancedDatatypes.h\
 						opcua_types.h\

+ 6 - 6
src/opcua_advancedDatatypes.h

@@ -133,10 +133,10 @@ struct BED_DataValue
 struct BED_DiagnosticInfo
 {
 //ToDo	struct ???? identifier;				//ToDo: what kind of strcuture?
-	UA_Int32 namespaceUri;
-	UA_Int32 symbolicId;
-	UA_Int32 locale;
-	UA_Int32 localizesText;
+	Int32 namespaceUri;
+	Int32 symbolicId;
+	Int32 locale;
+	Int32 localizesText;
 	UA_String additionalInfo;
 	UA_StatusCode innerStatusCode;
 	struct BED_DiagnosticInfo *innerDiagnosticInfo;
@@ -410,7 +410,7 @@ struct BED_VariableAttributes
 //	struct UA_LocalizedText description;
 //ToDo	DefinedByTheDataTypeAttribte??? value				//ToDo
 //	struct UA_NodeId dataType;
-	UA_Int32 valueRank;
+	Int32 valueRank;
 //	UInt32 arrayDimensions[];
 	UA_Byte accessLevel;
 	UA_Byte userAccesLevel;
@@ -469,7 +469,7 @@ struct BED_VariableTypeAttributes
 //	struct UA_LocalizedText description;
 //ToDo	DefinedByTheDataTypeAttribte??? value			//ToDo
 //	struct UA_NodeId dataType;
-	UA_Int32 valueRank;
+	Int32 valueRank;
 //	UInt32 arrayDimesions[];
 	Boolean isAbstract;
 	UA_UInt32 writeMask;

+ 98 - 0
src/opcua_binaryEncDec.c

@@ -1472,5 +1472,103 @@ UA_Int32 diagnosticInfo_calcSize(UA_DiagnosticInfo *diagnosticInfo) {
 	return length;
 }
 
+/**
+ * RequestHeader
+ * Part: 4
+ * Chapter: 7.26
+ * Page: 132
+ */
+/** \copydoc decodeRequestHeader */
+Int32 decodeRequestHeader(const AD_RawMessage *srcRaw, Int32 *pos,
+		UA_AD_RequestHeader *dstRequestHeader) {
+	return decoder_decodeRequestHeader(srcRaw->message, pos, dstRequestHeader);
+}
+
+Int32 decoder_decodeRequestHeader(char const * message, Int32 *pos,
+		UA_AD_RequestHeader *dstRequestHeader) {
+	// 62541-4 §5.5.2.2 OpenSecureChannelServiceParameters
+	// requestHeader - common request parameters. The authenticationToken is always omitted
+	decoder_decodeBuiltInDatatype(message, NODE_ID, pos,
+			&(dstRequestHeader->authenticationToken));
+	decoder_decodeBuiltInDatatype(message, DATE_TIME, pos,
+			&(dstRequestHeader->timestamp));
+	decoder_decodeBuiltInDatatype(message, UINT32, pos,
+			&(dstRequestHeader->requestHandle));
+	decoder_decodeBuiltInDatatype(message, UINT32, pos,
+			&(dstRequestHeader->returnDiagnostics));
+	decoder_decodeBuiltInDatatype(message, STRING, pos,
+			&(dstRequestHeader->auditEntryId));
+	decoder_decodeBuiltInDatatype(message, UINT32, pos,
+			&(dstRequestHeader->timeoutHint));
+	decoder_decodeBuiltInDatatype(message, EXTENSION_OBJECT, pos,
+			&(dstRequestHeader->additionalHeader));
+	// AdditionalHeader will stay empty, need to be changed if there is relevant information
+
+	return 0;
+}
+
+/**
+ * ResponseHeader
+ * Part: 4
+ * Chapter: 7.27
+ * Page: 133
+ */
+/** \copydoc encodeResponseHeader */
+Int32 encodeResponseHeader(UA_AD_ResponseHeader const * responseHeader,
+		Int32 *pos, UA_ByteString *dstBuf) {
+	encodeUADateTime(responseHeader->timestamp, pos, dstBuf->Data);
+	encodeIntegerId(responseHeader->requestHandle, pos, dstBuf->Data);
+	encodeUInt32(responseHeader->serviceResult, pos, dstBuf->Data);
+	encodeDiagnosticInfo(responseHeader->serviceDiagnostics, pos, dstBuf->Data);
+
+	encoder_encodeBuiltInDatatypeArray(responseHeader->stringTable,
+			responseHeader->noOfStringTable, STRING_ARRAY, pos, dstBuf->Data);
+
+	encodeExtensionObject(responseHeader->additionalHeader, pos, dstBuf->Data);
+
+	//Kodieren von String Datentypen
+
+	return 0;
+}
+Int32 extensionObject_calcSize(UA_ExtensionObject *extensionObject) {
+	Int32 length = 0;
 
+	length += nodeId_calcSize(&(extensionObject->TypeId));
+	length += sizeof(Byte); //The EncodingMask Byte
+
+	if (extensionObject->Encoding == BODY_IS_BYTE_STRING
+			|| extensionObject->Encoding == BODY_IS_XML_ELEMENT) {
+		length += UAByteString_calcSize(&(extensionObject->Body));
+	}
+	return length;
+}
+
+Int32 responseHeader_calcSize(UA_AD_ResponseHeader *responseHeader) {
+	Int32 i;
+	Int32 length = 0;
+
+	// UtcTime timestamp	8
+	length += sizeof(UA_DateTime);
+
+	// IntegerId requestHandle	4
+	length += sizeof(UA_AD_IntegerId);
+
+	// StatusCode serviceResult	4
+	length += sizeof(UA_StatusCode);
+
+	// DiagnosticInfo serviceDiagnostics
+	length += diagnosticInfo_calcSize(responseHeader->serviceDiagnostics);
+
+	// String stringTable[], see 62541-6 § 5.2.4
+	length += sizeof(Int32); // Length of Stringtable always
+	if (responseHeader->noOfStringTable > 0) {
+		for (i = 0; i < responseHeader->noOfStringTable; i++) {
+			length += UAString_calcSize(responseHeader->stringTable[i]);
+		}
+	}
+
+	// ExtensibleObject additionalHeader
+	length += extensionObject_calcSize(responseHeader->additionalHeader);
+	return length;
+}
 

+ 3 - 3
src/opcua_builtInDatatypes.c

@@ -10,8 +10,8 @@
 UA_ExtensionObject the_empty_UA_ExtensionObject = { { NIEVT_TWO_BYTE, 0 }, NO_BODY_IS_ENCODED};
 UA_DiagnosticInfo the_empty_UA_DiagnosticInfo = { 0x00 };
 
-UA_Int32 UA_String_compare(UA_String *string1, UA_String *string2) {
-	UA_Int32 i;
+Int32 UA_String_compare(UA_String *string1, UA_String *string2) {
+	Int32 i;
 	Boolean equal;
 
 	if (string1->Length == string2->Length&&
@@ -32,7 +32,7 @@ else
 	return UA_EQUAL;
 }
 
-UA_Int32 UA_ByteString_compare(UA_ByteString *string1, UA_ByteString *string2) {
+Int32 UA_ByteString_compare(UA_ByteString *string1, UA_ByteString *string2) {
 	return UA_String_compare((UA_String*) string1, (UA_String*) string2);
 }
 

+ 5 - 5
src/opcua_builtInDatatypes.h

@@ -129,7 +129,7 @@ typedef _Bool Boolean;
 
 typedef int8_t SByte;
 
-typedef uint8_t UA_Byte;
+typedef uint8_t Byte;
 
 typedef int16_t Int16;
 
@@ -137,15 +137,15 @@ typedef uint16_t UInt16;
 
 typedef int32_t Int32;
 
-typedef uint32_t UA_UInt32;
+typedef uint32_t UInt32;
 
-typedef int64_t UA_Int64;
+typedef int64_t Int64;
 
-typedef uint64_t UA_UInt64;
+typedef uint64_t UInt64;
 
 typedef float Float;
 
-typedef double UA_Double;
+typedef double Double;
 
 
 /**

+ 18 - 18
src/opcua_secureChannelLayer.h

@@ -8,11 +8,11 @@
 #ifndef OPCUA_SECURECHANNELLAYER_H_
 #define OPCUA_SECURECHANNELLAYER_H_
 
-//#include "opcua_advancedDatatypes.h"
-//#include "opcua_encodingLayer.h"
+#include "opcua_advancedDatatypes.h"
+#include "opcua_encodingLayer.h"
 #include "opcua_connectionHelper.h"
-#include "../include/UA_config.h"
-static const UA_Int32 SL_HEADER_LENGTH = 0;
+
+static const Int32 SL_HEADER_LENGTH = 0;
 #define TOKEN_LIFETIME 30000
 typedef enum
 {
@@ -22,9 +22,9 @@ typedef enum
 
 typedef enum
 {
-	UA_securityMode_INVALID = 0,
-	UA_securityMode_SIGN = 1,
-	UA_securityMode_SIGNANDENCRYPT = 2
+	securityMode_INVALID = 0,
+	securityMode_SIGN = 1,
+	securityMode_SIGNANDENCRYPT = 2
 
 }securityMode;
 typedef struct
@@ -87,7 +87,7 @@ typedef struct _SL_ResponseHeader
  * @param connection
  * @return
  */
-UA_Int32 SL_initConnectionObject(UA_connection *connection);
+Int32 SL_initConnectionObject(UA_connection *connection);
 
 /**
  *
@@ -96,8 +96,8 @@ UA_Int32 SL_initConnectionObject(UA_connection *connection);
  * @param sizeInOut
  * @return
  */
-UA_Int32 SL_openSecureChannel_responseMessage_get(UA_connection *connection,
-		SL_Response *response, UA_Int32* sizeInOut);
+Int32 SL_openSecureChannel_responseMessage_get(UA_connection *connection,
+		SL_Response *response, Int32* sizeInOut);
 
 /**
  *
@@ -107,7 +107,7 @@ UA_Int32 SL_openSecureChannel_responseMessage_get(UA_connection *connection,
  * @param SC_Header
  * @return
  */
-UA_Int32 decodeSCMHeader(UA_ByteString *rawMessage,UA_Int32 *pos,
+Int32 decodeSCMHeader(UA_ByteString *rawMessage,Int32 *pos,
 		SL_SecureConversationMessageHeader* SC_Header);
 
 /**
@@ -117,8 +117,8 @@ UA_Int32 decodeSCMHeader(UA_ByteString *rawMessage,UA_Int32 *pos,
  * @param rawMessage
  * @return
  */
-UA_Int32 encodeSCMHeader(SL_SecureConversationMessageHeader *SC_Header,
-	 UA_Int32 *pos,AD_RawMessage *rawMessage);
+Int32 encodeSCMHeader(SL_SecureConversationMessageHeader *SC_Header,
+	 Int32 *pos,AD_RawMessage *rawMessage);
 
 /**
  *
@@ -127,7 +127,7 @@ UA_Int32 encodeSCMHeader(SL_SecureConversationMessageHeader *SC_Header,
  * @param SequenceHeader
  * @return
  */
-UA_Int32 decodeSequenceHeader(UA_ByteString *rawMessage, UA_Int32 *pos,
+Int32 decodeSequenceHeader(UA_ByteString *rawMessage, Int32 *pos,
 		SL_SequenceHeader *sequenceHeader);
 /**
  *
@@ -136,7 +136,7 @@ UA_Int32 decodeSequenceHeader(UA_ByteString *rawMessage, UA_Int32 *pos,
  * @param dstRawMessage
  * @return
  */
-UA_Int32 encodeSequenceHeader(SL_SequenceHeader *sequenceHeader,UA_Int32 *pos,
+Int32 encodeSequenceHeader(SL_SequenceHeader *sequenceHeader,Int32 *pos,
 		AD_RawMessage *dstRawMessage);
 /**
  *
@@ -145,7 +145,7 @@ UA_Int32 encodeSequenceHeader(SL_SequenceHeader *sequenceHeader,UA_Int32 *pos,
  * @param AAS_Header
  * @return
  */
-UA_Int32 decodeAASHeader(UA_ByteString *rawMessage, UA_Int32 *pos,
+Int32 decodeAASHeader(UA_ByteString *rawMessage, Int32 *pos,
 	SL_AsymmetricAlgorithmSecurityHeader* AAS_Header);
 
 /**
@@ -155,8 +155,8 @@ UA_Int32 decodeAASHeader(UA_ByteString *rawMessage, UA_Int32 *pos,
  * @param dstRawMessage
  * @return
  */
-UA_Int32 encodeAASHeader(SL_AsymmetricAlgorithmSecurityHeader *AAS_Header,
-		UA_Int32 *pos, AD_RawMessage* dstRawMessage);
+Int32 encodeAASHeader(SL_AsymmetricAlgorithmSecurityHeader *AAS_Header,
+		Int32 *pos, AD_RawMessage* dstRawMessage);
 
 /**
  *

+ 1 - 1
src/opcua_serializationLayer.c

@@ -10,7 +10,7 @@ serviceManager_registerServiceImplementation()
 {
 
 }
-serviceManager(UA_Int32 serviceRequest)
+serviceManager(Int32 serviceRequest)
 {
 	if(serviceManager_serviceAvailable(serviceRequest))
 	{

+ 4 - 13
src/opcua_transportLayer.h

@@ -56,15 +56,6 @@ struct TL_message
 	struct TL_header Header;
 	char *message;
 };
-typedef struct UA_T_SecureConversationMessageHeader
-{
-	UA_ByteString messageType;
-	UA_Byte isFinal;
-	UA_UInt32 messageSize;
-	UA_UInt32 secureChannelId;
-}UA_SecureConversationMessageHeader;
-typedef _Bool UA_Boolean;
-UA_TYPE_METHOD_PROTOTYPES (UA_SecureConversationMessageHeader)
 
 struct TL_messageBodyHEL
 {
@@ -99,15 +90,15 @@ struct TL_messageBodyERR
  * @param TL_message
  * @return
  */
-UA_Int32 TL_check(UA_connection *connection);
+Int32 TL_check(UA_connection *connection);
 /**
  *
  * @param connection
  * @param TL_message
  */
-UA_Int32 TL_receive(UA_connection *connection,UA_ByteString *packet);
-UA_Int32 TL_send(UA_connection *connection, UA_ByteString *packet);
-UA_Int32 TL_getPacketType(UA_ByteString *packet, UA_Int32 *pos);
+Int32 TL_receive(UA_connection *connection,UA_ByteString *packet);
+Int32 TL_send(UA_connection *connection, UA_ByteString *packet);
+Int32 TL_getPacketType(UA_ByteString *packet, Int32 *pos);
 
 
 #endif /* OPCUA_TRANSPORTLAYER_H_ */

+ 6 - 6
src/opcua_types.h

@@ -166,10 +166,10 @@ typedef struct UA_AD_DataValue
 typedef struct
 {
 	//ToDo	struct ???? identifier;	identifier is only needed for encoding????
-	UA_Int32 namespaceUri;
-	UA_Int32 symbolicId;
-	UA_Int32 locale;
-	UA_Int32 localizesText;
+	Int32 namespaceUri;
+	Int32 symbolicId;
+	Int32 locale;
+	Int32 localizesText;
 	UA_String additionalInfo;
 	UA_StatusCode innerStatusCode;
 	struct _UA_DiagnosticInfo* innerDiagnosticInfo;
@@ -479,7 +479,7 @@ typedef struct
 	UA_LocalizedText description;
 //ToDo	DefinedByTheDataTypeAttribte??? value				//ToDo
 	UA_NodeId dataType;
-	UA_Int32 valueRank;
+	Int32 valueRank;
 	UInt16 noOfArrayDimensions;
 	UA_UInt32* arrayDimensions;
 	UA_Byte accessLevel;
@@ -542,7 +542,7 @@ typedef struct
 	UA_LocalizedText description;
 //ToDo	DefinedByTheDataTypeAttribte??? value			//ToDo
 	UA_NodeId dataType;
-	UA_Int32 valueRank;
+	Int32 valueRank;
 	UInt16 noOfArrayDimensions;
 	UA_UInt32* arrayDimesions;
 	Boolean isAbstract;

+ 9 - 9
src/util/UA_indexedList.c

@@ -5,12 +5,12 @@ void UA_indexedList_defaultFreer(void* payload){
 	UA_list_defaultFreer(payload);
 }
 
-UA_Int32 UA_indexedList_init(UA_indexedList_List* const list){
+Int32 UA_indexedList_init(UA_indexedList_List* const list){
 	if(list==NULL)return UA_ERROR;
 	return UA_list_init((UA_list_List*)list);
 }
 
-UA_Int32 UA_indexedList_destroy(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor){
+Int32 UA_indexedList_destroy(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* current = NULL;
 	current=list->first;
@@ -30,7 +30,7 @@ UA_Int32 UA_indexedList_destroy(UA_indexedList_List* const list, UA_indexedList_
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_indexedList_initElement(UA_indexedList_Element* const elem){
+Int32 UA_indexedList_initElement(UA_indexedList_Element* const elem){
 	if(elem==NULL)return UA_ERROR;
 	elem->father = NULL;
 	elem->index = -1;
@@ -38,7 +38,7 @@ UA_Int32 UA_indexedList_initElement(UA_indexedList_Element* const elem){
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_indexedList_addValue(UA_indexedList_List* const list, UA_Int32 index, void* payload){
+Int32 UA_indexedList_addValue(UA_indexedList_List* const list, Int32 index, void* payload){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* dllElem = (UA_list_Element*)malloc(sizeof(*dllElem));
 	UA_list_initElement(dllElem);
@@ -51,7 +51,7 @@ UA_Int32 UA_indexedList_addValue(UA_indexedList_List* const list, UA_Int32 index
 	return UA_list_addElementToBack((UA_list_List*)list, dllElem);
 }
 
-UA_Int32 UA_indexedList_addValueToFront(UA_indexedList_List* const list, UA_Int32 index, void* payload){
+Int32 UA_indexedList_addValueToFront(UA_indexedList_List* const list, Int32 index, void* payload){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* dllElem = (UA_list_Element*)malloc(sizeof(*dllElem));
 	UA_list_initElement(dllElem);
@@ -64,7 +64,7 @@ UA_Int32 UA_indexedList_addValueToFront(UA_indexedList_List* const list, UA_Int3
 	return UA_list_addElementToFront((UA_list_List*)list, dllElem);
 }
 
-UA_indexedList_Element* UA_indexedList_find(UA_indexedList_List* const list, UA_Int32 index){
+UA_indexedList_Element* UA_indexedList_find(UA_indexedList_List* const list, Int32 index){
 	if(list==NULL)return NULL;
 	UA_list_Element* current = list->first;
 	while(current){
@@ -79,7 +79,7 @@ UA_indexedList_Element* UA_indexedList_find(UA_indexedList_List* const list, UA_
 	return NULL;
 }
 
-void* UA_indexedList_findValue(UA_indexedList_List* const list, UA_Int32 index){
+void* UA_indexedList_findValue(UA_indexedList_List* const list, Int32 index){
 	if(list==NULL)return NULL;
 	UA_indexedList_Element* iilElem = UA_indexedList_find(list, index);
 	if(iilElem){
@@ -88,7 +88,7 @@ void* UA_indexedList_findValue(UA_indexedList_List* const list, UA_Int32 index){
 	return NULL;
 }
 
-UA_Int32 UA_indexedList_iterateValues(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor){
+Int32 UA_indexedList_iterateValues(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* current = list->first;
 	while(current){
@@ -104,7 +104,7 @@ UA_Int32 UA_indexedList_iterateValues(UA_indexedList_List* const list, UA_indexe
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_indexedList_removeElement(UA_indexedList_List* const list, UA_indexedList_Element* elem, UA_indexedList_PayloadVisitor visitor){
+Int32 UA_indexedList_removeElement(UA_indexedList_List* const list, UA_indexedList_Element* elem, UA_indexedList_PayloadVisitor visitor){
 	if(list==NULL || elem==NULL)return UA_ERROR;
 	if(visitor){
 		(*visitor)(elem->payload);

+ 12 - 12
src/util/UA_list.c

@@ -7,7 +7,7 @@ void UA_list_defaultFreer(void* payload){
 	}
 }
 
-UA_Int32 UA_list_initElement(UA_list_Element* const element){
+Int32 UA_list_initElement(UA_list_Element* const element){
 	if(element==NULL)return UA_ERROR;
 	element->next=NULL;
 	element->prev=NULL;
@@ -16,7 +16,7 @@ UA_Int32 UA_list_initElement(UA_list_Element* const element){
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_init(UA_list_List* const list){
+Int32 UA_list_init(UA_list_List* const list){
 	if(list==NULL)return UA_ERROR;
 	list->first = NULL;
 	list->last = NULL;
@@ -24,7 +24,7 @@ UA_Int32 UA_list_init(UA_list_List* const list){
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_addElementToFront(UA_list_List* const list, UA_list_Element* const element){
+Int32 UA_list_addElementToFront(UA_list_List* const list, UA_list_Element* const element){
 	if(list==NULL || element==NULL)return UA_ERROR;
 	UA_list_Element* second = NULL;
 	second = list->first;
@@ -42,7 +42,7 @@ UA_Int32 UA_list_addElementToFront(UA_list_List* const list, UA_list_Element* co
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_addPayloadToFront(UA_list_List* const list, void* const payload){
+Int32 UA_list_addPayloadToFront(UA_list_List* const list, void* const payload){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* elem = (UA_list_Element*)opcua_malloc(sizeof(*elem));
 	UA_list_initElement(elem);
@@ -51,7 +51,7 @@ UA_Int32 UA_list_addPayloadToFront(UA_list_List* const list, void* const payload
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_addElementToBack(UA_list_List* const list, UA_list_Element* const element){
+Int32 UA_list_addElementToBack(UA_list_List* const list, UA_list_Element* const element){
 	if(list==NULL || element == NULL)return UA_ERROR;
 	UA_list_Element* secondLast = NULL;
 	secondLast = list->last;
@@ -69,7 +69,7 @@ UA_Int32 UA_list_addElementToBack(UA_list_List* const list, UA_list_Element* con
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_addPayloadToBack(UA_list_List* const list, void* const payload){
+Int32 UA_list_addPayloadToBack(UA_list_List* const list, void* const payload){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* elem = (UA_list_Element*)opcua_malloc(sizeof(*elem));
 	UA_list_initElement(elem);
@@ -78,7 +78,7 @@ UA_Int32 UA_list_addPayloadToBack(UA_list_List* const list, void* const payload)
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_removeFirst(UA_list_List* const list, UA_list_PayloadVisitor visitor){
+Int32 UA_list_removeFirst(UA_list_List* const list, UA_list_PayloadVisitor visitor){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* temp = NULL;
 	if(list->first){
@@ -98,7 +98,7 @@ UA_Int32 UA_list_removeFirst(UA_list_List* const list, UA_list_PayloadVisitor vi
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_removeLast(UA_list_List* const list, UA_list_PayloadVisitor visitor){
+Int32 UA_list_removeLast(UA_list_List* const list, UA_list_PayloadVisitor visitor){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* temp = NULL;
 	if(list->last){
@@ -119,7 +119,7 @@ UA_Int32 UA_list_removeLast(UA_list_List* const list, UA_list_PayloadVisitor vis
 }
 
 
-UA_Int32 UA_list_removeElement(UA_list_Element* const elem, UA_list_PayloadVisitor visitor){
+Int32 UA_list_removeElement(UA_list_Element* const elem, UA_list_PayloadVisitor visitor){
 	if(elem==NULL)return UA_ERROR;
 	if(elem==elem->father->first){
 		return UA_list_removeFirst(elem->father, visitor);
@@ -139,7 +139,7 @@ UA_Int32 UA_list_removeElement(UA_list_Element* const elem, UA_list_PayloadVisit
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_destroy(UA_list_List* const list, UA_list_PayloadVisitor visitor){
+Int32 UA_list_destroy(UA_list_List* const list, UA_list_PayloadVisitor visitor){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* current = NULL;
 	current=list->first;
@@ -155,7 +155,7 @@ UA_Int32 UA_list_destroy(UA_list_List* const list, UA_list_PayloadVisitor visito
 	return UA_NO_ERROR;
 }
 
-UA_Int32 UA_list_iterateElement(UA_list_List* const list, UA_list_ElementVisitor visitor){
+Int32 UA_list_iterateElement(UA_list_List* const list, UA_list_ElementVisitor visitor){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* current = list->first;
 	while(current){
@@ -178,7 +178,7 @@ UA_Int32 UA_list_iterateElement(UA_list_List* const list, UA_list_ElementVisitor
 	return UA_NO_ERROR;
 }*/
 /** ANSI C forbids function nesting - reworked ugly version **/
-UA_Int32 UA_list_iteratePayload(UA_list_List* const list, UA_list_PayloadVisitor visitor){
+Int32 UA_list_iteratePayload(UA_list_List* const list, UA_list_PayloadVisitor visitor){
 	if(list==NULL)return UA_ERROR;
 	UA_list_Element* current = list->first;
 	while(current){

+ 8 - 8
tests/check_indexedList.c

@@ -4,8 +4,8 @@
 #include "check.h"
 
 /* global test counters */
-UA_Int32 visit_count = 0;
-UA_Int32 free_count = 0;
+Int32 visit_count = 0;
+Int32 free_count = 0;
 
 void visitor(void* payload){
 	visit_count++;
@@ -22,7 +22,7 @@ Boolean matcher(void* payload){
 	if(payload == NULL){
 		return FALSE;
 	}
-	if(*((UA_Int32*)payload) == 42){
+	if(*((Int32*)payload) == 42){
 		return TRUE;
 	}
 	return FALSE;
@@ -36,13 +36,13 @@ START_TEST(linkedList_test_basic)
 
 	ck_assert_int_eq(list.size, 0);
 
-	UA_Int32* payload = (UA_Int32*)malloc(sizeof(*payload));
+	Int32* payload = (Int32*)malloc(sizeof(*payload));
 	*payload = 10;
 	UA_indexedList_addValue(&list, 1, payload);
-	payload = (UA_Int32*)malloc(sizeof(*payload));
+	payload = (Int32*)malloc(sizeof(*payload));
 	*payload = 20;
 	UA_indexedList_addValueToFront(&list, 2, payload);
-	payload = (UA_Int32*)malloc(sizeof(*payload));
+	payload = (Int32*)malloc(sizeof(*payload));
 	*payload = 30;
 	UA_indexedList_addValue(&list, 3, payload);
 
@@ -52,7 +52,7 @@ START_TEST(linkedList_test_basic)
 	ck_assert_int_eq(visit_count, 3);
 	visit_count = 0;
 
-	payload = (UA_Int32*)UA_indexedList_findValue(&list, 2);
+	payload = (Int32*)UA_indexedList_findValue(&list, 2);
 	if(payload){
 		ck_assert_int_eq(*payload, 20);
 	}else{
@@ -64,7 +64,7 @@ START_TEST(linkedList_test_basic)
 	free_count=0;
 	ck_assert_int_eq(list.size, 2);
 
-	payload = (UA_Int32*)UA_indexedList_findValue(&list, 2);
+	payload = (Int32*)UA_indexedList_findValue(&list, 2);
 	if(payload){
 		fail("Previously removed element 20 found");
 	}

+ 7 - 7
tests/check_list.c

@@ -4,8 +4,8 @@
 #include "check.h"
 
 /* global test counters */
-UA_Int32 visit_count = 0;
-UA_Int32 free_count = 0;
+Int32 visit_count = 0;
+Int32 free_count = 0;
 
 void visitor(void* payload){
 	visit_count++;
@@ -22,7 +22,7 @@ Boolean matcher(void* payload){
 	if(payload == NULL){
 		return FALSE;
 	}
-	if(*((UA_Int32*)payload) == 42){
+	if(*((Int32*)payload) == 42){
 		return TRUE;
 	}
 	return FALSE;
@@ -36,13 +36,13 @@ START_TEST(list_test_basic)
 
 	ck_assert_int_eq(list.size, 0);
 
-	UA_Int32* payload = (UA_Int32*)opcua_malloc(sizeof(*payload));
+	Int32* payload = (Int32*)opcua_malloc(sizeof(*payload));
 	*payload = 42;
 	UA_list_addPayloadToFront(&list, payload);
-	payload = (UA_Int32*)opcua_malloc(sizeof(*payload));
+	payload = (Int32*)opcua_malloc(sizeof(*payload));
 	*payload = 24;
 	UA_list_addPayloadToFront(&list, payload);
-	payload = (UA_Int32*)opcua_malloc(sizeof(*payload));
+	payload = (Int32*)opcua_malloc(sizeof(*payload));
 	*payload = 1;
 	UA_list_addPayloadToBack(&list, payload);
 
@@ -55,7 +55,7 @@ START_TEST(list_test_basic)
 	UA_list_Element* elem = NULL;
 	elem = UA_list_find(&list, matcher);
 	if(elem){
-		ck_assert_int_eq((*((UA_Int32*)elem->payload)), 42);
+		ck_assert_int_eq((*((Int32*)elem->payload)), 42);
 		UA_list_removeElement(elem, freer);
 		ck_assert_int_eq(free_count, 1);
 		free_count = 0; //reset free counter

+ 3 - 3
tool/generate_builtin.py

@@ -131,7 +131,7 @@ def createStructured(element):
     if len(valuemap) > 0:
         for n,t in valuemap.iteritems():
             if t.find("**") != -1:
-	        print("\t" + "UA_UInt32 " + n + "Size;", end='\n', file=fh)
+	        print("\t" + "UA_Int32 " + n + "Size;", end='\n', file=fh)
             print("\t" + "UA_" + t + " " + n + ";", end='\n', file=fh)
     else:
         print("\t/* null record */", end='\n', file=fh)
@@ -140,7 +140,7 @@ def createStructured(element):
 
     print("UA_Int32 " + name + "_calcSize(" + name + " const * ptr);", end='\n', file=fh)
     print("UA_Int32 " + name + "_encode(" + name + " const * src, UA_Int32* pos, char* dst);", end='\n', file=fh)
-    print("UA_Int32 " + name + "_decode(char const * src, UA_UInt32* pos, " + name + "* dst);", end='\n', file=fh)
+    print("UA_Int32 " + name + "_decode(char const * src, UA_Int32* pos, " + name + "* dst);", end='\n', file=fh)
 
     if "Response" in name[len(name)-9:]:
 		#Sten: not sure how to get it, actually we need to solve it on a higher level
@@ -188,7 +188,7 @@ def createStructured(element):
                 print('\tretval |= UA_'+t+"_encode(&(src->"+n+"),pos,dst);", end='\n', file=fc)
     print("\treturn retval;\n}\n", end='\n', file=fc)
 
-    print("UA_Int32 "+name+"_decode(char const * src, UA_UInt32* pos, " + name + "* dst) {\n\tUA_Int32 retval = UA_SUCCESS;", end='\n', file=fc)
+    print("Int32 "+name+"_decode(char const * src, UA_Int32* pos, " + name + "* dst) {\n\tUA_Int32 retval = UA_SUCCESS;", end='\n', file=fc)
     # code _decode
     for n,t in valuemap.iteritems():
         if t in elementary_size:

+ 9 - 9
tool/opcua_basictypes.c

@@ -296,7 +296,7 @@ UA_Int32 UA_String_decode(char const * src, UA_Int32* pos, UA_String * dst) {
 	return retval;
 }
 UA_TYPE_METHOD_DELETE_STRUCT(UA_String)
-UA_Int32 UA_String_deleteMembers(UA_String* p) { return UA_free(p->data); };
+UA_Int32 UA_String_deleteMembers(UA_String* p) { return UA_free(p->data); }
 UA_Int32 UA_String_copy(UA_String const * src, UA_String* dst) {
 	UA_Int32 retval = UA_SUCCESS;
 	dst->length = src->length;
@@ -342,14 +342,14 @@ UA_Int32 UA_Guid_encode(UA_Guid const *src, UA_Int32* pos, char *dst) {
 }
 UA_Int32 UA_Guid_decode(char const * src, UA_Int32* pos, UA_Guid *dst) {
 	UA_Int32 retval = UA_SUCCESS;
-	retval |= UA_Int32_decode(src,pos,&(dst->data1));
-	retval |= UA_Int16_decode(src,pos,&(dst->data2));
-	retval |= UA_Int16_decode(src,pos,&(dst->data3));
+	retval |= UA_UInt32_decode(src,pos,&(dst->data1));
+	retval |= UA_UInt16_decode(src,pos,&(dst->data2));
+	retval |= UA_UInt16_decode(src,pos,&(dst->data3));
 	retval |= UA_ByteString_decode(src,pos,&(dst->data4));
 	return retval;
 }
 UA_TYPE_METHOD_DELETE_STRUCT(UA_Guid)
-UA_Int32 UA_Guid_deleteMembers(UA_Guid* p) { return UA_ByteString_delete(&(p->data4)); };
+UA_Int32 UA_Guid_deleteMembers(UA_Guid* p) { return UA_ByteString_delete(&(p->data4)); }
 
 UA_Int32 UA_LocalizedText_calcSize(UA_LocalizedText const * p) {
 	UA_Int32 length = 0;
@@ -928,13 +928,13 @@ UA_Int32 UA_DataValue_decode(char const * src, UA_Int32* pos, UA_DataValue* dst)
 		retval |= UA_DateTime_decode(src,pos,&(dst->serverTimestamp));
 	}
 	if (dst->encodingMask & 0x10) {
-		retval |= UA_UInt16_decode(src,pos,&(dst->sourcePicoseconds));
+		retval |= UA_Int16_decode(src,pos,&(dst->sourcePicoseconds));
 		if (dst->sourcePicoseconds > MAX_PICO_SECONDS) {
 			dst->sourcePicoseconds = MAX_PICO_SECONDS;
 		}
 	}
 	if (dst->encodingMask & 0x20) {
-		retval |= UA_UInt16_decode(src,pos,&(dst->serverPicoseconds));
+		retval |= UA_Int16_decode(src,pos,&(dst->serverPicoseconds));
 		if (dst->serverPicoseconds > MAX_PICO_SECONDS) {
 			dst->serverPicoseconds = MAX_PICO_SECONDS;
 		}
@@ -957,10 +957,10 @@ UA_Int32 UA_DataValue_encode(UA_DataValue const * src, UA_Int32* pos, char *dst)
 		retval |= UA_DateTime_encode(&(src->serverTimestamp),pos,dst);
 	}
 	if (src->encodingMask & 0x10) {
-		retval |= UA_UInt16_encode(&(src->sourcePicoseconds),pos,dst);
+		retval |= UA_Int16_encode(&(src->sourcePicoseconds),pos,dst);
 	}
 	if (src->encodingMask & 0x10) {
-		retval |= UA_UInt16_encode(&(src->serverPicoseconds),pos,dst);
+		retval |= UA_Int16_encode(&(src->serverPicoseconds),pos,dst);
 	}
 	return retval;
 }

+ 6 - 5
tool/opcua_basictypes.h

@@ -57,6 +57,7 @@ UA_Int32 TYPE##_decode(char const * src, UA_Int32* pos, TYPE * dst);\
 UA_Int32 TYPE##_delete(TYPE * p);\
 UA_Int32 TYPE##_deleteMembers(TYPE * p); \
 
+
 #define UA_TYPE_METHOD_CALCSIZE_SIZEOF(TYPE) \
 UA_Int32 TYPE##_calcSize(TYPE const * p) { return sizeof(TYPE); }
 
@@ -64,10 +65,10 @@ UA_Int32 TYPE##_calcSize(TYPE const * p) { return sizeof(TYPE); }
 UA_Int32 TYPE##_calcSize(TYPE const * p) { return TYPE_AS##_calcSize((TYPE_AS*) p); }
 
 #define UA_TYPE_METHOD_DELETE_FREE(TYPE) \
-UA_Int32 TYPE##_delete(TYPE * p) { return UA_free(p); };
+UA_Int32 TYPE##_delete(TYPE * p) { return UA_free(p); }
 
 #define UA_TYPE_METHOD_DELETE_AS(TYPE, TYPE_AS) \
-UA_Int32 TYPE##_delete(TYPE * p) { return TYPE_AS##_delete((TYPE_AS*) p);};
+UA_Int32 TYPE##_delete(TYPE * p) { return TYPE_AS##_delete((TYPE_AS*) p);}
 
 #define UA_TYPE_METHOD_DELETE_STRUCT(TYPE) \
 UA_Int32 TYPE##_delete(TYPE *p) { \
@@ -78,13 +79,13 @@ UA_Int32 TYPE##_delete(TYPE *p) { \
 }
 
 #define UA_TYPE_METHOD_DELETEMEMBERS_NOACTION(TYPE) \
-UA_Int32 TYPE##_deleteMembers(TYPE * p) { return UA_SUCCESS; };
+UA_Int32 TYPE##_deleteMembers(TYPE * p) { return UA_SUCCESS; }
 
 #define UA_TYPE_METHOD_DELETEMEMBERS_AS(TYPE, TYPE_AS) \
-		UA_Int32 TYPE##_deleteMembers(TYPE * p) { return TYPE_AS##_deleteMembers((TYPE_AS*) p);};
+UA_Int32 TYPE##_deleteMembers(TYPE * p) { return TYPE_AS##_deleteMembers((TYPE_AS*) p);}
 
 #define UA_TYPE_METHOD_DECODE_AS(TYPE,TYPE_AS) \
-		UA_Int32 TYPE##_decode(char const * src, UA_Int32* pos, TYPE *dst) { \
+UA_Int32 TYPE##_decode(char const * src, UA_Int32* pos, TYPE *dst) { \
 	return TYPE_AS##_decode(src,pos,(TYPE_AS*) dst); \
 }