MPDC: Multi Party Domain Cryptosystem 1.0.0.0b (A0)
MPDC Interior protocol
network.h File Reference

The MPDC network functions. More...

#include "common.h"
#include "topology.h"
#include "../../QSC/QSC/collection.h"
#include "../../QSC/QSC/sha3.h"
#include "../../QSC/QSC/socket.h"

Go to the source code of this file.

Data Structures

struct  mpdc_network_announce_request_state
 The certificate announce request function state. More...
 
struct  mpdc_network_announce_response_state
 The certificate announce response function state. More...
 
struct  mpdc_network_converge_request_state
 The certificate converge request function state. More...
 
struct  mpdc_network_converge_response_state
 The certificate converge response function state. More...
 
struct  mpdc_network_converge_response_verify_state
 The certificate converge verify function state. More...
 
struct  mpdc_network_converge_update_verify_state
 The certificate converge update verify function state. More...
 
struct  mpdc_network_fkey_request_state
 The fkey request function state. More...
 
struct  mpdc_network_fkey_response_state
 The fkey response function state. More...
 
struct  mpdc_network_incremental_update_request_state
 The incremental update request function state. More...
 
struct  mpdc_network_incremental_update_response_state
 The incremental update response function state. More...
 
struct  mpdc_network_register_request_state
 The network join request function state. More...
 
struct  mpdc_network_register_response_state
 The network join response function state. More...
 
struct  mpdc_network_register_update_request_state
 The network join request function state. More...
 
struct  mpdc_network_register_update_response_state
 The network join update response function state. More...
 
struct  mpdc_network_mfk_request_state
 The mfk request function state. More...
 
struct  mpdc_network_mfk_response_state
 The mfk response function state. More...
 
struct  mpdc_network_remote_signing_request_state
 The certificate remote signing request function state. More...
 
struct  mpdc_network_remote_signing_response_state
 The certificate remote signing response function state. More...
 
struct  mpdc_network_resign_request_state
 The certificate resign request function state. More...
 
struct  mpdc_network_resign_response_state
 The certificate resign request function state. More...
 
struct  mpdc_network_revoke_request_state
 The certificate revoke request function state. More...
 
struct  mpdc_network_revoke_response_state
 The certificate revoke response function state. More...
 
struct  mpdc_network_topological_query_request_state
 The topological query request function state. More...
 
struct  mpdc_network_topological_query_response_state
 
struct  mpdc_network_topological_status_request_state
 The topological status request function state. More...
 
struct  mpdc_network_topological_status_response_state
 The topological status response function state. More...
 
struct  mpdc_network_fragment_collection_request_state
 The fkey collection request function state. More...
 
struct  mpdc_network_fragment_collection_response_state
 The fkey collection response function state. More...
 
struct  mpdc_network_fragment_query_request_state
 The fkey query request function state. More...
 
struct  mpdc_network_fragment_query_response_state
 The fkey query response function state. More...
 
struct  mpdc_network_key_exchange_request_state
 The key exchange request function state. More...
 
struct  mpdc_network_key_exchange_response_state
 The key exchange response function state. More...
 

Typedefs

typedef MPDC_EXPORT_API struct mpdc_network_announce_request_state mpdc_network_announce_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_announce_response_state mpdc_network_announce_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_converge_request_state mpdc_network_converge_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_converge_response_state mpdc_network_converge_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_converge_response_verify_state mpdc_network_converge_response_verify_state
 
typedef MPDC_EXPORT_API struct mpdc_network_converge_update_verify_state mpdc_network_converge_update_verify_state
 
typedef MPDC_EXPORT_API struct mpdc_network_fkey_request_state mpdc_network_fkey_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_fkey_response_state mpdc_network_fkey_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_incremental_update_request_state mpdc_network_incremental_update_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_incremental_update_response_state mpdc_network_incremental_update_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_register_request_state mpdc_network_register_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_register_response_state mpdc_network_register_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_register_update_request_state mpdc_network_register_update_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_register_update_response_state mpdc_network_register_update_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_mfk_request_state mpdc_network_mfk_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_mfk_response_state mpdc_network_mfk_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_remote_signing_request_state mpdc_network_remote_signing_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_remote_signing_response_state mpdc_network_remote_signing_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_resign_request_state mpdc_network_resign_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_resign_response_state mpdc_network_resign_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_revoke_request_state mpdc_network_revoke_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_revoke_response_state mpdc_network_revoke_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_topological_query_request_state mpdc_network_topological_query_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_topological_query_response_state mpdc_network_topological_query_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_topological_status_request_state mpdc_network_topological_status_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_topological_status_response_state mpdc_network_topological_status_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_fragment_collection_request_state mpdc_network_fragment_collection_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_fragment_collection_response_state mpdc_network_fragment_collection_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_fragment_query_request_state mpdc_network_fragment_query_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_fragment_query_response_state mpdc_network_fragment_query_response_state
 
