Check-in [e9e95211a0]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:add selected open62541 upstream changes in topcua subdir
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: e9e95211a0d33a24c4d819431e9405916be68bde
User & Date: chw 2019-11-08 09:22:31.200
Context
2019-11-08
09:24
attempt to fix FD_SETSIZE issues in tcl core check-in: 9ba84a8a76 user: chw tags: trunk
09:22
add selected open62541 upstream changes in topcua subdir check-in: e9e95211a0 user: chw tags: trunk
05:38
add tcl upstream changes check-in: edd0e8d3da user: chw tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to jni/topcua/open62541/chw.patch.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
The following patch relaxes type checking on attribute R/W functions.
This simplifies the "opcua read ..." and "opcua write ..." logic.
Another change allows the server's logger to be fully overriden.
It changes the default timeout to 10 milliseconds and adds some
functions to set the custom data type array on client and server.

--- open62541.c.orig	2019-10-17 23:46:08.000000000 +0200
+++ open62541.c	2019-10-21 06:55:33.945398767 +0200
@@ -22437,7 +22437,7 @@
 /* Main Server Loop */
 /********************/
 
-#define UA_MAXTIMEOUT 50 /* Max timeout in ms between main-loop iterations */
+#define UA_MAXTIMEOUT 10 /* Max timeout in ms between main-loop iterations */
 






|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
The following patch relaxes type checking on attribute R/W functions.
This simplifies the "opcua read ..." and "opcua write ..." logic.
Another change allows the server's logger to be fully overriden.
It changes the default timeout to 10 milliseconds and adds some
functions to set the custom data type array on client and server.

--- open62541.c.orig	2019-11-08 09:27:46.000000000 +0100
+++ open62541.c	2019-11-08 10:10:33.207053379 +0100
@@ -22437,7 +22437,7 @@
 /* Main Server Loop */
 /********************/
 
-#define UA_MAXTIMEOUT 50 /* Max timeout in ms between main-loop iterations */
+#define UA_MAXTIMEOUT 10 /* Max timeout in ms between main-loop iterations */
 
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
         res->value.data = NULL;
+    } else if(UA_Variant_isScalar(&res->value) && outDataType == &UA_TYPES[UA_TYPES_VARIANT]) {
+        memcpy(out, &res->value, sizeof(UA_Variant));
+        UA_Variant_init(&res->value);
     } else {
         retval = UA_STATUSCODE_BADUNEXPECTEDERROR;
     }
@@ -51600,16 +51603,22 @@
 
 static UA_StatusCode
 setDefaultConfig(UA_ServerConfig *conf) {
+    UA_Logger logger;
+
     if (!conf)
         return UA_STATUSCODE_BADINVALIDARGUMENT;







|







38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
         res->value.data = NULL;
+    } else if(UA_Variant_isScalar(&res->value) && outDataType == &UA_TYPES[UA_TYPES_VARIANT]) {
+        memcpy(out, &res->value, sizeof(UA_Variant));
+        UA_Variant_init(&res->value);
     } else {
         retval = UA_STATUSCODE_BADUNEXPECTEDERROR;
     }
@@ -51611,16 +51614,22 @@
 
 static UA_StatusCode
 setDefaultConfig(UA_ServerConfig *conf) {
+    UA_Logger logger;
+
     if (!conf)
         return UA_STATUSCODE_BADINVALIDARGUMENT;
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
     /* --> Start setting the default static config <-- */
     conf->nThreads = 1;
-    conf->logger = UA_Log_Stdout_;
+    conf->logger = logger;
 
     conf->shutdownDelay = 0.0;
 
@@ -56839,7 +56848,7 @@
     time_t gmt, rawtime = time(NULL);
 
     struct tm ptm;
-    gmtime_s(&ptm, &rawtime);
+    ptm = *gmtime(&rawtime);
     // Request that mktime() looksup dst in timezone database
     ptm.tm_isdst = -1;
     gmt = mktime(&ptm);
@@ -57924,3 +57933,17 @@
 
     return connection;
 }
