KNX IoT
KNX IoT Point API stack implementation
oc_knx_fp.h File Reference

knx /fp resource implementations More...

#include <stddef.h>
#include "oc_helpers.h"
#include "oc_ri.h"

Go to the source code of this file.

Data Structures

struct  oc_group_object_table_t
 Group Object Table Resource (/fp/g) The payload is an array of objects. More...
 
struct  oc_group_rp_table_t
 Function point Recipient - Publisher Table Resource (/fp/r) (/fp/p) More...
 

Typedefs

typedef struct oc_group_object_table_t oc_group_object_table_t
 Group Object Table Resource (/fp/g) The payload is an array of objects. More...
 
typedef struct oc_group_rp_table_t oc_group_rp_table_t
 Function point Recipient - Publisher Table Resource (/fp/r) (/fp/p) More...
 

Enumerations

enum  oc_cflag_mask_t {
  OC_CFLAG_NONE = 0 , OC_CFLAG_COMMUNICATION , OC_CFLAG_READ = 1 << 3 , OC_CFLAG_WRITE ,
  OC_CFLAG_INIT = 1 << 5 , OC_CFLAG_TRANSMISSION , OC_CFLAG_UPDATE
}
 cflag masks More...
 

Functions

int find_empty_slot_in_group_object_table (int id)
 find empty slot in group object table More...
 
bool oc_add_points_in_group_object_table_to_response (oc_request_t *request, size_t device_index, uint32_t group_address, size_t *response_length, int matches)
 add points to the well-known core discovery response when the request has query option .well-known/core?d=urn:knx:g.s. More...
 
bool oc_belongs_href_to_resource (oc_string_t href, bool discoverable, size_t device_index)
 checks if the href (url) belongs to the device More...
 
void oc_cflags_as_string (char *buffer, oc_cflag_mask_t cflags)
 adds the communication flags a preallocated buffer More...
 
int oc_core_add_publisher_entry (int index, oc_group_rp_table_t entry)
 add publisher entry More...
 
int oc_core_add_recipient_entry (int index, oc_group_rp_table_t entry)
 add recipient entry More...
 
bool oc_core_check_recipient_index_on_group_address (int index, uint32_t group_address)
 checks if the group address is part of the recipient table at index More...
 
int oc_core_find_empty_slot_in_publisher_table (int id)
 find empty slot in recipient table More...
 
int oc_core_find_empty_slot_in_recipient_table (int id)
 find empty slot in recipient table More...
 