typedef MPDC_EXPORT_API struct mpdc_network_key_exchange_request_state mpdc_network_key_exchange_request_state
 
typedef MPDC_EXPORT_API struct mpdc_network_key_exchange_response_state mpdc_network_key_exchange_response_state
 

Functions

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_announce_broadcast (mpdc_network_announce_request_state *state)
 Announce a certificate using the dla, and broadcast it to the network.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_announce_response (mpdc_network_announce_response_state *state, const mpdc_network_packet *packetin)
 Process a announce response message.
 
MPDC_EXPORT_API uint16_t mpdc_network_application_to_port (mpdc_network_designations tnode)
 Gets the network designation from a port number.
 
MPDC_EXPORT_API void mpdc_network_broadcast_message (const mpdc_topology_list_state *list, const uint8_t *message, size_t msglen, mpdc_network_designations tnode)
 Broadcast a message to a node type on the network.
 
MPDC_EXPORT_API qsc_socket_exceptions mpdc_network_connect_to_device (qsc_socket *csock, const char *address, mpdc_network_designations designation)
 Connect a socket to a remote address.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_converge_request (const mpdc_network_converge_request_state *state)
 The DLA sends out a convergence request, and broadcast it to the network.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_converge_response (const mpdc_network_converge_response_state *state, const mpdc_network_packet *packetin)
 Respond to a dla network converge request.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_converge_update_verify (mpdc_network_converge_update_verify_state *state, const mpdc_network_packet *packetin)
 Process a converge response update message.
 
MPDC_EXPORT_API qsc_socket_exceptions mpdc_network_connect_to_address (qsc_socket *csock, const char *address, uint16_t port)
 Connect a socket to a remote address and port.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fkey_request (mpdc_network_fkey_request_state *state)
 Request and execute a key exchange for a fragmentation key.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fkey_response (mpdc_network_fkey_response_state *state, const mpdc_network_packet *packetin)
 Respond and execute a key exchange for a fragmentation key.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fragment_collection_request (mpdc_network_fragment_collection_request_state *state)
 A Client requests a fragment collection from a MAS.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fragment_collection_response (mpdc_network_fragment_collection_response_state *state, const mpdc_network_packet *packetin)
 A MAS sends a collection response to a Client.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fragment_query_response (const mpdc_network_fragment_query_response_state *state, const mpdc_network_packet *packetin)
 An Agent sends a fragment query response to a MAS.
 
MPDC_EXPORT_API bool mpdc_network_get_local_address (char address[MPDC_CERTIFICATE_ADDRESS_SIZE])
 Get the local IP address.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_send_error (const qsc_socket *csock, mpdc_protocol_errors error)
 Send an error message.
 
MPDC_EXPORT_API void mpdc_network_socket_dispose (qsc_socket *csock)
 Shut down and dispose of a socket instance.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_incremental_update_request (const mpdc_network_incremental_update_request_state *state)
 Send an incremental update request.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_incremental_update_response (const mpdc_network_incremental_update_response_state *state, const mpdc_network_packet *packetin)
 Send a copy of a certificate to a remote host.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_request (mpdc_network_register_request_state *state)
 Send an Agent join request to the DLA.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_update_request (mpdc_network_register_update_request_state *state)
 Send a MAS or Client join update request to the DLA.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_response (mpdc_network_register_response_state *state, const mpdc_network_packet *packetin)
 Send a join response to the agent.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_update_response (mpdc_network_register_update_response_state *state, const mpdc_network_packet *packetin)
 Send a join update response to the server or client.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_remote_signing_request (mpdc_network_remote_signing_request_state *state)
 Send a certificate signing request from the DLA to the RDS.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_remote_signing_response (mpdc_network_remote_signing_response_state *state, const mpdc_network_packet *packetin)
 Send a signed certificate response from the RDS to the DLA.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_mfk_exchange_request (mpdc_network_mfk_request_state *state)
 Request and execute a key exchange request for a master fragmentation key.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_mfk_exchange_response (mpdc_network_mfk_response_state *state, const mpdc_network_packet *packetin)
 Request and execute a key exchange response for a master fragmentation key.
 