+
+UA_StatusCode
+UA_Client_setCustomDataTypes(UA_Client *client, const UA_DataTypeArray *types) {
+  client->config.customDataTypes = types;
+
+  return UA_STATUSCODE_GOOD;
+}
+
+UA_StatusCode
+UA_Server_setCustomDataTypes(UA_Server *server, const UA_DataTypeArray *types) {
+  server->config.customDataTypes = types;
+
+  return UA_STATUSCODE_GOOD;
+}
--- open62541.h.orig	2019-10-17 23:46:08.000000000 +0200
+++ open62541.h	2019-10-21 06:53:10.262045913 +0200
@@ -95,7 +95,7 @@
  * On Win32: Define ``UA_DYNAMIC_LINKING`` and ``UA_DYNAMIC_LINKING_EXPORT`` in
  * order to export symbols for a DLL. Define ``UA_DYNAMIC_LINKING`` only to
  * import symbols from a DLL.*/
-#define UA_DYNAMIC_LINKING
+/* #undef UA_DYNAMIC_LINKING */
 







|








|

















|
|







62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
     /* --> Start setting the default static config <-- */
     conf->nThreads = 1;
-    conf->logger = UA_Log_Stdout_;
+    conf->logger = logger;
 
     conf->shutdownDelay = 0.0;
 
@@ -56850,7 +56859,7 @@
     time_t gmt, rawtime = time(NULL);
 
     struct tm ptm;
-    gmtime_s(&ptm, &rawtime);
+    ptm = *gmtime(&rawtime);
     // Request that mktime() looksup dst in timezone database
     ptm.tm_isdst = -1;
     gmt = mktime(&ptm);
@@ -57935,3 +57944,17 @@
 
     return connection;
 }
+
+UA_StatusCode
+UA_Client_setCustomDataTypes(UA_Client *client, const UA_DataTypeArray *types) {
+  client->config.customDataTypes = types;
+
+  return UA_STATUSCODE_GOOD;
+}
+
+UA_StatusCode
+UA_Server_setCustomDataTypes(UA_Server *server, const UA_DataTypeArray *types) {
+  server->config.customDataTypes = types;
+
+  return UA_STATUSCODE_GOOD;
+}
--- open62541.h.orig	2019-11-08 09:27:46.000000000 +0100
+++ open62541.h	2019-11-08 10:09:12.150748976 +0100
@@ -95,7 +95,7 @@
  * On Win32: Define ``UA_DYNAMIC_LINKING`` and ``UA_DYNAMIC_LINKING_EXPORT`` in
  * order to export symbols for a DLL. Define ``UA_DYNAMIC_LINKING`` only to
  * import symbols from a DLL.*/
-#define UA_DYNAMIC_LINKING
+/* #undef UA_DYNAMIC_LINKING */
 
Changes to jni/topcua/open62541/open62541.c.
1
2
3
4
5
6
7
8
9
10
/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES
 * visit http://open62541.org/ for information about this software
 * Git-Revision: v1.0-15-ge0b7665b
 */

/*
 * Copyright (C) 2014-2018 the contributors as stated in the AUTHORS file
 *
 * This file is part of open62541. open62541 is free software: you can
 * redistribute it and/or modify it under the terms of the Mozilla Public


|







1
2
3
4
5
6
7
8
9
10
/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES
 * visit http://open62541.org/ for information about this software
 * Git-Revision: v1.0-29-g95b3deb6
 */

/*
 * Copyright (C) 2014-2018 the contributors as stated in the AUTHORS file
 *
 * This file is part of open62541. open62541 is free software: you can
 * redistribute it and/or modify it under the terms of the Mozilla Public
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated_encoding_binary.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */

#ifdef UA_ENABLE_AMALGAMATION
#else
#endif










|







905
906
907
908
909
910
911
912
913
914
915
916
917
918
919

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated_encoding_binary.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */

#ifdef UA_ENABLE_AMALGAMATION
#else
#endif



3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
UA_ReadEventDetails_decodeBinary(const UA_ByteString *src, size_t *offset, UA_ReadEventDetails *dst) {
    return UA_decodeBinary(src, offset, dst, &UA_TYPES[UA_TYPES_READEVENTDETAILS], NULL);
}

/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */


#ifdef UA_ENABLE_AMALGAMATION
#else

#endif








|