int oc_core_find_group_object_table_group_entry (int index, int entry)
 get group address of index, and entry (e.g. More...
 
int oc_core_find_group_object_table_index (uint32_t group_address)
 find (first) index in the group address table More...
 
int oc_core_find_group_object_table_number_group_entries (int index)
 retrieve the number of group address entries for index More...
 
int oc_core_find_group_object_table_url (const char *url)
 find (first) index in the group address table via url More...
 
oc_string_t oc_core_find_group_object_table_url_from_index (int index)
 find the url (of the resource) that in the group object table entry. More...
 
int oc_core_find_index_in_group_object_table_from_id (int id)
 find index belonging to the id More...
 
int oc_core_find_index_in_publisher_table_from_id (int id)
 find index of id in publisher table More...
 
int oc_core_find_index_in_recipient_table_from_id (int id)
 find index of id in recipient table More...
 
int oc_core_find_next_group_object_table_index (uint32_t group_address, int cur_index)
 find next index in the group address table More...
 
int oc_core_find_next_group_object_table_url (const char *url, int cur_index)
 find next index in the group address table via url More...
 
oc_group_object_table_toc_core_get_group_object_table_entry (int index)
 retrieve the group object table entry More...
 
int oc_core_get_group_object_table_total_size ()
 retrieve the group object table total size, e.g. More...
 
oc_group_rp_table_toc_core_get_publisher_table_entry (int index)
 retrieve the publisher table entry More...
 
int oc_core_get_publisher_table_size ()
 return the size of the publisher table More...
 
uint32_t oc_core_get_recipient_ia (int index)
 retrieve the internal address of the recipient in the table More...
 
char * oc_core_get_recipient_index_url_or_path (int index)
 get the destination (path or url) of the recipient table at index More...
 
oc_group_rp_table_toc_core_get_recipient_table_entry (int index)
 retrieve the recipient table entry More...
 
int oc_core_get_recipient_table_size ()
 return the size of the recipient table More...
 
oc_cflag_mask_t oc_core_group_object_table_cflag_entries (int index)
 retrieve the cflags from the entry table More...
 
int oc_core_set_group_object_table (int index, oc_group_object_table_t entry)
 set an entry in the group object table More...
 
void oc_create_knx_fp_resources (size_t device_index)
 Creation of the KNX feature point resources. More...
 
oc_endpoint_t oc_create_multicast_group_address (oc_endpoint_t in, uint32_t group_nr, int64_t iid, int scope)
 create the group multi cast address using the default port 5683 More...
 
oc_endpoint_t oc_create_multicast_group_address_with_port (oc_endpoint_t in, uint32_t group_nr, int64_t iid, int scope, int port)
 create the group multi cast address with port More...
 
void oc_delete_group_object_table ()
 delete all entries of the Group Object Table (from persistent) storage More...
 
void oc_delete_group_object_table_entry (int entry)
 delete entry of the Group Object Table does not make the change persistent More...
 
void oc_delete_group_rp_table ()
 delete all entries of the Recipient and Publisher Object Table (from persistent) storage More...
 
void oc_dump_group_object_table_entry (int entry)
 dump the entry of the Group Object Table (to persistent) storage More...
 
uint32_t oc_find_grpid_in_publisher_table (uint32_t group_address)
 find the grpid from the group_address in the publisher table More...
 
uint32_t oc_find_grpid_in_recipient_table (uint32_t group_address)
 find the grpid from the group_address in the recipient table More...
 
void oc_free_knx_fp_resources (size_t device_index)
 free the fp resources e.g. More...
 
void oc_init_datapoints_at_initialization ()
 initializes the data points at initialization e.g. More...
 
void oc_load_group_object_table ()
 load all entries of the Group Object Table (from persistent) storage More...
 
void oc_load_group_object_table_entry (int entry)
 load the entry of the Group Object Table (from persistent) storage More...
 
void oc_print_cflags (oc_cflag_mask_t cflags)
 print the communication flags to standard output communication flags in ASCII e.g. More...
 
void oc_print_group_object_table_entry (int entry)
 print the entry in the Group Object Table More...
 
int oc_print_reduced_group_publisher_table (void)
 Prints a reduced version of the entries of the group publisher table: Only id, iid and grpid are printed for each entry. More...
 
int oc_print_reduced_group_recipient_table (void)
 Prints a reduced version of the entries of the group recipient table: Only id, iid and grpid are printed for each entry. More...
 
void oc_register_group_multicasts ()
 register the multicast addresses to listen to More...
 
int oc_table_find_id_from_rep (oc_rep_t *object)
 find id (cbor key 0) in the response More...
 
void subscribe_group_to_multicast (uint32_t group_nr, int64_t iid, int scope)
 subscribe to a multicast address, defined by group number and installation id using the default port 5683 More...
 
void subscribe_group_to_multicast_with_port (uint32_t group_nr, int64_t iid, int scope, int port)
 subscribe to a multicast address, defined by group number and installation id More...
 
void unsubscribe_group_to_multicast (uint32_t group_nr, int64_t iid, int scope)
 unsubscribe to a multicast address, defined by group number and installation id More...
 
void unsubscribe_group_to_multicast_with_port (uint32_t group_nr, int64_t iid, int scope, int port)
 unsubscribe to a multicast address, defined by group number and installation id and port More...
 

Detailed Description

knx /fp resource implementations

Definition in file oc_knx_fp.h.

Typedef Documentation

◆ oc_group_object_table_t

Group Object Table Resource (/fp/g) The payload is an array of objects.

Example (JSON):

[
{
"id": "1",
"href":"/LDSB1/SOO",
"ga":[2305, 2401],
"cflag":["r","w","t","u"] // note this is a integer
},
{
"id": "2",
"href":"/LDSB1/RSC",
"ga":[2306],
"cflag":["t"] // note this is an integer
}
]

cflag translation

string bit value
c 2 4
r 3 8
w 4 16
i 5 32
t 6 64
u 7 128

Key translation

Json Key Integer Value
id 0
href 11
ga 7
cflag 8

The structure stores the information. The structure will be used as an array. There are function to find

  • empty index in the array
  • find the index with a specific id
  • delete an index, e.g. delete the array entry of data (persistent)
  • make the entry persistent
  • free the data

◆ oc_group_rp_table_t

Function point Recipient - Publisher Table Resource (/fp/r) (/fp/p)

the same table is used for recipient and publisher. the only difference is the confirmable/not confirmable flag. There will be 2 arrays of the structure to store the /fp/r or /fp/p data

Example (JSON): array of objects

[
{
"id": "1",
"ia": 5,
"ga":[2305, 2401],
"path": "k",
},
{
"id": "2",
"url": "coap://<IP multicast, unicast address or fqdn>/<path>",
"ga": [2305, 2306, 2307, 2308]
}
]

Key translation

Json Key Integer Value
id 0
ia 12
iid 26
fid 25
grpid 13
path 112
url 10
ga 7
non -

The structure stores the information. The structure will be used as an array. There are function to find:

  • max amount of entries
  • empty index in the array
  • find the index with a specific id
  • delete an index, e.g. delete the array entry of data
  • make the entry persistent
  • free up the allocated data
  • return the structure at a specific index

Enumeration Type Documentation

◆ oc_cflag_mask_t

cflag masks

Group Object Table Resource (/fp/g)

Enumerator
OC_CFLAG_NONE 

Communication.

OC_CFLAG_COMMUNICATION 

false = Group Object value cannot read or written.

OC_CFLAG_READ 

8 false = Group Object value cannot be read.

OC_CFLAG_WRITE 

16 false = Group Object value cannot be written.

OC_CFLAG_INIT 

32 false = Disable read after initialization.

OC_CFLAG_TRANSMISSION 

64 false = Group Object value is not transmitted.

OC_CFLAG_UPDATE 

128 false = Group Object value is not updated.

Definition at line 37 of file oc_knx_fp.h.

37  {
38  OC_CFLAG_NONE = 0,
40  1 << 2,
41  OC_CFLAG_READ = 1 << 3,
43  1 << 4,
44  OC_CFLAG_INIT = 1 << 5,
46  1 << 6,
48  1 << 7,
oc_cflag_mask_t
cflag masks
Definition: oc_knx_fp.h:37
@ OC_CFLAG_READ
8 false = Group Object value cannot be read.
Definition: oc_knx_fp.h:41
@ OC_CFLAG_COMMUNICATION
false = Group Object value cannot read or written.
Definition: oc_knx_fp.h:39
@ OC_CFLAG_INIT
32 false = Disable read after initialization.
Definition: oc_knx_fp.h:44
@ OC_CFLAG_WRITE
16 false = Group Object value cannot be written.
Definition: oc_knx_fp.h:42
@ OC_CFLAG_NONE
Communication.
Definition: oc_knx_fp.h:38
@ OC_CFLAG_UPDATE
128 false = Group Object value is not updated.
Definition: oc_knx_fp.h:47
@ OC_CFLAG_TRANSMISSION
64 false = Group Object value is not transmitted.
Definition: oc_knx_fp.h:45

Function Documentation

◆ find_empty_slot_in_group_object_table()

int find_empty_slot_in_group_object_table ( int  id)

find empty slot in group object table

Parameters
idthe index
Returns
the free index or -1 when no empty slots are available

◆ oc_add_points_in_group_object_table_to_response()

bool oc_add_points_in_group_object_table_to_response ( oc_request_t request,
size_t  device_index,
uint32_t  group_address,
size_t *  response_length,
int  matches 
)

add points to the well-known core discovery response when the request has query option .well-known/core?d=urn:knx:g.s.

[group-address]

Parameters
requestThe request
device_indexThe device index
group_addressthe parsed group address from the query option
response_lengththe response length
matchesif there are matches
Returns
true
false

◆ oc_belongs_href_to_resource()

bool oc_belongs_href_to_resource ( oc_string_t  href,
bool  discoverable,
size_t  device_index 
)

checks if the href (url) belongs to the device

Parameters
hrefthe url to be checked if it belongs to the device
discoverablechecks only discoverable devices, e.g. belonging to a function (/fp)
device_indexThe device index
Returns
true
false

◆ oc_cflags_as_string()

void oc_cflags_as_string ( char *  buffer,
oc_cflag_mask_t  cflags 
)

adds the communication flags a preallocated buffer

cflags in ASCII e.g. "w" "r" "i" "t" "u" without quotes if the flag does not exist, then a "." will be added instead

Parameters
bufferthe string buffer to add the cflags too
cflagsThe communication flags

◆ oc_core_add_publisher_entry()

int oc_core_add_publisher_entry ( int  index,
oc_group_rp_table_t  entry 
)

add publisher entry

Parameters
indexThe index in the table
entryThe entry to be added
Returns
0 : successful

◆ oc_core_add_recipient_entry()

int oc_core_add_recipient_entry ( int  index,
oc_group_rp_table_t  entry 
)

add recipient entry

Parameters
indexThe index in the table
entryThe entry to be added
Returns
0 : successful

◆ oc_core_check_recipient_index_on_group_address()

bool oc_core_check_recipient_index_on_group_address ( int  index,
uint32_t  group_address 
)

checks if the group address is part of the recipient table at index

Parameters
indexthe index in the recipient table
group_addressthe group address to check
Returns
true is part of the recipient entry
false is not part of the recipient entry

◆ oc_core_find_empty_slot_in_publisher_table()

int oc_core_find_empty_slot_in_publisher_table ( int  id)

find empty slot in recipient table

Parameters
id: supply 0
Returns
-1 : no empty slot, otherwise index of empty slot

◆ oc_core_find_empty_slot_in_recipient_table()

int oc_core_find_empty_slot_in_recipient_table ( int  id)

find empty slot in recipient table

Parameters
id: supply 0
Returns
-1 : no empty slot, otherwise index of empty slot

◆ oc_core_find_group_object_table_group_entry()

int oc_core_find_group_object_table_group_entry ( int  index,
int  entry 
)

get group address of index, and entry (e.g.

list)

Parameters
indexthe entry in the group address table
entrythe entry in the list of addresses at index
Returns
int the group address

◆ oc_core_find_group_object_table_index()

int oc_core_find_group_object_table_index ( uint32_t  group_address)

find (first) index in the group address table

Parameters
group_addressthe group address
Returns
int the index in the table or -1

◆ oc_core_find_group_object_table_number_group_entries()

int oc_core_find_group_object_table_number_group_entries ( int  index)

retrieve the number of group address entries for index

Parameters
indexthe index in the group address table
Returns
int the number of group addresses

◆ oc_core_find_group_object_table_url()

int oc_core_find_group_object_table_url ( const char *  url)

find (first) index in the group address table via url

Parameters
urlThe url to find
Returns
int The index in the table or -1

◆ oc_core_find_group_object_table_url_from_index()

oc_string_t oc_core_find_group_object_table_url_from_index ( int  index)

find the url (of the resource) that in the group object table entry.

Parameters
indexthe index in the table
Returns
oc_string_t the url

◆ oc_core_find_index_in_group_object_table_from_id()

int oc_core_find_index_in_group_object_table_from_id ( int  id)

find index belonging to the id

Parameters
idthe identifier of the entry
Returns
int the index in the table or -1

◆ oc_core_find_index_in_publisher_table_from_id()

int oc_core_find_index_in_publisher_table_from_id ( int  id)

find index of id in publisher table

Parameters
idindex to find
Returns
-1 not found, otherwise index in recipient table

◆ oc_core_find_index_in_recipient_table_from_id()

int oc_core_find_index_in_recipient_table_from_id ( int  id)

find index of id in recipient table

Parameters
idindex to find
Returns
-1 not found, otherwise index in recipient table

◆ oc_core_find_next_group_object_table_index()

int oc_core_find_next_group_object_table_index ( uint32_t  group_address,
int  cur_index 
)

find next index in the group address table

Parameters
group_addressthe group address
cur_indexthe current index to start from.
Returns
int the index in the table or -1

◆ oc_core_find_next_group_object_table_url()

int oc_core_find_next_group_object_table_url ( const char *  url,
int  cur_index 
)

find next index in the group address table via url

Parameters
urlThe url to find
cur_indexThe current index to start from.
Returns
int The index in the table or -1

◆ oc_core_get_group_object_table_entry()

oc_group_object_table_t* oc_core_get_group_object_table_entry ( int  index)

retrieve the group object table entry

Note that always the group object table is returned. regardless if the data is valid or not.

To check if the data is valid, please check if ga_len > 0, if ga_len <= 0 then the group object table does not contain an entry.

Parameters
indexthe index in the group object table
Returns
oc_group_object_table_t* pointer to the entry

◆ oc_core_get_group_object_table_total_size()

int oc_core_get_group_object_table_total_size ( )

retrieve the group object table total size, e.g.

the number of entries that can be stored

Returns
int the total number of entries

◆ oc_core_get_publisher_table_entry()

oc_group_rp_table_t* oc_core_get_publisher_table_entry ( int  index)

retrieve the publisher table entry

Note that always the group object table is returned. regardless if the data is valid or not.

To check if the data is valid, please check if ga_len > 0, if ga_len <= 0 then the group object table does not contain an entry.

Parameters
indexthe index in the publisher table
Returns
oc_group_rp_table_t* pointer to the entry

◆ oc_core_get_publisher_table_size()

int oc_core_get_publisher_table_size ( )

return the size of the publisher table

Returns
int the size of the table

◆ oc_core_get_recipient_ia()

uint32_t oc_core_get_recipient_ia ( int  index)

retrieve the internal address of the recipient in the table

Parameters
indexthe index number in the recipient table
Returns
uint32_t 0 does not exit otherwise the ia

◆ oc_core_get_recipient_index_url_or_path()

char* oc_core_get_recipient_index_url_or_path ( int  index)

get the destination (path or url) of the recipient table at index

Parameters
indexthe index in the table
Returns
char* NULL or path or url of the destination

◆ oc_core_get_recipient_table_entry()

oc_group_rp_table_t* oc_core_get_recipient_table_entry ( int  index)

retrieve the recipient table entry

Note that always the group object table is returned. regardless if the data is valid or not.

To check if the data is valid, please check if ga_len > 0, if ga_len <= 0 then the group object table does not contain an entry.

Parameters
indexthe index in the recipient table
Returns
oc_group_rp_table_t* pointer to the entry

◆ oc_core_get_recipient_table_size()

int oc_core_get_recipient_table_size ( )

return the size of the recipient table

Returns
int the size of the table

◆ oc_core_group_object_table_cflag_entries()

oc_cflag_mask_t oc_core_group_object_table_cflag_entries ( int  index)

retrieve the cflags from the entry table

Parameters
indexthe index in the group object table
Returns
oc_cflag_mask_t the retrieved cflags

◆ oc_core_set_group_object_table()

int oc_core_set_group_object_table ( int  index,
oc_group_object_table_t  entry 
)

set an entry in the group object table

Parameters
indexthe index where to add the entry
entrythe group object entry
Returns
int 0 == success

◆ oc_create_knx_fp_resources()

void oc_create_knx_fp_resources ( size_t  device_index)

Creation of the KNX feature point resources.

Parameters
device_indexindex of the device to which the resource are to be created

◆ oc_create_multicast_group_address()

oc_endpoint_t oc_create_multicast_group_address ( oc_endpoint_t  in,
uint32_t  group_nr,
int64_t  iid,
int  scope 
)

create the group multi cast address using the default port 5683

Parameters
inthe endpoint to adapt
group_nrthe group number
iidthe installation id
scopethe address scope
Returns
oc_endpoint_t the modified endpoint

◆ oc_create_multicast_group_address_with_port()

oc_endpoint_t oc_create_multicast_group_address_with_port ( oc_endpoint_t  in,
uint32_t  group_nr,
int64_t  iid,
int  scope,
int  port 
)

create the group multi cast address with port

create the multicast address from group and scope with a supplied port number

FF3_:FD__:____:____:(8-f)___:____
FF35:30:<ULA-routing-prefix>::<group id>
| 5 == scope
| 3 == scope
Multicast prefix: FF35:0030: [4 bytes]
ULA routing prefix: FD11:2222:3333:: [6 bytes + 2 empty bytes]
Group Identifier: 8000 : 0068 [4 bytes ]
Parameters
inthe endpoint to adapt
group_nrthe group number
iidthe installation id
scopethe address scope
portthe port to be used
Returns
oc_endpoint_t the modified endpoint

◆ oc_delete_group_object_table()

void oc_delete_group_object_table ( )

delete all entries of the Group Object Table (from persistent) storage

◆ oc_delete_group_object_table_entry()

void oc_delete_group_object_table_entry ( int  entry)

delete entry of the Group Object Table does not make the change persistent

Parameters
entrythe index of the entry in the Group Object Table

◆ oc_delete_group_rp_table()

void oc_delete_group_rp_table ( )

delete all entries of the Recipient and Publisher Object Table (from persistent) storage

◆ oc_dump_group_object_table_entry()

void oc_dump_group_object_table_entry ( int  entry)

dump the entry of the Group Object Table (to persistent) storage

Parameters
entrythe index of the entry in the Group Object Table

◆ oc_find_grpid_in_publisher_table()

uint32_t oc_find_grpid_in_publisher_table ( uint32_t  group_address)

find the grpid from the group_address in the publisher table

See also
oc_register_group_multicasts
Parameters
group_addressThe group_address from the group object table
Returns
the grpid matching the group_address the table publisher table or 0 if not found

◆ oc_find_grpid_in_recipient_table()

uint32_t oc_find_grpid_in_recipient_table ( uint32_t  group_address)

find the grpid from the group_address in the recipient table

See also
oc_register_group_multicasts
Parameters
group_addressThe group_address from the group object table
Returns
the grpid matching the group_address the table publisher table or 0 if not found

◆ oc_free_knx_fp_resources()

void oc_free_knx_fp_resources ( size_t  device_index)

free the fp resources e.g.

frees up all allocated memory.

Parameters
device_indexindex of the device to which the resource are to be freed.

◆ oc_init_datapoints_at_initialization()

void oc_init_datapoints_at_initialization ( )

initializes the data points at initialization e.g.

sends out an read s-mode message when the I flag is set.

◆ oc_load_group_object_table()

void oc_load_group_object_table ( )

load all entries of the Group Object Table (from persistent) storage

◆ oc_load_group_object_table_entry()

void oc_load_group_object_table_entry ( int  entry)

load the entry of the Group Object Table (from persistent) storage

Parameters
entrythe index of the entry in the Group Object Table

◆ oc_print_cflags()

void oc_print_cflags ( oc_cflag_mask_t  cflags)

print the communication flags to standard output communication flags in ASCII e.g.

"w" "r" "i" "t" "u" without quotes

Parameters
cflagsthe communication flags

◆ oc_print_group_object_table_entry()

void oc_print_group_object_table_entry ( int  entry)

print the entry in the Group Object Table

Parameters
entrythe index of the entry in the Group Object Table

◆ oc_print_reduced_group_publisher_table()

int oc_print_reduced_group_publisher_table ( void  )

Prints a reduced version of the entries of the group publisher table: Only id, iid and grpid are printed for each entry.

Returns
int 0 == success

◆ oc_print_reduced_group_recipient_table()

int oc_print_reduced_group_recipient_table ( void  )

Prints a reduced version of the entries of the group recipient table: Only id, iid and grpid are printed for each entry.

Returns
int 0 == success

◆ oc_register_group_multicasts()

void oc_register_group_multicasts ( )

register the multicast addresses to listen to

The addresses are formed from:

  • situation 1) grpid of the publisher entries or if no grpid exist:
  • situation 2) group address entries in the Group Object table