MPDC_EXPORT_API mpdc_network_designations mpdc_network_port_to_application (uint16_t port)
 Gets the network designation from a port number.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_certificate_verify (const mpdc_child_certificate *ccert, const mpdc_root_certificate *root)
 Verify a certificates format and root signature.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_resign_request (const mpdc_network_resign_request_state *state)
 Send a resign request to the dla.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_resign_response (mpdc_network_resign_response_state *state, const mpdc_network_packet *packetin)
 Send a resign response to the agent or server.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_revoke_broadcast (mpdc_network_revoke_request_state *state)
 Send a revocation request from the DLA.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_revoke_response (mpdc_network_revoke_response_state *state, const mpdc_network_packet *packetin)
 Verify a revocation request sent from the DLA.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_query_request (const mpdc_network_topological_query_request_state *state)
 Query a device for its topological information.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_query_response (const mpdc_network_topological_query_response_state *state, const mpdc_network_packet *packetin)
 Respond to a topological query request.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_status_request (const mpdc_network_topological_status_request_state *state)
 Send a status request from the DLA to a client device.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_status_verify (const mpdc_network_topological_status_request_state *state, const mpdc_network_packet *packetin)
 Verify the status response from the DLA.
 
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_status_response (const mpdc_network_topological_status_response_state *state, const mpdc_network_packet *packetin)
 Process the status response from the client device and send a response.
 

Detailed Description

The MPDC network functions.

This header defines the public network functions and data types used by MPDC to perform secure network operations. These operations include certificate announcement, network convergence, registration and update of network nodes, key exchange, remote signing, revocation, and topological queries.

Each network message is encapsulated in a packet that includes a header (with a time-stamp, sequence number, and flag), a payload, and a digital signature that covers the payload and header. This ensures integrity, authenticity, and protection against replay attacks.

Note
This header declares only the public API. Many internal functions (such as those for constructing and validating packet headers, hashing, signing, etc.) are defined as static in the implementation file.

Example:

req_state.list = &global_topology_list;
req_state.rnode = &remote_node;
req_state.sigkey = local_signing_key;
{
// Handle error.
}
mpdc_protocol_errors
The MPDC protocol error values.
Definition mpdc.h:1219
@ mpdc_protocol_error_none
Definition mpdc.h:1220
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_announce_broadcast(mpdc_network_announce_request_state *state)
Announce a certificate using the dla, and broadcast it to the network.
Definition network.c:473
The certificate announce request function state.
Definition network.h:87
const uint8_t * sigkey
Definition network.h:90
const mpdc_topology_node_state * rnode
Definition network.h:89
const mpdc_topology_list_state * list
Definition network.h:88

Function Documentation

◆ mpdc_network_announce_broadcast()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_announce_broadcast ( mpdc_network_announce_request_state * state)

Announce a certificate using the dla, and broadcast it to the network.

Parameters
stateThe announce state structure
Returns
Returns the error code

◆ mpdc_network_announce_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_announce_response ( mpdc_network_announce_response_state * state,
const mpdc_network_packet * packetin )

Process a announce response message.

Parameters
stateThe announce response state structure
packetin[const] The input packet containing the announce request
Returns
Returns the error code

◆ mpdc_network_application_to_port()

MPDC_EXPORT_API uint16_t mpdc_network_application_to_port ( mpdc_network_designations tnode)

Gets the network designation from a port number.

Parameters
tnodeThe target network designation type
Returns
Returns the port number, or zero if the node type is invalid

◆ mpdc_network_broadcast_message()

MPDC_EXPORT_API void mpdc_network_broadcast_message ( const mpdc_topology_list_state * list,
const uint8_t * message,
size_t msglen,
mpdc_network_designations tnode )

Broadcast a message to a node type on the network.

Parameters
list[const] A pointer to the topology list
messageThe message to send
msglenThe length of the message
tnodeThe target node-type designation

◆ mpdc_network_certificate_verify()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_certificate_verify ( const mpdc_child_certificate * ccert,
const mpdc_root_certificate * root )

Verify a certificates format and root signature.

Parameters
ccert[const] The child certificate
root[const] The root certificate
Returns
Returns the error code

◆ mpdc_network_connect_to_address()