3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
UA_ReadEventDetails_decodeBinary(const UA_ByteString *src, size_t *offset, UA_ReadEventDetails *dst) {
    return UA_decodeBinary(src, offset, dst, &UA_TYPES[UA_TYPES_READEVENTDETAILS], NULL);
}

/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */


#ifdef UA_ENABLE_AMALGAMATION
#else

#endif

3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated_handling.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */



_UA_BEGIN_DECLS

#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
# pragma GCC diagnostic push







|







3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated_handling.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */



_UA_BEGIN_DECLS

#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
# pragma GCC diagnostic push
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated_encoding_binary.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */

#ifdef UA_ENABLE_AMALGAMATION
#else
#endif










|







4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated_encoding_binary.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */

#ifdef UA_ENABLE_AMALGAMATION
#else
#endif



10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
UA_calcSizeBinary(const void *p, const UA_DataType *type) {
    return calcSizeBinaryJumpTable[type->typeKind](p, type);
}

/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated.c" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */


/* Boolean */
#define Boolean_members NULL

/* SByte */
#define SByte_members NULL







|







10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
UA_calcSizeBinary(const void *p, const UA_DataType *type) {
    return calcSizeBinaryJumpTable[type->typeKind](p, type);
}

/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated.c" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */


/* Boolean */
#define Boolean_members NULL

/* SByte */
#define SByte_members NULL
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
},
};


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated.c" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */


/* SecureConversationMessageAbortBody */
static UA_DataTypeMember SecureConversationMessageAbortBody_members[2] = {
{
    UA_TYPENAME("Error") /* .memberName */
    UA_TYPES_UINT32, /* .memberTypeIndex */







|







17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
},
};


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/transport_generated.c" ***********************************/

/* Generated from Opc.Ua.Types.bsd, Custom.Opc.Ua.Transport.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */


/* SecureConversationMessageAbortBody */
static UA_DataTypeMember SecureConversationMessageAbortBody_members[2] = {
{
    UA_TYPENAME("Error") /* .memberName */
    UA_TYPES_UINT32, /* .memberTypeIndex */
43333
43334
43335
43336
43337
43338
43339

43340
43341
43342
43343
43344
43345
43346
43347
    0,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14,
    15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,  0,  0,  0,  63,
    0,  26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
    41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51};

unsigned char *
UA_unbase64(const unsigned char *src, size_t len, size_t *out_len) {

    if(len == 0) {
        *out_len = 0;
        return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL;
    }

    const unsigned char *p = src;
    size_t pad1 = len % 4 || p[len - 1] == '=';
    size_t pad2 = pad1 && (len % 4 > 2 || p[len - 2] != '=');







>
|







43333
43334
43335
43336
43337
43338
43339
43340
43341
43342
43343
43344
43345
43346
43347
43348
    0,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14,
    15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,  0,  0,  0,  63,
    0,  26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
    41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51};

unsigned char *
UA_unbase64(const unsigned char *src, size_t len, size_t *out_len) {
    // we need a minimum length
    if(len <= 2) {
        *out_len = 0;
        return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL;
    }

    const unsigned char *p = src;
    size_t pad1 = len % 4 || p[len - 1] == '=';
    size_t pad2 = pad1 && (len % 4 > 2 || p[len - 2] != '=');
43357
43358
43359
43360
43361
43362
43363





43364
43365
43366





43367
43368
43369
43370
43371
43372
43373
                     from_b64[p[i + 2]] << 6 | from_b64[p[i + 3]];
        *pos++ = (unsigned char)(n >> 16);
        *pos++ = (unsigned char)(n >> 8 & 0xFF);
        *pos++ = (unsigned char)(n & 0xFF);
    }

    if(pad1) {





        uint32_t n = from_b64[p[last]] << 18 | from_b64[p[last + 1]] << 12;
        *pos++ = (unsigned char)(n >> 16);
        if(pad2) {





            n |= from_b64[p[last + 2]] << 6;
            *pos++ = (unsigned char)(n >> 8 & 0xFF);
        }
    }

    *out_len = (uintptr_t)(pos - str);
    return str;







>
>
>
>
>



>
>
>
>
>







43358
43359
43360
43361
43362
43363
43364
43365
43366
43367
43368
43369
43370
43371
43372
43373
43374
43375
43376
43377
43378
43379
43380
43381
43382
43383
43384
                     from_b64[p[i + 2]] << 6 | from_b64[p[i + 3]];
        *pos++ = (unsigned char)(n >> 16);
        *pos++ = (unsigned char)(n >> 8 & 0xFF);
        *pos++ = (unsigned char)(n & 0xFF);
    }

    if(pad1) {
        if (last + 1 >= len) {
            UA_free(str);
            *out_len = 0;
            return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL;
        }
        uint32_t n = from_b64[p[last]] << 18 | from_b64[p[last + 1]] << 12;
        *pos++ = (unsigned char)(n >> 16);
        if(pad2) {
            if (last + 2 >= len) {
                UA_free(str);
                *out_len = 0;
                return (unsigned char*)UA_EMPTY_ARRAY_SENTINEL;
            }
            n |= from_b64[p[last + 2]] << 6;
            *pos++ = (unsigned char)(n >> 8 & 0xFF);
        }
    }

    *out_len = (uintptr_t)(pos - str);
    return str;
