ua_constants.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /* This Source Code Form is subject to the terms of the Mozilla Public
  2. * License, v. 2.0. If a copy of the MPL was not distributed with this
  3. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  4. *
  5. * Copyright 2016-2017 (c) Fraunhofer IOSB (Author: Julius Pfrommer)
  6. * Copyright 2016 (c) Sten Grüner
  7. * Copyright 2016-2017 (c) Stefan Profanter, fortiss GmbH
  8. * Copyright 2017 (c) Florian Palm
  9. */
  10. #ifndef UA_CONSTANTS_H_
  11. #define UA_CONSTANTS_H_
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. /**
  16. * Standard-Defined Constants
  17. * ==========================
  18. * This section contains numerical and string constants that are defined in the
  19. * OPC UA standard.
  20. *
  21. * .. _attribute-id:
  22. *
  23. * Attribute Id
  24. * ------------
  25. * Every node in an OPC UA information model contains attributes depending on
  26. * the node type. Possible attributes are as follows: */
  27. typedef enum {
  28. UA_ATTRIBUTEID_NODEID = 1,
  29. UA_ATTRIBUTEID_NODECLASS = 2,
  30. UA_ATTRIBUTEID_BROWSENAME = 3,
  31. UA_ATTRIBUTEID_DISPLAYNAME = 4,
  32. UA_ATTRIBUTEID_DESCRIPTION = 5,
  33. UA_ATTRIBUTEID_WRITEMASK = 6,
  34. UA_ATTRIBUTEID_USERWRITEMASK = 7,
  35. UA_ATTRIBUTEID_ISABSTRACT = 8,
  36. UA_ATTRIBUTEID_SYMMETRIC = 9,
  37. UA_ATTRIBUTEID_INVERSENAME = 10,
  38. UA_ATTRIBUTEID_CONTAINSNOLOOPS = 11,
  39. UA_ATTRIBUTEID_EVENTNOTIFIER = 12,
  40. UA_ATTRIBUTEID_VALUE = 13,
  41. UA_ATTRIBUTEID_DATATYPE = 14,
  42. UA_ATTRIBUTEID_VALUERANK = 15,
  43. UA_ATTRIBUTEID_ARRAYDIMENSIONS = 16,
  44. UA_ATTRIBUTEID_ACCESSLEVEL = 17,
  45. UA_ATTRIBUTEID_USERACCESSLEVEL = 18,
  46. UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL = 19,
  47. UA_ATTRIBUTEID_HISTORIZING = 20,
  48. UA_ATTRIBUTEID_EXECUTABLE = 21,
  49. UA_ATTRIBUTEID_USEREXECUTABLE = 22
  50. } UA_AttributeId;
  51. /**
  52. * Access Level Masks
  53. * ------------------
  54. * The access level to a node is given by the following constants that are ANDed
  55. * with the overall access level. */
  56. #define UA_ACCESSLEVELMASK_READ (0x01<<0)
  57. #define UA_ACCESSLEVELMASK_WRITE (0x01<<1)
  58. #define UA_ACCESSLEVELMASK_HISTORYREAD (0x01<<2)
  59. #define UA_ACCESSLEVELMASK_HISTORYWRITE (0x01<<3)
  60. #define UA_ACCESSLEVELMASK_SEMANTICCHANGE (0x01<<4)
  61. #define UA_ACCESSLEVELMASK_STATUSWRITE (0x01<<5)
  62. #define UA_ACCESSLEVELMASK_TIMESTAMPWRITE (0x01<<6)
  63. /**
  64. * Write Masks
  65. * -----------
  66. * The write mask and user write mask is given by the following constants that
  67. * are ANDed for the overall write mask. Part 3: 5.2.7 Table 2 */
  68. #define UA_WRITEMASK_ACCESSLEVEL (0x01<<0)
  69. #define UA_WRITEMASK_ARRRAYDIMENSIONS (0x01<<1)
  70. #define UA_WRITEMASK_BROWSENAME (0x01<<2)
  71. #define UA_WRITEMASK_CONTAINSNOLOOPS (0x01<<3)
  72. #define UA_WRITEMASK_DATATYPE (0x01<<4)
  73. #define UA_WRITEMASK_DESCRIPTION (0x01<<5)
  74. #define UA_WRITEMASK_DISPLAYNAME (0x01<<6)
  75. #define UA_WRITEMASK_EVENTNOTIFIER (0x01<<7)
  76. #define UA_WRITEMASK_EXECUTABLE (0x01<<8)
  77. #define UA_WRITEMASK_HISTORIZING (0x01<<9)
  78. #define UA_WRITEMASK_INVERSENAME (0x01<<10)
  79. #define UA_WRITEMASK_ISABSTRACT (0x01<<11)
  80. #define UA_WRITEMASK_MINIMUMSAMPLINGINTERVAL (0x01<<12)
  81. #define UA_WRITEMASK_NODECLASS (0x01<<13)
  82. #define UA_WRITEMASK_NODEID (0x01<<14)
  83. #define UA_WRITEMASK_SYMMETRIC (0x01<<15)
  84. #define UA_WRITEMASK_USERACCESSLEVEL (0x01<<16)
  85. #define UA_WRITEMASK_USEREXECUTABLE (0x01<<17)
  86. #define UA_WRITEMASK_USERWRITEMASK (0x01<<18)
  87. #define UA_WRITEMASK_VALUERANK (0x01<<19)
  88. #define UA_WRITEMASK_WRITEMASK (0x01<<20)
  89. #define UA_WRITEMASK_VALUEFORVARIABLETYPE (0x01<<21)
  90. #ifdef __cplusplus
  91. } // extern "C"
  92. #endif
  93. #endif /* UA_CONSTANTS_H_ */