for situation 1):

  • loop over the group object table
    • for each group address entry
      • if cflags is "Write" "Update" "Read"
        • find the grpid entry in the publisher table
        • register the grpid as part of the address

for situation 2):

  • loop over the group object table
    • for each group address entry
      • if cflags is "Write" "Update" "Read"
        • register the group address as part of the address

function is called when the device is (re)started in run-time mode (e.g. state = "loaded")

◆ oc_table_find_id_from_rep()

int oc_table_find_id_from_rep ( oc_rep_t object)

find id (cbor key 0) in the response

Returns
int -1 : not found, > -1 : value found

◆ subscribe_group_to_multicast()

void subscribe_group_to_multicast ( uint32_t  group_nr,
int64_t  iid,
int  scope 
)

subscribe to a multicast address, defined by group number and installation id using the default port 5683

See also
unsubscribe_group_to_multicast
Parameters
group_nrthe group number (address)
iidthe installation id
scopethe address scope

◆ subscribe_group_to_multicast_with_port()

void subscribe_group_to_multicast_with_port ( uint32_t  group_nr,
int64_t  iid,
int  scope,
int  port 
)

subscribe to a multicast address, defined by group number and installation id

See also
unsubscribe_group_to_multicast_with_port
Parameters
group_nrthe group number (address)
iidthe installation id
scopethe address scope
portthe port

◆ unsubscribe_group_to_multicast()

void unsubscribe_group_to_multicast ( uint32_t  group_nr,
int64_t  iid,
int  scope 
)

unsubscribe to a multicast address, defined by group number and installation id

See also
subscribe_group_to_multicast
Parameters
group_nrthe group number (address)
iidthe installation id
scopethe address scope

◆ unsubscribe_group_to_multicast_with_port()

void unsubscribe_group_to_multicast_with_port ( uint32_t  group_nr,
int64_t  iid,
int  scope,
int  port 
)

unsubscribe to a multicast address, defined by group number and installation id and port

See also
subscribe_group_to_multicast_with_port
Parameters
group_nrthe group number (address)
iidthe installation id
scopethe address scope
portthe port