MPDC_EXPORT_API qsc_socket_exceptions mpdc_network_connect_to_address ( qsc_socket * csock,
const char * address,
uint16_t port )

Connect a socket to a remote address and port.

Parameters
csockA pointer to the socket
address[const] The remote hosts address
portThe application port number
Returns
Returns the socket error

◆ mpdc_network_connect_to_device()

MPDC_EXPORT_API qsc_socket_exceptions mpdc_network_connect_to_device ( qsc_socket * csock,
const char * address,
mpdc_network_designations designation )

Connect a socket to a remote address.

Parameters
csockA pointer to the socket
address[const] The remote hosts address
designationThe remote hosts designation
Returns
Returns the socket error

◆ mpdc_network_converge_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_converge_request ( const mpdc_network_converge_request_state * state)

The DLA sends out a convergence request, and broadcast it to the network.

Parameters
stateThe converge request state structure
Returns
Returns the error code

◆ mpdc_network_converge_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_converge_response ( const mpdc_network_converge_response_state * state,
const mpdc_network_packet * packetin )

Respond to a dla network converge request.

Parameters
stateThe converge response state structure
packetin[const] The input packet containing the verify response
Returns
Returns the error code

◆ mpdc_network_converge_update_verify()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_converge_update_verify ( mpdc_network_converge_update_verify_state * state,
const mpdc_network_packet * packetin )

Process a converge response update message.

Parameters
stateThe converge update verify state structure
packetin[const] The input packet containing the verify response
Returns
Returns the error code

◆ mpdc_network_fkey_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fkey_request ( mpdc_network_fkey_request_state * state)

Request and execute a key exchange for a fragmentation key.

Parameters
stateThe fkey request state structure
Returns
Returns the error code

◆ mpdc_network_fkey_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fkey_response ( mpdc_network_fkey_response_state * state,
const mpdc_network_packet * packetin )

Respond and execute a key exchange for a fragmentation key.

Parameters
stateThe fkey response state structure
packetin[const] The input packet containing the request
Returns
Returns the error code

◆ mpdc_network_fragment_collection_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fragment_collection_request ( mpdc_network_fragment_collection_request_state * state)

A Client requests a fragment collection from a MAS.

Parameters
stateThe fragment collection request state
Returns
Returns the error code

◆ mpdc_network_fragment_collection_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fragment_collection_response ( mpdc_network_fragment_collection_response_state * state,
const mpdc_network_packet * packetin )

A MAS sends a collection response to a Client.

Parameters
stateThe fkey response state structure
packetin[const] The input packet containing the request
Returns
Returns the error code

◆ mpdc_network_fragment_query_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_fragment_query_response ( const mpdc_network_fragment_query_response_state * state,
const mpdc_network_packet * packetin )

An Agent sends a fragment query response to a MAS.

Parameters
stateThe fragment query response state structure
packetin[const] The input packet containing the request
Returns
Returns the error code

◆ mpdc_network_get_local_address()

MPDC_EXPORT_API bool mpdc_network_get_local_address ( char address[MPDC_CERTIFICATE_ADDRESS_SIZE])

Get the local IP address.

Parameters
addressThe output address byte array
Returns
Returns true if the address is retrieved

◆ mpdc_network_incremental_update_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_incremental_update_request ( const mpdc_network_incremental_update_request_state * state)

Send an incremental update request.

Parameters
stateThe incremental update request function state
Returns
Returns the error code

◆ mpdc_network_incremental_update_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_incremental_update_response ( const mpdc_network_incremental_update_response_state * state,
const mpdc_network_packet * packetin )

Send a copy of a certificate to a remote host.

Parameters
stateThe update response function state
Returns
Returns the error code

◆ mpdc_network_mfk_exchange_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_mfk_exchange_request ( mpdc_network_mfk_request_state * state)

Request and execute a key exchange request for a master fragmentation key.

Parameters
stateThe mfk request state structure
Returns
Returns the error code

◆ mpdc_network_mfk_exchange_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_mfk_exchange_response ( mpdc_network_mfk_response_state * state,
const mpdc_network_packet * packetin )

Request and execute a key exchange response for a master fragmentation key.

Parameters
stateThe mfk response state structure
packetin[const] The input packet containing the request
Returns
Returns the error code

◆ mpdc_network_port_to_application()

MPDC_EXPORT_API mpdc_network_designations mpdc_network_port_to_application ( uint16_t port)

