S2OPC OPCUA Toolkit
Loading...
Searching...
No Matches
sopc_dataset_ll_layer.h
Go to the documentation of this file.
1/*
2 * Licensed to Systerel under one or more contributor license
3 * agreements. See the NOTICE file distributed with this work
4 * for additional information regarding copyright ownership.
5 * Systerel licenses this file to you under the Apache
6 * License, Version 2.0 (the "License"); you may not use this
7 * file except in compliance with the License. You may obtain
8 * a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20#ifndef SOPC_DATASET_LL_LAYER_H_
21#define SOPC_DATASET_LL_LAYER_H_
22
23#include <stdbool.h>
24
25#include "sopc_builtintypes.h"
26#include "sopc_pubsub_conf.h"
28
29#define UADP_VERSION1 1
30#define UADP_DEFAULT_VERSION UADP_VERSION1
31
33
37
46
59
67
74
87
89
103
105
107 struct SOPC_PubFixedBuffer_Buffer_Ctx* preencode);
110
111// todo change interface to create nm without dsm
113
118
123
128
133
135
136// Only for decoding: precondition: version <= 15 (4 bits)
138
140
142 int index);
143
144/* PUBLISHER ID */
145// publisher id type
148// publisher id
149/* Return address of the internal publisher id type
150 * User shall not delete data
151 */
154
160/* WRITER GROUP ID */
163/* WRITER GROUP VERSION */
166
172
177
179
180// dataset writer id
182
183// dataset writer id
185
186// Set UADP conf associated to the DSM
189
190// Get UADP conf associated to the DSM
193
194// dataset message type (default is Key Frame without DataSetFlags2 content mask)
197
198// dataset message timestamp
202
203// dataset message sequence number
221 SOPC_Variant* variant,
222 uint16_t index);
223
229 uint16_t index);
233 uint16_t index);
235 uint16_t index);
236
238
239#endif /* SOPC_DATASET_LL_LAYER_H_ */
uint8_t SOPC_Byte
Definition sopc_builtintypes.h:138
void SOPC_Dataset_LL_NetworkMessage_Set_PublisherId_String(SOPC_Dataset_LL_NetworkMessage_Header *nmh, SOPC_String id)
struct SOPC_Dataset_LL_DataSetMessage SOPC_Dataset_LL_DataSetMessage
Definition sopc_dataset_ll_layer.h:32
const SOPC_Dataset_LL_NetworkMessage_Header * SOPC_Dataset_LL_NetworkMessage_GetHeader_Const(const SOPC_Dataset_LL_NetworkMessage *nm)
bool SOPC_Dataset_LL_NetworkMessage_Allocate_DataSetMsg_Array(SOPC_Dataset_LL_NetworkMessage *nm, uint8_t dsm_nb)
SOPC_DataSet_LL_PublisherIdType
Definition sopc_dataset_ll_layer.h:39
@ DataSet_LL_PubId_UInt32_Id
Definition sopc_dataset_ll_layer.h:42
@ DataSet_LL_PubId_UInt64_Id
Definition sopc_dataset_ll_layer.h:43
@ DataSet_LL_PubId_String_Id
Definition sopc_dataset_ll_layer.h:44
@ DataSet_LL_PubId_UInt16_Id
Definition sopc_dataset_ll_layer.h:41
@ DataSet_LL_PubId_Byte_Id
Definition sopc_dataset_ll_layer.h:40
uint32_t SOPC_Dataset_LL_NetworkMessage_Get_GroupVersion(const SOPC_Dataset_LL_NetworkMessage *nm)
const SOPC_Variant * SOPC_Dataset_LL_DataSetMsg_Get_ConstVariant_At(const SOPC_Dataset_LL_DataSetMessage *dsm, uint16_t index)
SOPC_Dataset_LL_NetworkMessage * SOPC_Dataset_LL_NetworkMessage_Create(uint8_t dsm_nb, uint8_t uadp_version)
Create a NetworkMessage.
void SOPC_DataSet_LL_NetworkMessage_Set_Preencode_Buffer(SOPC_Dataset_LL_NetworkMessage *nm, struct SOPC_PubFixedBuffer_Buffer_Ctx *preencode)
SOPC_DataSet_LL_FieldEncoding
Definition sopc_dataset_ll_layer.h:69
@ DataSet_LL_FieldEncoding_DataValue
Definition sopc_dataset_ll_layer.h:72
@ DataSet_LL_FieldEncoding_RawData
Definition sopc_dataset_ll_layer.h:71
@ DataSet_LL_FieldEncoding_Variant
Definition sopc_dataset_ll_layer.h:70
void SOPC_Dataset_LL_DataSetMsg_Set_SequenceNumber(SOPC_Dataset_LL_DataSetMessage *dsm, uint16_t sn)
SOPC_Dataset_LL_NetworkMessage_Header * SOPC_Dataset_LL_NetworkMessage_GetHeader(SOPC_Dataset_LL_NetworkMessage *nm)
returns the Header of a network message
uint8_t SOPC_Dataset_LL_NetworkMessage_GetVersion(const SOPC_Dataset_LL_NetworkMessage_Header *nmh)
SOPC_Dataset_LL_DataSetField * SOPC_Dataset_LL_DataSetMsg_Get_DataSetField_At(SOPC_Dataset_LL_DataSetMessage *dsm, uint16_t index)
uint16_t SOPC_Dataset_LL_DataSetMsg_Get_WriterId(const SOPC_Dataset_LL_DataSetMessage *dsm)
SOPC_Variant * SOPC_Dataset_LL_DataSetMsg_Get_Variant_At(SOPC_Dataset_LL_DataSetMessage *dsm, uint16_t index)
const SOPC_UADP_Configuration * SOPC_Dataset_LL_NetworkMessage_GetHeaderConfig_Const(const SOPC_Dataset_LL_NetworkMessage_Header *nmh)
struct SOPC_PubFixedBuffer_Buffer_Ctx * SOPC_DataSet_LL_NetworkMessage_Get_Preencode_Buffer(SOPC_Dataset_LL_NetworkMessage *nm)
void SOPC_Dataset_LL_DataSetMsg_Set_Timestamp(SOPC_Dataset_LL_DataSetMessage *dsm, uint64_t timestamp)
bool SOPC_Dataset_LL_DataSetMsg_Set_DataSetField_Variant_At(SOPC_Dataset_LL_DataSetMessage *dsm, SOPC_Variant *variant, uint16_t index)
void SOPC_Dataset_LL_NetworkMessage_Set_PublisherId_Byte(SOPC_Dataset_LL_NetworkMessage_Header *nmh, SOPC_Byte id)
const uint16_t * SOPC_Dataset_LL_DataSetMsg_Get_SequenceNumberPointer(const SOPC_Dataset_LL_DataSetMessage *dsm)
void SOPC_Dataset_LL_NetworkMessage_Delete(SOPC_Dataset_LL_NetworkMessage *nm)
Free the given networkMessage and its attibutes.
SOPC_Dataset_LL_DataSetMessage * SOPC_Dataset_LL_NetworkMessage_Get_DataSetMsg_At(SOPC_Dataset_LL_NetworkMessage *nm, int index)
void SOPC_Dataset_LL_NetworkMessage_Set_PublisherId_UInt32(SOPC_Dataset_LL_NetworkMessage_Header *nmh, uint32_t id)
struct SOPC_DataSet_LL_UadpDataSetMessageContentMask SOPC_DataSet_LL_UadpDataSetMessageContentMask
bool SOPC_DataSet_LL_NetworkMessage_is_Preencode_Buffer_Enabled(SOPC_Dataset_LL_NetworkMessage *nm)
void SOPC_Dataset_LL_NetworkMessage_Set_PublisherId_UInt64(SOPC_Dataset_LL_NetworkMessage_Header *nmh, uint64_t id)
SOPC_DataSet_LL_DataSetMessageType
Definition sopc_dataset_ll_layer.h:61
@ DataSet_LL_MessageType_KeyFrame
Definition sopc_dataset_ll_layer.h:62
@ DataSet_LL_MessageType_Event
Definition sopc_dataset_ll_layer.h:64
@ DataSet_LL_MessageType_DeltaFrame
Definition sopc_dataset_ll_layer.h:63
@ DataSet_LL_MessageType_KeepAlive
Definition sopc_dataset_ll_layer.h:65
SOPC_Dataset_LL_NetworkMessage * SOPC_Dataset_LL_NetworkMessage_CreateEmpty(void)
uint16_t SOPC_Dataset_LL_DataSetMsg_Get_SequenceNumber(const SOPC_Dataset_LL_DataSetMessage *dsm)
struct SOPC_Dataset_LL_NetworkMessage SOPC_Dataset_LL_NetworkMessage
Definition sopc_dataset_ll_layer.h:34
uint16_t SOPC_Dataset_LL_DataSetMsg_Nb_DataSetField(const SOPC_Dataset_LL_DataSetMessage *dsm)
void SOPC_Dataset_LL_DataSetMsg_Set_WriterId(SOPC_Dataset_LL_DataSetMessage *dsm, uint16_t id)
struct SOPC_Dataset_LL_PublisherId SOPC_Dataset_LL_PublisherId
uint64_t SOPC_Dataset_LL_DataSetMsg_Get_Timestamp(const SOPC_Dataset_LL_DataSetMessage *dsm)
void SOPC_Dataset_LL_NetworkMessage_Set_GroupVersion(SOPC_Dataset_LL_NetworkMessage *nm, uint32_t version)
const SOPC_Variant * SOPC_Dataset_LL_DataSetField_Get_Variant(const SOPC_Dataset_LL_DataSetField *dsf)
struct SOPC_Dataset_LL_NetworkMessage_Header SOPC_Dataset_LL_NetworkMessage_Header
Definition sopc_dataset_ll_layer.h:35
void SOPC_Dataset_LL_NetworkMessage_SetVersion(SOPC_Dataset_LL_NetworkMessage_Header *nmh, uint8_t version)
const uint64_t * SOPC_Dataset_LL_DataSetMsg_Get_TimestampPointer(const SOPC_Dataset_LL_DataSetMessage *dsm)
SOPC_DataSet_LL_PublisherIdType SOPC_Dataset_LL_NetworkMessage_Get_PublisherIdType(const SOPC_Dataset_LL_NetworkMessage_Header *nmh)
SOPC_DataSet_LL_DataSetMessageType SOPC_Dataset_LL_DataSetMsg_Get_MessageType(const SOPC_Dataset_LL_DataSetMessage *dsm)
uint8_t SOPC_Dataset_LL_NetworkMessage_Nb_DataSetMsg(SOPC_Dataset_LL_NetworkMessage *nm)
void SOPC_Dataset_LL_DataSetMsg_Delete_DataSetField_Array(SOPC_Dataset_LL_DataSetMessage *dsm)
const SOPC_Dataset_LL_PublisherId * SOPC_Dataset_LL_NetworkMessage_Get_PublisherId(const SOPC_Dataset_LL_NetworkMessage_Header *nmh)
void SOPC_Dataset_LL_NetworkMessage_Set_PublisherId_UInt16(SOPC_Dataset_LL_NetworkMessage_Header *nmh, uint16_t id)
const SOPC_DataSet_LL_UadpDataSetMessageContentMask * SOPC_Dataset_LL_DataSetMsg_Get_ContentMask(const SOPC_Dataset_LL_DataSetMessage *dsm)
SOPC_UADP_Configuration * SOPC_Dataset_LL_NetworkMessage_GetHeaderConfig(SOPC_Dataset_LL_NetworkMessage_Header *nmh)
returns the Configuration of a network message
void SOPC_Dataset_LL_NetworkMessage_Set_GroupId(SOPC_Dataset_LL_NetworkMessage *nm, uint16_t id)
uint16_t SOPC_Dataset_LL_NetworkMessage_Get_GroupId(const SOPC_Dataset_LL_NetworkMessage *nm)
struct SOPC_Dataset_LL_DataSetField SOPC_Dataset_LL_DataSetField
Definition sopc_dataset_ll_layer.h:36
bool SOPC_Dataset_LL_DataSetMsg_Allocate_DataSetField_Array(SOPC_Dataset_LL_DataSetMessage *dsm, uint16_t dsf_nb)
const SOPC_Dataset_LL_DataSetField * SOPC_Dataset_LL_DataSetMsg_Get_ConstDataSetField_At(const SOPC_Dataset_LL_DataSetMessage *dsm, uint16_t index)
void SOPC_Dataset_LL_DataSetMsg_Set_ContentMask(SOPC_Dataset_LL_DataSetMessage *dsm, const SOPC_DataSet_LL_UadpDataSetMessageContentMask *conf)
struct SOPC_PubFixedBuffer_Buffer_Ctx SOPC_PubFixedBuffer_Buffer_Ctx
Definition sopc_pub_fixed_buffer.h:30
Internal module used to implement PubSub security features.
Definition sopc_dataset_ll_layer.h:76
bool configurationVersionMajorVersionFlag
Definition sopc_dataset_ll_layer.h:81
bool dataSetMessageSequenceNumberFlag
Definition sopc_dataset_ll_layer.h:79
bool validFlag
Definition sopc_dataset_ll_layer.h:77
bool timestampFlag
Definition sopc_dataset_ll_layer.h:84
bool statusFlag
Definition sopc_dataset_ll_layer.h:80
SOPC_DataSet_LL_DataSetMessageType dataSetMessageType
Definition sopc_dataset_ll_layer.h:83
bool picoSecondsFlag
Definition sopc_dataset_ll_layer.h:85
SOPC_DataSet_LL_FieldEncoding fieldEncoding
Definition sopc_dataset_ll_layer.h:78
bool configurationVersionMinorFlag
Definition sopc_dataset_ll_layer.h:82
Definition sopc_dataset_ll_layer.h:48
SOPC_DataSet_LL_PublisherIdType type
Definition sopc_dataset_ll_layer.h:49
uint32_t uint32
Definition sopc_dataset_ll_layer.h:54
SOPC_String string
Definition sopc_dataset_ll_layer.h:56
SOPC_Byte byte
Definition sopc_dataset_ll_layer.h:52
union SOPC_Dataset_LL_PublisherId::@13 data
uint64_t uint64
Definition sopc_dataset_ll_layer.h:55
uint16_t uint16
Definition sopc_dataset_ll_layer.h:53
This structure provides string encapsulation.
Definition sopc_builtintypes.h:148
Definition sopc_pubsub_conf.h:48
This structure provides variant encapsulation.
Definition sopc_builtintypes.h:374