libmkkernel 9.0
No Matches
Data Structures

a collection of all native-data-types supported by MkBufferCMore...

+ Collaboration diagram for MkKernel_PrimitiveType_C_API:

Data Structures

union  MkBufferAtomU
 union used to set or modify native data from an MkBufferS object … More...
union  MkBufferU
 a union for all data items supported by MkBufferSMore...

macros to support types

#define MkType_O   MK_BOL
#define MkType_Y   MK_BYT
#define MkType_S   MK_SRT
#define MkType_I   MK_INT
#define MkType_W   MK_WID
#define MkType_F   MK_FLT
#define MkType_D   MK_DBL
#define MkType_C   MK_STRN
#define MkType_B   MK_BIN
#define MkType_U   MK_BUF
#define MkType_L   MK_BFL

Detailed Description

a collection of all native-data-types supported by MkBufferC

The data send from one package-item to an other package-item is focused on speed and usability. By default the data is send as binary, only if the endian changes or a string representation is required an additional transformation is done.
The data send from one package-item to an other package-item is limited to a collection of specific types, based on native C data types.
An libmkkernel-API command with a focus on a specific type is using a type-postfix, for example MqReadC read a (C=string) data from the read-package.
In the documentation the type-item (TT) is a synonym for a (Y,O,S,I,W,F,D,B,C,L,U) type-item.

The following native-type identifier are available:

TT native comment
Y MK_BYT 1 byte signed character
O MK_BOL 1 byte boolean value using MK_YES or MK_NO
S MK_SRT 2 byte signed short
I MK_INT 4 byte signed integer
W MK_WID 8 byte signed long long integer
F MK_FLT 4 byte float
D MK_DBL 8 byte double
B MK_BINN unsigned char array used for binary data
C MK_STR string data using a \0 at the end

The following compose-type identifier's are available:

TT native comment
U MK_BUF buffer-item that can hold any single typed item from above
L MK_BFL buffer-list that can hold many buffer-item from above

Every native-data-type is encapsualted into a MkBufferC. A MkBufferC is type safe, this mean that every read to a MkBufferC have to match the data-type of the previous write. One exception is available, the cast from and to the MK_STR data-type (TYPE=C) is allowed.

Sending data mean sending one ore more MkBufferC from one package-item to an other package-item. The sender is using a MqSendTT command to put data as MkBufferC into an send-data-package and the reveiver is using a MqReadTT command to retrieve the data from the read-data-package.

Macro Definition Documentation

◆ MkType_B

#define MkType_B   MK_BIN

Definition at line 3453 of file kernel_mk.h.

◆ MkType_C

#define MkType_C   MK_STRN

Definition at line 3452 of file kernel_mk.h.

◆ MkType_D

#define MkType_D   MK_DBL

Definition at line 3451 of file kernel_mk.h.

◆ MkType_F

#define MkType_F   MK_FLT

Definition at line 3450 of file kernel_mk.h.

◆ MkType_I

#define MkType_I   MK_INT

Definition at line 3448 of file kernel_mk.h.

◆ MkType_L

#define MkType_L   MK_BFL

Definition at line 3455 of file kernel_mk.h.

◆ MkType_O

#define MkType_O   MK_BOL

Definition at line 3445 of file kernel_mk.h.

◆ MkType_S

#define MkType_S   MK_SRT

Definition at line 3447 of file kernel_mk.h.

◆ MkType_U

#define MkType_U   MK_BUF

Definition at line 3454 of file kernel_mk.h.

◆ MkType_W

#define MkType_W   MK_WID

Definition at line 3449 of file kernel_mk.h.

◆ MkType_Y

#define MkType_Y   MK_BYT

Definition at line 3446 of file kernel_mk.h.