Gets the network designation from a port number.

Parameters
portThe network application port
Returns
Returns the network designation type

◆ mpdc_network_register_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_request ( mpdc_network_register_request_state * state)

Send an Agent join request to the DLA.

Parameters
stateThe join request function state
Returns
Returns the error code

◆ mpdc_network_register_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_response ( mpdc_network_register_response_state * state,
const mpdc_network_packet * packetin )

Send a join response to the agent.

Parameters
stateThe join response function state
packetin[const] The input packet containing the request
Returns
Returns a protocol error flag

◆ mpdc_network_register_update_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_update_request ( mpdc_network_register_update_request_state * state)

Send a MAS or Client join update request to the DLA.

Parameters
stateThe join update request function state
Returns
Returns the error code

◆ mpdc_network_register_update_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_register_update_response ( mpdc_network_register_update_response_state * state,
const mpdc_network_packet * packetin )

Send a join update response to the server or client.

Parameters
stateThe join response function state
packetin[const] The input packet containing the request
Returns
Returns a protocol error flag

◆ mpdc_network_remote_signing_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_remote_signing_request ( mpdc_network_remote_signing_request_state * state)

Send a certificate signing request from the DLA to the RDS.

Parameters
stateThe remote signing request state
Returns
Returns a protocol error flag

◆ mpdc_network_remote_signing_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_remote_signing_response ( mpdc_network_remote_signing_response_state * state,
const mpdc_network_packet * packetin )

Send a signed certificate response from the RDS to the DLA.

Parameters
stateThe remote signing response state
packetin[const] The input packet containing the request
Returns
Returns a protocol error flag

◆ mpdc_network_resign_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_resign_request ( const mpdc_network_resign_request_state * state)

Send a resign request to the dla.

Parameters
stateThe resign request state structure
Returns
Returns the error code

◆ mpdc_network_resign_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_resign_response ( mpdc_network_resign_response_state * state,
const mpdc_network_packet * packetin )

Send a resign response to the agent or server.

Parameters
stateThe resign response state structure
packetin[const] The input packet containing the request
Returns
Returns the error code

◆ mpdc_network_revoke_broadcast()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_revoke_broadcast ( mpdc_network_revoke_request_state * state)

Send a revocation request from the DLA.

Parameters
stateThe revocation broadcast function state
Returns
Returns a protocol error flag

◆ mpdc_network_revoke_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_revoke_response ( mpdc_network_revoke_response_state * state,
const mpdc_network_packet * packetin )

Verify a revocation request sent from the DLA.

Parameters
stateThe revocation verify function state
packetin[const] The input packet containing the request
Returns
Returns a protocol error flag

◆ mpdc_network_send_error()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_send_error ( const qsc_socket * csock,
mpdc_protocol_errors error )

Send an error message.

Parameters
csockA pointer to the socket
errorThe error code
Returns
Returns the error code

◆ mpdc_network_socket_dispose()

MPDC_EXPORT_API void mpdc_network_socket_dispose ( qsc_socket * csock)

Shut down and dispose of a socket instance.

Parameters
csockA pointer to the socket

◆ mpdc_network_topological_query_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_query_request ( const mpdc_network_topological_query_request_state * state)

Query a device for its topological information.

Parameters
stateThe topological query request state
Returns
Returns the error code

◆ mpdc_network_topological_query_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_query_response ( const mpdc_network_topological_query_response_state * state,
const mpdc_network_packet * packetin )

Respond to a topological query request.

Parameters
statetopological query response state
packetinThe packet containing the topological query request
Returns
Returns the error code

◆ mpdc_network_topological_status_request()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_status_request ( const mpdc_network_topological_status_request_state * state)

Send a status request from the DLA to a client device.

Parameters
stateThe topological status request state
queryThe device query string
Returns
Returns the error code

◆ mpdc_network_topological_status_response()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_status_response ( const mpdc_network_topological_status_response_state * state,
const mpdc_network_packet * packetin )

Process the status response from the client device and send a response.

Parameters
stateThe topological status response state
packetinThe packet containing the topological status request
Returns
Returns the error code

◆ mpdc_network_topological_status_verify()

MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_topological_status_verify ( const mpdc_network_topological_status_request_state * state,
const mpdc_network_packet * packetin )

Verify the status response from the DLA.

Parameters
stateThe topological status verify state
packetinThe packet containing the topological status response
Returns
Returns the error code