Changes to jni/topcua/open62541/open62541.h.
1
2
3
4
5
6
7
8
9
10
/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES
 * visit http://open62541.org/ for information about this software
 * Git-Revision: v1.0-15-ge0b7665b
 */

/*
 * Copyright (C) 2014-2018 the contributors as stated in the AUTHORS file
 *
 * This file is part of open62541. open62541 is free software: you can
 * redistribute it and/or modify it under the terms of the Mozilla Public


|







1
2
3
4
5
6
7
8
9
10
/* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES
 * visit http://open62541.org/ for information about this software
 * Git-Revision: v1.0-29-g95b3deb6
 */

/*
 * Copyright (C) 2014-2018 the contributors as stated in the AUTHORS file
 *
 * This file is part of open62541. open62541 is free software: you can
 * redistribute it and/or modify it under the terms of the Mozilla Public
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

/**
 * open62541 Version
 * ----------------- */
#define UA_OPEN62541_VER_MAJOR 1
#define UA_OPEN62541_VER_MINOR 0
#define UA_OPEN62541_VER_PATCH 0
#define UA_OPEN62541_VER_LABEL "-15-ge0b7665b" /* Release candidate label, etc. */
#define UA_OPEN62541_VER_COMMIT "v1.0-15-ge0b7665b"

/**
 * Feature Options
 * ---------------
 * Changing the feature options has no effect on a pre-compiled library. */

#define UA_LOGLEVEL 300







|
|







27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

/**
 * open62541 Version
 * ----------------- */
#define UA_OPEN62541_VER_MAJOR 1
#define UA_OPEN62541_VER_MINOR 0
#define UA_OPEN62541_VER_PATCH 0
#define UA_OPEN62541_VER_LABEL "-29-g95b3deb6" /* Release candidate label, etc. */
#define UA_OPEN62541_VER_COMMIT "v1.0-29-g95b3deb6"

/**
 * Feature Options
 * ---------------
 * Changing the feature options has no effect on a pre-compiled library. */

#define UA_LOGLEVEL 300
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */


#ifdef UA_ENABLE_AMALGAMATION
#else

#endif








|







13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */


#ifdef UA_ENABLE_AMALGAMATION
#else

#endif

16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated_handling.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-75783ef5-fe4f-4898-9551-c9688eb9906e by user travis at 2019-10-17 09:17:12 */



_UA_BEGIN_DECLS

#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
# pragma GCC diagnostic push







|







16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506

_UA_END_DECLS


/*********************************** amalgamated original file "/home/travis/build/open62541/open62541/build/src_generated/open62541/types_generated_handling.h" ***********************************/

/* Generated from Opc.Ua.Types.bsd with script /home/travis/build/open62541/open62541/tools/generate_datatypes.py
 * on host travis-job-49e882ba-69aa-40f1-b88e-0acdafda6b10 by user travis at 2019-11-08 08:01:51 */



_UA_BEGIN_DECLS

#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
# pragma GCC diagnostic push
Changes to jni/topcua/open62541/open62541.pdf.

cannot compute difference between binary files