Aranya
a software development tool for governing access to data and services over a decentralized, zero-trust framework with secure end-to-end encrypted data exchange built-in.
Loading...
Searching...
No Matches
Related Symbols
AranyaClient Struct Reference

A handle to an Aranya Client. More...

#include <aranya-client.h>

Related Symbols

(Note that these are not member symbols.)

AranyaError aranya_client_init (struct AranyaClient *client, const struct AranyaClientConfig *config)
 Initializes a new client instance.
 
AranyaError aranya_client_init_ext (struct AranyaClient *client, const struct AranyaClientConfig *config, struct AranyaExtError *__ext_err)
 Initializes a new client instance.
 
AranyaError aranya_client_cleanup (struct AranyaClient *ptr)
 Releases any resources associated with ptr.
 
AranyaError aranya_client_cleanup_ext (struct AranyaClient *ptr, struct AranyaExtError *__ext_err)
 Releases any resources associated with ptr.
 
AranyaError aranya_get_key_bundle (struct AranyaClient *client, uint8_t *keybundle, size_t *keybundle_len)
 Gets the public key bundle for this device.
 
AranyaError aranya_get_key_bundle_ext (struct AranyaClient *client, uint8_t *keybundle, size_t *keybundle_len, struct AranyaExtError *__ext_err)
 Gets the public key bundle for this device.
 
AranyaError aranya_get_device_id (struct AranyaClient *client, struct AranyaDeviceId *__output)
 Gets the public device ID.
 
AranyaError aranya_get_device_id_ext (struct AranyaClient *client, struct AranyaDeviceId *__output, struct AranyaExtError *__ext_err)
 Gets the public device ID.
 
AranyaError aranya_assign_role (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaRole role)
 Assign a role to a device.
 
AranyaError aranya_assign_role_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaRole role, struct AranyaExtError *__ext_err)
 Assign a role to a device.
 
AranyaError aranya_revoke_role (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaRole role)
 Revoke a role from a device.
 
AranyaError aranya_revoke_role_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaRole role, struct AranyaExtError *__ext_err)
 Revoke a role from a device.
 
AranyaError aranya_create_label (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaLabelName name, struct AranyaLabelId *__output)
 Create a channel label.
 
AranyaError aranya_create_label_ext (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaLabelName name, struct AranyaLabelId *__output, struct AranyaExtError *__ext_err)
 Create a channel label.
 
AranyaError aranya_delete_label (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label_id)
 Delete a channel label.
 
AranyaError aranya_delete_label_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label_id, struct AranyaExtError *__ext_err)
 Delete a channel label.
 
AranyaError aranya_assign_label (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaLabelId *label_id, AranyaChanOp op)
 Assign a label to a device so that it can be used for a channel.
 
AranyaError aranya_assign_label_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaLabelId *label_id, AranyaChanOp op, struct AranyaExtError *__ext_err)
 Assign a label to a device so that it can be used for a channel.
 
AranyaError aranya_revoke_label (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaLabelId *label_id)
 Revoke a label from a device.
 
AranyaError aranya_revoke_label_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaLabelId *label_id, struct AranyaExtError *__ext_err)
 Revoke a label from a device.
 
AranyaError aranya_create_team (struct AranyaClient *client, const struct AranyaTeamConfig *cfg, struct AranyaTeamId *__output)
 Create a new graph/team with the current device as the owner.
 
AranyaError aranya_create_team_ext (struct AranyaClient *client, const struct AranyaTeamConfig *cfg, struct AranyaTeamId *__output, struct AranyaExtError *__ext_err)
 Create a new graph/team with the current device as the owner.
 
AranyaError aranya_add_team (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaTeamConfig *cfg)
 Add a team to the local device store.
 
AranyaError aranya_add_team_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaTeamConfig *cfg, struct AranyaExtError *__ext_err)
 Add a team to the local device store.
 
AranyaError aranya_remove_team (struct AranyaClient *client, const struct AranyaTeamId *team)
 Remove a team from the local device store.
 
AranyaError aranya_remove_team_ext (struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaExtError *__ext_err)
 Remove a team from the local device store.
 
AranyaError aranya_close_team (struct AranyaClient *client, const struct AranyaTeamId *team)
 Close the team and stop all operations on the graph.
 
AranyaError aranya_close_team_ext (struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaExtError *__ext_err)
 Close the team and stop all operations on the graph.
 
AranyaError aranya_add_device_to_team (struct AranyaClient *client, const struct AranyaTeamId *team, const uint8_t *keybundle, size_t keybundle_len)
 Add a device to the team with the default role.
 
AranyaError aranya_add_device_to_team_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const uint8_t *keybundle, size_t keybundle_len, struct AranyaExtError *__ext_err)
 Add a device to the team with the default role.
 
AranyaError aranya_remove_device_from_team (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device)
 Remove a device from the team.
 
AranyaError aranya_remove_device_from_team_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, struct AranyaExtError *__ext_err)
 Remove a device from the team.
 
AranyaError aranya_add_sync_peer (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, const struct AranyaSyncPeerConfig *config)
 Add the peer for automatic periodic Aranya state syncing.
 
AranyaError aranya_add_sync_peer_ext (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, const struct AranyaSyncPeerConfig *config, struct AranyaExtError *__ext_err)
 Add the peer for automatic periodic Aranya state syncing.
 
AranyaError aranya_remove_sync_peer (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr)
 Remove the peer from automatic Aranya state syncing.
 
AranyaError aranya_remove_sync_peer_ext (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, struct AranyaExtError *__ext_err)
 Remove the peer from automatic Aranya state syncing.
 
AranyaError aranya_sync_now (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, const struct AranyaSyncPeerConfig *config)
 Sync with peer immediately.
 
AranyaError aranya_sync_now_ext (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, const struct AranyaSyncPeerConfig *config, struct AranyaExtError *__ext_err)
 Sync with peer immediately.
 
AranyaError aranya_query_devices_on_team (struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaDeviceId *devices, size_t *devices_len)
 Query devices on team.
 
AranyaError aranya_query_devices_on_team_ext (struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaDeviceId *devices, size_t *devices_len, struct AranyaExtError *__ext_err)
 Query devices on team.
 
AranyaError aranya_query_device_keybundle (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, uint8_t *keybundle, size_t *keybundle_len)
 Query device's keybundle.
 
AranyaError aranya_query_device_keybundle_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, uint8_t *keybundle, size_t *keybundle_len, struct AranyaExtError *__ext_err)
 Query device's keybundle.
 
AranyaError aranya_query_device_label_assignments (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, struct AranyaLabelId *labels, size_t *labels_len)
 Query device label assignments.
 
AranyaError aranya_query_device_label_assignments_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, struct AranyaLabelId *labels, size_t *labels_len, struct AranyaExtError *__ext_err)
 Query device label assignments.
 
AranyaError aranya_query_labels (struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaLabelId *labels, size_t *labels_len)
 Query for list of existing labels.
 
AranyaError aranya_query_labels_ext (struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaLabelId *labels, size_t *labels_len, struct AranyaExtError *__ext_err)
 Query for list of existing labels.
 
AranyaError aranya_query_label_exists (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label, bool *__output)
 Query if a label exists.
 
AranyaError aranya_query_label_exists_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label, bool *__output, struct AranyaExtError *__ext_err)
 Query if a label exists.
 
AranyaError aranya_query_aqc_net_identifier (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, char *ident, size_t *ident_len, bool *__output)
 Query device's AQC network identifier.
 
AranyaError aranya_query_aqc_net_identifier_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, char *ident, size_t *ident_len, bool *__output, struct AranyaExtError *__ext_err)
 Query device's AQC network identifier.
 
AranyaError aranya_aqc_assign_net_identifier (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaNetIdentifier net_identifier)
 Associate a network identifier to a device for use with AQC.
 
AranyaError aranya_aqc_assign_net_identifier_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaNetIdentifier net_identifier, struct AranyaExtError *__ext_err)
 Associate a network identifier to a device for use with AQC.
 
AranyaError aranya_aqc_remove_net_identifier (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaNetIdentifier net_identifier)
 Disassociate an AQC network identifier from a device.
 
AranyaError aranya_aqc_remove_net_identifier_ext (struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaNetIdentifier net_identifier, struct AranyaExtError *__ext_err)
 Disassociate an AQC network identifier from a device.
 
AranyaError aranya_aqc_create_bidi_channel (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaNetIdentifier peer, const struct AranyaLabelId *label_id, struct AranyaAqcBidiChannel *channel)
 Create a bidirectional AQC channel between this device and a peer.
 
AranyaError aranya_aqc_create_bidi_channel_ext (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaNetIdentifier peer, const struct AranyaLabelId *label_id, struct AranyaAqcBidiChannel *channel, struct AranyaExtError *__ext_err)
 Create a bidirectional AQC channel between this device and a peer.
 
AranyaError aranya_aqc_create_uni_channel (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaNetIdentifier peer, const struct AranyaLabelId *label_id, struct AranyaAqcSendChannel *channel)
 Create a unidirectional AQC channel between this device and a peer.
 
AranyaError aranya_aqc_create_uni_channel_ext (struct AranyaClient *client, const struct AranyaTeamId *team, AranyaNetIdentifier peer, const struct AranyaLabelId *label_id, struct AranyaAqcSendChannel *channel, struct AranyaExtError *__ext_err)
 Create a unidirectional AQC channel between this device and a peer.
 
AranyaError aranya_aqc_delete_bidi_channel (struct AranyaClient *client, struct AranyaAqcBidiChannel *channel)
 Delete a bidirectional AQC channel.
 
AranyaError aranya_aqc_delete_bidi_channel_ext (struct AranyaClient *client, struct AranyaAqcBidiChannel *channel, struct AranyaExtError *__ext_err)
 Delete a bidirectional AQC channel.
 
AranyaError aranya_aqc_delete_uni_channel (struct AranyaClient *client, struct AranyaAqcSendChannel *channel)
 Delete a unidirectional AQC channel.
 
AranyaError aranya_aqc_delete_uni_channel_ext (struct AranyaClient *client, struct AranyaAqcSendChannel *channel, struct AranyaExtError *__ext_err)
 Delete a unidirectional AQC channel.
 
AranyaError aranya_aqc_try_receive_channel (struct AranyaClient *client, struct AranyaAqcPeerChannel *channel, AranyaAqcChannelType *__output)
 Tries to poll AQC to see if any channels have been received.
 
AranyaError aranya_aqc_try_receive_channel_ext (struct AranyaClient *client, struct AranyaAqcPeerChannel *channel, AranyaAqcChannelType *__output, struct AranyaExtError *__ext_err)
 Tries to poll AQC to see if any channels have been received.
 
AranyaError aranya_aqc_get_bidi_channel (struct AranyaAqcPeerChannel *channel, struct AranyaAqcBidiChannel *bidi)
 Converts the `AranyaAqcPeerChannel`into an [AranyaAqcBidiChannel`](AranyaAqcBidiChannel) for sending/receiving data.
 
AranyaError aranya_aqc_get_bidi_channel_ext (struct AranyaAqcPeerChannel *channel, struct AranyaAqcBidiChannel *bidi, struct AranyaExtError *__ext_err)
 Converts the `AranyaAqcPeerChannel`into an [AranyaAqcBidiChannel`](AranyaAqcBidiChannel) for sending/receiving data.
 
AranyaError aranya_aqc_get_receive_channel (struct AranyaAqcPeerChannel *channel, struct AranyaAqcReceiveChannel *receiver)
 Converts the `AranyaAqcPeerChannel`into an [AranyaAqcReceiveChannel`](AranyaAqcReceiveChannel) for receiving data.
 
AranyaError aranya_aqc_get_receive_channel_ext (struct AranyaAqcPeerChannel *channel, struct AranyaAqcReceiveChannel *receiver, struct AranyaExtError *__ext_err)
 Converts the `AranyaAqcPeerChannel`into an [AranyaAqcReceiveChannel`](AranyaAqcReceiveChannel) for receiving data.
 
AranyaError aranya_aqc_bidi_create_bidi_stream (struct AranyaClient *client, struct AranyaAqcBidiChannel *channel, struct AranyaAqcBidiStream *stream)
 Create a bidirectional stream from a `AranyaAqcBidiChannel`.
 
AranyaError aranya_aqc_bidi_create_bidi_stream_ext (struct AranyaClient *client, struct AranyaAqcBidiChannel *channel, struct AranyaAqcBidiStream *stream, struct AranyaExtError *__ext_err)
 Create a bidirectional stream from a `AranyaAqcBidiChannel`.
 
AranyaError aranya_aqc_bidi_stream_send (struct AranyaClient *client, struct AranyaAqcBidiStream *stream, const uint8_t *data, size_t data_len)
 Send some data to a peer using an `AranyaAqcBidiStream`.
 
AranyaError aranya_aqc_bidi_stream_send_ext (struct AranyaClient *client, struct AranyaAqcBidiStream *stream, const uint8_t *data, size_t data_len, struct AranyaExtError *__ext_err)
 Send some data to a peer using an `AranyaAqcBidiStream`.
 
AranyaError aranya_aqc_bidi_stream_try_recv (struct AranyaAqcBidiStream *stream, uint8_t *buffer, size_t buffer_len, size_t *__output)
 Receive some data from an `AranyaAqcBidiStream`.
 
AranyaError aranya_aqc_bidi_stream_try_recv_ext (struct AranyaAqcBidiStream *stream, uint8_t *buffer, size_t buffer_len, size_t *__output, struct AranyaExtError *__ext_err)
 Receive some data from an `AranyaAqcBidiStream`.
 
AranyaError aranya_aqc_bidi_create_uni_stream (struct AranyaClient *client, struct AranyaAqcBidiChannel *channel, struct AranyaAqcSendStream *stream)
 Create a unidirectional stream from an `AranyaAqcBidiChannel`.
 
AranyaError aranya_aqc_bidi_create_uni_stream_ext (struct AranyaClient *client, struct AranyaAqcBidiChannel *channel, struct AranyaAqcSendStream *stream, struct AranyaExtError *__ext_err)
 Create a unidirectional stream from an `AranyaAqcBidiChannel`.
 
AranyaError aranya_aqc_bidi_try_receive_stream (struct AranyaAqcBidiChannel *channel, struct AranyaAqcReceiveStream *recv_stream, struct AranyaAqcSendStream *send_stream, bool *send_init)
 Tries to receive the receive (and potentially send) ends of a stream.
 
AranyaError aranya_aqc_bidi_try_receive_stream_ext (struct AranyaAqcBidiChannel *channel, struct AranyaAqcReceiveStream *recv_stream, struct AranyaAqcSendStream *send_stream, bool *send_init, struct AranyaExtError *__ext_err)
 Tries to receive the receive (and potentially send) ends of a stream.
 
AranyaError aranya_aqc_send_create_uni_stream (struct AranyaClient *client, struct AranyaAqcSendChannel *channel, struct AranyaAqcSendStream *stream)
 Create a unidirectional stream from an `AranyaAqcSendChannel`.
 
AranyaError aranya_aqc_send_create_uni_stream_ext (struct AranyaClient *client, struct AranyaAqcSendChannel *channel, struct AranyaAqcSendStream *stream, struct AranyaExtError *__ext_err)
 Create a unidirectional stream from an `AranyaAqcSendChannel`.
 
AranyaError aranya_aqc_recv_try_receive_uni_stream (struct AranyaAqcReceiveChannel *channel, struct AranyaAqcReceiveStream *stream)
 Receives the stream from an `AranyaAqcReceiveChannel`.
 
AranyaError aranya_aqc_recv_try_receive_uni_stream_ext (struct AranyaAqcReceiveChannel *channel, struct AranyaAqcReceiveStream *stream, struct AranyaExtError *__ext_err)
 Receives the stream from an `AranyaAqcReceiveChannel`.
 
AranyaError aranya_aqc_send_stream_send (struct AranyaClient *client, struct AranyaAqcSendStream *stream, const uint8_t *data, size_t data_len)
 Send some data over an `AranyaAqcSendStream`m.
 
AranyaError aranya_aqc_send_stream_send_ext (struct AranyaClient *client, struct AranyaAqcSendStream *stream, const uint8_t *data, size_t data_len, struct AranyaExtError *__ext_err)
 Send some data over an `AranyaAqcSendStream`m.
 
AranyaError aranya_aqc_recv_stream_try_recv (struct AranyaAqcReceiveStream *stream, uint8_t *buffer, size_t buffer_len, size_t *__output)
 Receive some data from an `AranyaAqcReceiveStream`.
 
AranyaError aranya_aqc_recv_stream_try_recv_ext (struct AranyaAqcReceiveStream *stream, uint8_t *buffer, size_t buffer_len, size_t *__output, struct AranyaExtError *__ext_err)
 Receive some data from an `AranyaAqcReceiveStream`.
 

Detailed Description

A handle to an Aranya Client.

Friends And Related Symbol Documentation

◆ aranya_add_device_to_team()

AranyaError aranya_add_device_to_team ( struct AranyaClient client,
const struct AranyaTeamId team,
const uint8_t *  keybundle,
size_t  keybundle_len 
)
related

Add a device to the team with the default role.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
keybundleserialized keybundle byte buffer KeyBundle.
keybundle_lenis the length of the serialized keybundle.

◆ aranya_add_device_to_team_ext()

AranyaError aranya_add_device_to_team_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const uint8_t *  keybundle,
size_t  keybundle_len,
struct AranyaExtError __ext_err 
)
related

Add a device to the team with the default role.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
keybundleserialized keybundle byte buffer KeyBundle.
keybundle_lenis the length of the serialized keybundle.

◆ aranya_add_sync_peer()

AranyaError aranya_add_sync_peer ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaAddr  addr,
const struct AranyaSyncPeerConfig config 
)
related

Add the peer for automatic periodic Aranya state syncing.

If a peer is not reachable on the network, sync errors will appear in the tracing logs and Aranya will be unable to sync state with that peer.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
addrthe peer's Aranya network address `AranyaAddr`.
configconfiguration values for syncing with a peer.

◆ aranya_add_sync_peer_ext()

AranyaError aranya_add_sync_peer_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaAddr  addr,
const struct AranyaSyncPeerConfig config,
struct AranyaExtError __ext_err 
)
related

Add the peer for automatic periodic Aranya state syncing.

If a peer is not reachable on the network, sync errors will appear in the tracing logs and Aranya will be unable to sync state with that peer.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
addrthe peer's Aranya network address `AranyaAddr`.
configconfiguration values for syncing with a peer.

◆ aranya_add_team()

AranyaError aranya_add_team ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaTeamConfig cfg 
)
related

Add a team to the local device store.

NOTE: this function is unfinished and will panic if called.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
cfgthe Team Configuration `AranyaTeamConfig`.

◆ aranya_add_team_ext()

AranyaError aranya_add_team_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaTeamConfig cfg,
struct AranyaExtError __ext_err 
)
related

Add a team to the local device store.

NOTE: this function is unfinished and will panic if called.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
cfgthe Team Configuration `AranyaTeamConfig`.

◆ aranya_aqc_assign_net_identifier()

AranyaError aranya_aqc_assign_net_identifier ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaNetIdentifier  net_identifier 
)
related

Associate a network identifier to a device for use with AQC.

Permission to perform this operation is checked against the Aranya policy.

If the address already exists for this device, it is replaced with the new address. Capable of resolving addresses via DNS, required to be statically mapped to IPV4. For use with OpenChannel and receiving messages. Can take either DNS name or IPV4.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
net_identifierthe device's network identifier `AranyaNetIdentifier`.

◆ aranya_aqc_assign_net_identifier_ext()

AranyaError aranya_aqc_assign_net_identifier_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaNetIdentifier  net_identifier,
struct AranyaExtError __ext_err 
)
related

Associate a network identifier to a device for use with AQC.

Permission to perform this operation is checked against the Aranya policy.

If the address already exists for this device, it is replaced with the new address. Capable of resolving addresses via DNS, required to be statically mapped to IPV4. For use with OpenChannel and receiving messages. Can take either DNS name or IPV4.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
net_identifierthe device's network identifier `AranyaNetIdentifier`.

◆ aranya_aqc_bidi_create_bidi_stream()

AranyaError aranya_aqc_bidi_create_bidi_stream ( struct AranyaClient client,
struct AranyaAqcBidiChannel channel,
struct AranyaAqcBidiStream stream 
)
related

Create a bidirectional stream from a `AranyaAqcBidiChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC channel object `AranyaAqcBidiChannel`.
[out]streamthe bidirectional AQC stream `AranyaAqcBidiStream`.

◆ aranya_aqc_bidi_create_bidi_stream_ext()

AranyaError aranya_aqc_bidi_create_bidi_stream_ext ( struct AranyaClient client,
struct AranyaAqcBidiChannel channel,
struct AranyaAqcBidiStream stream,
struct AranyaExtError __ext_err 
)
related

Create a bidirectional stream from a `AranyaAqcBidiChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC channel object `AranyaAqcBidiChannel`.
[out]streamthe bidirectional AQC stream `AranyaAqcBidiStream`.

◆ aranya_aqc_bidi_create_uni_stream()

AranyaError aranya_aqc_bidi_create_uni_stream ( struct AranyaClient client,
struct AranyaAqcBidiChannel channel,
struct AranyaAqcSendStream stream 
)
related

Create a unidirectional stream from an `AranyaAqcBidiChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC channel object `AranyaAqcBidiChannel`.
[out]streamthe sending side of a stream `AranyaAqcSendStream`.

◆ aranya_aqc_bidi_create_uni_stream_ext()

AranyaError aranya_aqc_bidi_create_uni_stream_ext ( struct AranyaClient client,
struct AranyaAqcBidiChannel channel,
struct AranyaAqcSendStream stream,
struct AranyaExtError __ext_err 
)
related

Create a unidirectional stream from an `AranyaAqcBidiChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC channel object `AranyaAqcBidiChannel`.
[out]streamthe sending side of a stream `AranyaAqcSendStream`.

◆ aranya_aqc_bidi_stream_send()

AranyaError aranya_aqc_bidi_stream_send ( struct AranyaClient client,
struct AranyaAqcBidiStream stream,
const uint8_t *  data,
size_t  data_len 
)
related

Send some data to a peer using an `AranyaAqcBidiStream`.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]streamthe sending side of a stream `AranyaAqcBidiStream`.
[in]datapointer to the data to send.
[in]data_lenlength of the data to send.

◆ aranya_aqc_bidi_stream_send_ext()

AranyaError aranya_aqc_bidi_stream_send_ext ( struct AranyaClient client,
struct AranyaAqcBidiStream stream,
const uint8_t *  data,
size_t  data_len,
struct AranyaExtError __ext_err 
)
related

Send some data to a peer using an `AranyaAqcBidiStream`.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]streamthe sending side of a stream `AranyaAqcBidiStream`.
[in]datapointer to the data to send.
[in]data_lenlength of the data to send.

◆ aranya_aqc_bidi_stream_try_recv()

AranyaError aranya_aqc_bidi_stream_try_recv ( struct AranyaAqcBidiStream stream,
uint8_t *  buffer,
size_t  buffer_len,
size_t *  __output 
)
related

Receive some data from an `AranyaAqcBidiStream`.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Parameters
[in]streamthe receiving side of a stream `AranyaAqcBidiStream`.
[out]bufferpointer to the target buffer.
[in]buffer_lenlength of the target buffer.
[out]__outputthe number of bytes written to the buffer.

◆ aranya_aqc_bidi_stream_try_recv_ext()

AranyaError aranya_aqc_bidi_stream_try_recv_ext ( struct AranyaAqcBidiStream stream,
uint8_t *  buffer,
size_t  buffer_len,
size_t *  __output,
struct AranyaExtError __ext_err 
)
related

Receive some data from an `AranyaAqcBidiStream`.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Parameters
[in]streamthe receiving side of a stream `AranyaAqcBidiStream`.
[out]bufferpointer to the target buffer.
[in]buffer_lenlength of the target buffer.
[out]__outputthe number of bytes written to the buffer.

◆ aranya_aqc_bidi_try_receive_stream()

AranyaError aranya_aqc_bidi_try_receive_stream ( struct AranyaAqcBidiChannel channel,
struct AranyaAqcReceiveStream recv_stream,
struct AranyaAqcSendStream send_stream,
bool *  send_init 
)
related

Tries to receive the receive (and potentially send) ends of a stream.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Additionally, the send stream will only be initialized if send_init is true.

Parameters
[in]channelthe AQC channel object `AranyaAqcBidiChannel`.
[out]recv_streamthe receiving side of a stream `AranyaAqcReceiveStream`.
[out]send_streamthe sending side of a stream `AranyaAqcSendStream`.
[out]send_initwhether or not we received a send_stream.

◆ aranya_aqc_bidi_try_receive_stream_ext()

AranyaError aranya_aqc_bidi_try_receive_stream_ext ( struct AranyaAqcBidiChannel channel,
struct AranyaAqcReceiveStream recv_stream,
struct AranyaAqcSendStream send_stream,
bool *  send_init,
struct AranyaExtError __ext_err 
)
related

Tries to receive the receive (and potentially send) ends of a stream.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Additionally, the send stream will only be initialized if send_init is true.

Parameters
[in]channelthe AQC channel object `AranyaAqcBidiChannel`.
[out]recv_streamthe receiving side of a stream `AranyaAqcReceiveStream`.
[out]send_streamthe sending side of a stream `AranyaAqcSendStream`.
[out]send_initwhether or not we received a send_stream.

◆ aranya_aqc_create_bidi_channel()

AranyaError aranya_aqc_create_bidi_channel ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaNetIdentifier  peer,
const struct AranyaLabelId label_id,
struct AranyaAqcBidiChannel channel 
)
related

Create a bidirectional AQC channel between this device and a peer.

Permission to perform this operation is checked against the Aranya policy.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]teamthe team's ID `AranyaTeamId`.
[in]peerthe peer's network identifier `AranyaNetIdentifier`.
[in]label_idthe AQC channel label ID `AranyaLabelId` to create the channel with.
[out]channelthe AQC channel object `AranyaAqcBidiChannel`.

◆ aranya_aqc_create_bidi_channel_ext()

AranyaError aranya_aqc_create_bidi_channel_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaNetIdentifier  peer,
const struct AranyaLabelId label_id,
struct AranyaAqcBidiChannel channel,
struct AranyaExtError __ext_err 
)
related

Create a bidirectional AQC channel between this device and a peer.

Permission to perform this operation is checked against the Aranya policy.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]teamthe team's ID `AranyaTeamId`.
[in]peerthe peer's network identifier `AranyaNetIdentifier`.
[in]label_idthe AQC channel label ID `AranyaLabelId` to create the channel with.
[out]channelthe AQC channel object `AranyaAqcBidiChannel`.

◆ aranya_aqc_create_uni_channel()

AranyaError aranya_aqc_create_uni_channel ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaNetIdentifier  peer,
const struct AranyaLabelId label_id,
struct AranyaAqcSendChannel channel 
)
related

Create a unidirectional AQC channel between this device and a peer.

Permission to perform this operation is checked against the Aranya policy.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]teamthe team's ID `AranyaTeamId`.
[in]peerthe peer's network identifier `AranyaNetIdentifier`.
[in]label_idthe AQC channel label ID `AranyaLabelId` to create the channel with.
[out]channelthe AQC channel object `AranyaAqcSendChannel`.

◆ aranya_aqc_create_uni_channel_ext()

AranyaError aranya_aqc_create_uni_channel_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaNetIdentifier  peer,
const struct AranyaLabelId label_id,
struct AranyaAqcSendChannel channel,
struct AranyaExtError __ext_err 
)
related

Create a unidirectional AQC channel between this device and a peer.

Permission to perform this operation is checked against the Aranya policy.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]teamthe team's ID `AranyaTeamId`.
[in]peerthe peer's network identifier `AranyaNetIdentifier`.
[in]label_idthe AQC channel label ID `AranyaLabelId` to create the channel with.
[out]channelthe AQC channel object `AranyaAqcSendChannel`.

◆ aranya_aqc_delete_bidi_channel()

AranyaError aranya_aqc_delete_bidi_channel ( struct AranyaClient client,
struct AranyaAqcBidiChannel channel 
)
related

Delete a bidirectional AQC channel.

Note that this function takes ownership of the `AranyaAqcBidiChannel` and invalidates any further use.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC Channel `AranyaAqcBidiChannel` to delete.

◆ aranya_aqc_delete_bidi_channel_ext()

AranyaError aranya_aqc_delete_bidi_channel_ext ( struct AranyaClient client,
struct AranyaAqcBidiChannel channel,
struct AranyaExtError __ext_err 
)
related

Delete a bidirectional AQC channel.

Note that this function takes ownership of the `AranyaAqcBidiChannel` and invalidates any further use.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC Channel `AranyaAqcBidiChannel` to delete.

◆ aranya_aqc_delete_uni_channel()

AranyaError aranya_aqc_delete_uni_channel ( struct AranyaClient client,
struct AranyaAqcSendChannel channel 
)
related

Delete a unidirectional AQC channel.

Note that this function takes ownership of the `AranyaAqcSendChannel` and invalidates any further use.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC Channel `AranyaAqcSendChannel` to delete.

◆ aranya_aqc_delete_uni_channel_ext()

AranyaError aranya_aqc_delete_uni_channel_ext ( struct AranyaClient client,
struct AranyaAqcSendChannel channel,
struct AranyaExtError __ext_err 
)
related

Delete a unidirectional AQC channel.

Note that this function takes ownership of the `AranyaAqcSendChannel` and invalidates any further use.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC Channel `AranyaAqcSendChannel` to delete.

◆ aranya_aqc_get_bidi_channel()

AranyaError aranya_aqc_get_bidi_channel ( struct AranyaAqcPeerChannel channel,
struct AranyaAqcBidiChannel bidi 
)
related

Converts the `AranyaAqcPeerChannel`into an [AranyaAqcBidiChannel`](AranyaAqcBidiChannel) for sending/receiving data.

Returns ARANYA_ERROR_INVALID_ARGUMENT if called when the AqcPeerChannel is the wrong type.

Note that this function takes ownership of the `AranyaAqcPeerChannel` and invalidates any further use.

Parameters
[in]channelthe AQC channel holder `AranyaAqcPeerChannel` that holds a channel object.
[out]bidithe AQC channel object `AranyaAqcBidiChannel` that holds channel info.

◆ aranya_aqc_get_bidi_channel_ext()

AranyaError aranya_aqc_get_bidi_channel_ext ( struct AranyaAqcPeerChannel channel,
struct AranyaAqcBidiChannel bidi,
struct AranyaExtError __ext_err 
)
related

Converts the `AranyaAqcPeerChannel`into an [AranyaAqcBidiChannel`](AranyaAqcBidiChannel) for sending/receiving data.

Returns ARANYA_ERROR_INVALID_ARGUMENT if called when the AqcPeerChannel is the wrong type.

Note that this function takes ownership of the `AranyaAqcPeerChannel` and invalidates any further use.

Parameters
[in]channelthe AQC channel holder `AranyaAqcPeerChannel` that holds a channel object.
[out]bidithe AQC channel object `AranyaAqcBidiChannel` that holds channel info.

◆ aranya_aqc_get_receive_channel()

AranyaError aranya_aqc_get_receive_channel ( struct AranyaAqcPeerChannel channel,
struct AranyaAqcReceiveChannel receiver 
)
related

Converts the `AranyaAqcPeerChannel`into an [AranyaAqcReceiveChannel`](AranyaAqcReceiveChannel) for receiving data.

Returns ARANYA_ERROR_INVALID_ARGUMENT if called when the AqcPeerChannel is the wrong type.

Note that this function takes ownership of the `AranyaAqcPeerChannel` and invalidates any further use.

Parameters
[in]channelthe AQC channel container `AranyaAqcPeerChannel`.
[out]receiverthe AQC channel object `AranyaAqcReceiveChannel`.

◆ aranya_aqc_get_receive_channel_ext()

AranyaError aranya_aqc_get_receive_channel_ext ( struct AranyaAqcPeerChannel channel,
struct AranyaAqcReceiveChannel receiver,
struct AranyaExtError __ext_err 
)
related

Converts the `AranyaAqcPeerChannel`into an [AranyaAqcReceiveChannel`](AranyaAqcReceiveChannel) for receiving data.

Returns ARANYA_ERROR_INVALID_ARGUMENT if called when the AqcPeerChannel is the wrong type.

Note that this function takes ownership of the `AranyaAqcPeerChannel` and invalidates any further use.

Parameters
[in]channelthe AQC channel container `AranyaAqcPeerChannel`.
[out]receiverthe AQC channel object `AranyaAqcReceiveChannel`.

◆ aranya_aqc_recv_stream_try_recv()

AranyaError aranya_aqc_recv_stream_try_recv ( struct AranyaAqcReceiveStream stream,
uint8_t *  buffer,
size_t  buffer_len,
size_t *  __output 
)
related

Receive some data from an `AranyaAqcReceiveStream`.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Parameters
[in]streamthe receiving side of a stream `AranyaAqcReceiveStream`.
[out]bufferpointer to the target buffer.
[in]buffer_lenlength of the target buffer.
[out]__outputthe number of bytes written to the buffer.

◆ aranya_aqc_recv_stream_try_recv_ext()

AranyaError aranya_aqc_recv_stream_try_recv_ext ( struct AranyaAqcReceiveStream stream,
uint8_t *  buffer,
size_t  buffer_len,
size_t *  __output,
struct AranyaExtError __ext_err 
)
related

Receive some data from an `AranyaAqcReceiveStream`.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Parameters
[in]streamthe receiving side of a stream `AranyaAqcReceiveStream`.
[out]bufferpointer to the target buffer.
[in]buffer_lenlength of the target buffer.
[out]__outputthe number of bytes written to the buffer.

◆ aranya_aqc_recv_try_receive_uni_stream()

AranyaError aranya_aqc_recv_try_receive_uni_stream ( struct AranyaAqcReceiveChannel channel,
struct AranyaAqcReceiveStream stream 
)
related

Receives the stream from an `AranyaAqcReceiveChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Parameters
[in]channelthe AQC channel object `AranyaAqcReceiveChannel`.
[out]streamthe receiving side of a stream `AranyaAqcReceiveStream`.

◆ aranya_aqc_recv_try_receive_uni_stream_ext()

AranyaError aranya_aqc_recv_try_receive_uni_stream_ext ( struct AranyaAqcReceiveChannel channel,
struct AranyaAqcReceiveStream stream,
struct AranyaExtError __ext_err 
)
related

Receives the stream from an `AranyaAqcReceiveChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any streams received yet which is considered a non-fatal error.

Parameters
[in]channelthe AQC channel object `AranyaAqcReceiveChannel`.
[out]streamthe receiving side of a stream `AranyaAqcReceiveStream`.

◆ aranya_aqc_remove_net_identifier()

AranyaError aranya_aqc_remove_net_identifier ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaNetIdentifier  net_identifier 
)
related

Disassociate an AQC network identifier from a device.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
net_identifierthe device's network identifier `AranyaNetIdentifier`.

◆ aranya_aqc_remove_net_identifier_ext()

AranyaError aranya_aqc_remove_net_identifier_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaNetIdentifier  net_identifier,
struct AranyaExtError __ext_err 
)
related

Disassociate an AQC network identifier from a device.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
net_identifierthe device's network identifier `AranyaNetIdentifier`.

◆ aranya_aqc_send_create_uni_stream()

AranyaError aranya_aqc_send_create_uni_stream ( struct AranyaClient client,
struct AranyaAqcSendChannel channel,
struct AranyaAqcSendStream stream 
)
related

Create a unidirectional stream from an `AranyaAqcSendChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC channel object `AranyaAqcSendChannel`.
[out]streamthe sending side of a stream `AranyaAqcSendStream`.

◆ aranya_aqc_send_create_uni_stream_ext()

AranyaError aranya_aqc_send_create_uni_stream_ext ( struct AranyaClient client,
struct AranyaAqcSendChannel channel,
struct AranyaAqcSendStream stream,
struct AranyaExtError __ext_err 
)
related

Create a unidirectional stream from an `AranyaAqcSendChannel`.

Note that the recipient will not be able to receive the stream until data is sent over the stream.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]channelthe AQC channel object `AranyaAqcSendChannel`.
[out]streamthe sending side of a stream `AranyaAqcSendStream`.

◆ aranya_aqc_send_stream_send()

AranyaError aranya_aqc_send_stream_send ( struct AranyaClient client,
struct AranyaAqcSendStream stream,
const uint8_t *  data,
size_t  data_len 
)
related

Send some data over an `AranyaAqcSendStream`m.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]streamthe sending side of a stream `AranyaAqcSendStream`.
[in]datapointer to the data to send.
[in]data_lenlength of the data to send.

◆ aranya_aqc_send_stream_send_ext()

AranyaError aranya_aqc_send_stream_send_ext ( struct AranyaClient client,
struct AranyaAqcSendStream stream,
const uint8_t *  data,
size_t  data_len,
struct AranyaExtError __ext_err 
)
related

Send some data over an `AranyaAqcSendStream`m.

Parameters
[in]clientthe Aranya Client `AranyaClient`.
[in]streamthe sending side of a stream `AranyaAqcSendStream`.
[in]datapointer to the data to send.
[in]data_lenlength of the data to send.

◆ aranya_aqc_try_receive_channel()

AranyaError aranya_aqc_try_receive_channel ( struct AranyaClient client,
struct AranyaAqcPeerChannel channel,
AranyaAqcChannelType __output 
)
related

Tries to poll AQC to see if any channels have been received.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any channels received yet which is considered a non-fatal error.

Note that the `AranyaAqcPeerChannel` must be converted before it can be used:

AranyaAqcChannelType channel_type;
aranya_aqc_try_receive_channel(&client, &channel, &channel_type);
switch (channel_type) {
case ARANYA_AQC_CHANNEL_TYPE_BIDIRECTIONAL:
aranya_aqc_get_bidi_channel(&channel, &bidi);
break;
case ARANYA_AQC_CHANNEL_TYPE_RECEIVER:
aranya_aqc_get_receive_channel(&channel, &receiver);
break;
}
AranyaAqcChannelType
An enum containing all `AranyaAqcPeerChannel` variants.
Definition aranya-client.h:105
An AQC Bidirectional Channel Object.
Definition aranya-client.h:429
A type containing the AQC channel variant.
Definition aranya-client.h:417
An AQC Receiver Channel Object.
Definition aranya-client.h:453
AranyaError aranya_aqc_get_receive_channel(struct AranyaAqcPeerChannel *channel, struct AranyaAqcReceiveChannel *receiver)
Converts the `AranyaAqcPeerChannel`into an [AranyaAqcReceiveChannel`](AranyaAqcReceiveChannel) for re...
AranyaError aranya_aqc_try_receive_channel(struct AranyaClient *client, struct AranyaAqcPeerChannel *channel, AranyaAqcChannelType *__output)
Tries to poll AQC to see if any channels have been received.
AranyaError aranya_aqc_get_bidi_channel(struct AranyaAqcPeerChannel *channel, struct AranyaAqcBidiChannel *bidi)
Converts the `AranyaAqcPeerChannel`into an [AranyaAqcBidiChannel`](AranyaAqcBidiChannel) for sending/...
Parameters
[in]clientthe Aranya Client `AranyaClient`.
[out]channelthe AQC channel holder `AranyaAqcPeerChannel`.
[out]__outputthe corresponding AQC channel type `AranyaAqcChannelType`.

◆ aranya_aqc_try_receive_channel_ext()

AranyaError aranya_aqc_try_receive_channel_ext ( struct AranyaClient client,
struct AranyaAqcPeerChannel channel,
AranyaAqcChannelType __output,
struct AranyaExtError __ext_err 
)
related

Tries to poll AQC to see if any channels have been received.

This can return ARANYA_ERROR_WOULD_BLOCK to signal that there aren't any channels received yet which is considered a non-fatal error.

Note that the `AranyaAqcPeerChannel` must be converted before it can be used:

AranyaAqcChannelType channel_type;
aranya_aqc_try_receive_channel(&client, &channel, &channel_type);
switch (channel_type) {
case ARANYA_AQC_CHANNEL_TYPE_BIDIRECTIONAL:
aranya_aqc_get_bidi_channel(&channel, &bidi);
break;
case ARANYA_AQC_CHANNEL_TYPE_RECEIVER:
aranya_aqc_get_receive_channel(&channel, &receiver);
break;
}
Parameters
[in]clientthe Aranya Client `AranyaClient`.
[out]channelthe AQC channel holder `AranyaAqcPeerChannel`.
[out]__outputthe corresponding AQC channel type `AranyaAqcChannelType`.

◆ aranya_assign_label()

AranyaError aranya_assign_label ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
const struct AranyaLabelId label_id,
AranyaChanOp  op 
)
related

Assign a label to a device so that it can be used for a channel.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device ID `AranyaDeviceId` of the device to assign the label to.
label_idthe AQC channel label ID `AranyaLabelId`.

◆ aranya_assign_label_ext()

AranyaError aranya_assign_label_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
const struct AranyaLabelId label_id,
AranyaChanOp  op,
struct AranyaExtError __ext_err 
)
related

Assign a label to a device so that it can be used for a channel.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device ID `AranyaDeviceId` of the device to assign the label to.
label_idthe AQC channel label ID `AranyaLabelId`.

◆ aranya_assign_role()

AranyaError aranya_assign_role ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaRole  role 
)
related

Assign a role to a device.

This will change the device's current role to the new role assigned.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
rolethe role `AranyaRole` to assign to the device.

◆ aranya_assign_role_ext()

AranyaError aranya_assign_role_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaRole  role,
struct AranyaExtError __ext_err 
)
related

Assign a role to a device.

This will change the device's current role to the new role assigned.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
rolethe role `AranyaRole` to assign to the device.

◆ aranya_client_cleanup()

AranyaError aranya_client_cleanup ( struct AranyaClient ptr)
related

Releases any resources associated with ptr.

ptr must either be null or initialized by aranya_client_init.

◆ aranya_client_cleanup_ext()

AranyaError aranya_client_cleanup_ext ( struct AranyaClient ptr,
struct AranyaExtError __ext_err 
)
related

Releases any resources associated with ptr.

ptr must either be null or initialized by aranya_client_init.

◆ aranya_client_init()

AranyaError aranya_client_init ( struct AranyaClient client,
const struct AranyaClientConfig config 
)
related

Initializes a new client instance.

Parameters
clientthe uninitialized Aranya Client `AranyaClient`.
configthe client's configuration `AranyaClientConfig`.

◆ aranya_client_init_ext()

AranyaError aranya_client_init_ext ( struct AranyaClient client,
const struct AranyaClientConfig config,
struct AranyaExtError __ext_err 
)
related

Initializes a new client instance.

Parameters
clientthe uninitialized Aranya Client `AranyaClient`.
configthe client's configuration `AranyaClientConfig`.

◆ aranya_close_team()

AranyaError aranya_close_team ( struct AranyaClient client,
const struct AranyaTeamId team 
)
related

Close the team and stop all operations on the graph.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.

◆ aranya_close_team_ext()

AranyaError aranya_close_team_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
struct AranyaExtError __ext_err 
)
related

Close the team and stop all operations on the graph.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.

◆ aranya_create_label()

AranyaError aranya_create_label ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaLabelName  name,
struct AranyaLabelId __output 
)
related

Create a channel label.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
namelabel name string `AranyaLabelName`.

◆ aranya_create_label_ext()

AranyaError aranya_create_label_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaLabelName  name,
struct AranyaLabelId __output,
struct AranyaExtError __ext_err 
)
related

Create a channel label.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
namelabel name string `AranyaLabelName`.

◆ aranya_create_team()

AranyaError aranya_create_team ( struct AranyaClient client,
const struct AranyaTeamConfig cfg,
struct AranyaTeamId __output 
)
related

Create a new graph/team with the current device as the owner.

Parameters
clientthe Aranya Client `AranyaClient`.
cfgthe Team Configuration `AranyaTeamConfig`.
__outputthe team's ID `AranyaTeamId`.

◆ aranya_create_team_ext()

AranyaError aranya_create_team_ext ( struct AranyaClient client,
const struct AranyaTeamConfig cfg,
struct AranyaTeamId __output,
struct AranyaExtError __ext_err 
)
related

Create a new graph/team with the current device as the owner.

Parameters
clientthe Aranya Client `AranyaClient`.
cfgthe Team Configuration `AranyaTeamConfig`.
__outputthe team's ID `AranyaTeamId`.

◆ aranya_delete_label()

AranyaError aranya_delete_label ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaLabelId label_id 
)
related

Delete a channel label.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
label_idthe channel label ID `AranyaLabelId` to delete.

◆ aranya_delete_label_ext()

AranyaError aranya_delete_label_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaLabelId label_id,
struct AranyaExtError __ext_err 
)
related

Delete a channel label.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
label_idthe channel label ID `AranyaLabelId` to delete.

◆ aranya_get_device_id()

AranyaError aranya_get_device_id ( struct AranyaClient client,
struct AranyaDeviceId __output 
)
related

Gets the public device ID.

Parameters
clientthe Aranya Client `AranyaClient`.
__outputthe client's device ID `AranyaDeviceId`.

◆ aranya_get_device_id_ext()

AranyaError aranya_get_device_id_ext ( struct AranyaClient client,
struct AranyaDeviceId __output,
struct AranyaExtError __ext_err 
)
related

Gets the public device ID.

Parameters
clientthe Aranya Client `AranyaClient`.
__outputthe client's device ID `AranyaDeviceId`.

◆ aranya_get_key_bundle()

AranyaError aranya_get_key_bundle ( struct AranyaClient client,
uint8_t *  keybundle,
size_t *  keybundle_len 
)
related

Gets the public key bundle for this device.

Parameters
clientthe Aranya Client `AranyaClient`.
keybundlekeybundle byte buffer KeyBundle.
keybundle_lenreturns the length of the serialized keybundle.

◆ aranya_get_key_bundle_ext()

AranyaError aranya_get_key_bundle_ext ( struct AranyaClient client,
uint8_t *  keybundle,
size_t *  keybundle_len,
struct AranyaExtError __ext_err 
)
related

Gets the public key bundle for this device.

Parameters
clientthe Aranya Client `AranyaClient`.
keybundlekeybundle byte buffer KeyBundle.
keybundle_lenreturns the length of the serialized keybundle.

◆ aranya_query_aqc_net_identifier()

AranyaError aranya_query_aqc_net_identifier ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
char *  ident,
size_t *  ident_len,
bool *  __output 
)
related

Query device's AQC network identifier.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
networkidentifier string `AranyaNetIdentifier`.

◆ aranya_query_aqc_net_identifier_ext()

AranyaError aranya_query_aqc_net_identifier_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
char *  ident,
size_t *  ident_len,
bool *  __output,
struct AranyaExtError __ext_err 
)
related

Query device's AQC network identifier.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
networkidentifier string `AranyaNetIdentifier`.

◆ aranya_query_device_keybundle()

AranyaError aranya_query_device_keybundle ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
uint8_t *  keybundle,
size_t *  keybundle_len 
)
related

Query device's keybundle.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
keybundlekeybundle byte buffer KeyBundle.
keybundle_lenreturns the length of the serialized keybundle.

◆ aranya_query_device_keybundle_ext()

AranyaError aranya_query_device_keybundle_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
uint8_t *  keybundle,
size_t *  keybundle_len,
struct AranyaExtError __ext_err 
)
related

Query device's keybundle.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
keybundlekeybundle byte buffer KeyBundle.
keybundle_lenreturns the length of the serialized keybundle.

◆ aranya_query_device_label_assignments()

AranyaError aranya_query_device_label_assignments ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
struct AranyaLabelId labels,
size_t *  labels_len 
)
related

Query device label assignments.

Returns an AranyaBufferTooSmall error if the output buffer is too small to hold the labels. Writes the number of labels that would have been returned to labels_len. The application can use labels_len to allocate a larger buffer.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.

Output params:

Parameters
labelsreturns a list of labels assigned to the device `AranyaLabelId`.
labels_lenreturns the length of the labels list `AranyaLabelId`.

◆ aranya_query_device_label_assignments_ext()

AranyaError aranya_query_device_label_assignments_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
struct AranyaLabelId labels,
size_t *  labels_len,
struct AranyaExtError __ext_err 
)
related

Query device label assignments.

Returns an AranyaBufferTooSmall error if the output buffer is too small to hold the labels. Writes the number of labels that would have been returned to labels_len. The application can use labels_len to allocate a larger buffer.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.

Output params:

Parameters
labelsreturns a list of labels assigned to the device `AranyaLabelId`.
labels_lenreturns the length of the labels list `AranyaLabelId`.

◆ aranya_query_devices_on_team()

AranyaError aranya_query_devices_on_team ( struct AranyaClient client,
const struct AranyaTeamId team,
struct AranyaDeviceId devices,
size_t *  devices_len 
)
related

Query devices on team.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicesreturns a list of device IDs on the team `AranyaDeviceId`.
devices_lenreturns the length of the devices list `AranyaDeviceId`.

◆ aranya_query_devices_on_team_ext()

AranyaError aranya_query_devices_on_team_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
struct AranyaDeviceId devices,
size_t *  devices_len,
struct AranyaExtError __ext_err 
)
related

Query devices on team.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicesreturns a list of device IDs on the team `AranyaDeviceId`.
devices_lenreturns the length of the devices list `AranyaDeviceId`.

◆ aranya_query_label_exists()

AranyaError aranya_query_label_exists ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaLabelId label,
bool *  __output 
)
related

Query if a label exists.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
labelthe label `AranyaLabelId`.
__outputboolean indicating whether the label exists.

◆ aranya_query_label_exists_ext()

AranyaError aranya_query_label_exists_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaLabelId label,
bool *  __output,
struct AranyaExtError __ext_err 
)
related

Query if a label exists.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
labelthe label `AranyaLabelId`.
__outputboolean indicating whether the label exists.

◆ aranya_query_labels()

AranyaError aranya_query_labels ( struct AranyaClient client,
const struct AranyaTeamId team,
struct AranyaLabelId labels,
size_t *  labels_len 
)
related

Query for list of existing labels.

Returns an AranyaBufferTooSmall error if the output buffer is too small to hold the labels. Writes the number of labels that would have been returned to labels_len. The application can use labels_len to allocate a larger buffer.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.

Output params:

Parameters
labelsreturns a list of labels `AranyaLabelId`.
labels_lenreturns the length of the labels list `AranyaLabelId`.

◆ aranya_query_labels_ext()

AranyaError aranya_query_labels_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
struct AranyaLabelId labels,
size_t *  labels_len,
struct AranyaExtError __ext_err 
)
related

Query for list of existing labels.

Returns an AranyaBufferTooSmall error if the output buffer is too small to hold the labels. Writes the number of labels that would have been returned to labels_len. The application can use labels_len to allocate a larger buffer.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.

Output params:

Parameters
labelsreturns a list of labels `AranyaLabelId`.
labels_lenreturns the length of the labels list `AranyaLabelId`.

◆ aranya_remove_device_from_team()

AranyaError aranya_remove_device_from_team ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device 
)
related

Remove a device from the team.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.

◆ aranya_remove_device_from_team_ext()

AranyaError aranya_remove_device_from_team_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
struct AranyaExtError __ext_err 
)
related

Remove a device from the team.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.

◆ aranya_remove_sync_peer()

AranyaError aranya_remove_sync_peer ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaAddr  addr 
)
related

Remove the peer from automatic Aranya state syncing.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
addrthe peer's Aranya network address `AranyaAddr`.

◆ aranya_remove_sync_peer_ext()

AranyaError aranya_remove_sync_peer_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaAddr  addr,
struct AranyaExtError __ext_err 
)
related

Remove the peer from automatic Aranya state syncing.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
addrthe peer's Aranya network address `AranyaAddr`.

◆ aranya_remove_team()

AranyaError aranya_remove_team ( struct AranyaClient client,
const struct AranyaTeamId team 
)
related

Remove a team from the local device store.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.

◆ aranya_remove_team_ext()

AranyaError aranya_remove_team_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
struct AranyaExtError __ext_err 
)
related

Remove a team from the local device store.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.

◆ aranya_revoke_label()

AranyaError aranya_revoke_label ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
const struct AranyaLabelId label_id 
)
related

Revoke a label from a device.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device ID `AranyaDeviceId` of the device to revoke the label from.
label_idthe AQC channel label ID `AranyaLabelId`.

◆ aranya_revoke_label_ext()

AranyaError aranya_revoke_label_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
const struct AranyaLabelId label_id,
struct AranyaExtError __ext_err 
)
related

Revoke a label from a device.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device ID `AranyaDeviceId` of the device to revoke the label from.
label_idthe AQC channel label ID `AranyaLabelId`.

◆ aranya_revoke_role()

AranyaError aranya_revoke_role ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaRole  role 
)
related

Revoke a role from a device.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
rolethe role `AranyaRole` to revoke from the device.

◆ aranya_revoke_role_ext()

AranyaError aranya_revoke_role_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
const struct AranyaDeviceId device,
AranyaRole  role,
struct AranyaExtError __ext_err 
)
related

Revoke a role from a device.

Permission to perform this operation is checked against the Aranya policy.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
devicethe device's ID `AranyaDeviceId`.
rolethe role `AranyaRole` to revoke from the device.

◆ aranya_sync_now()

AranyaError aranya_sync_now ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaAddr  addr,
const struct AranyaSyncPeerConfig config 
)
related

Sync with peer immediately.

If a peer is not reachable on the network, sync errors will appear in the tracing logs and Aranya will be unable to sync state with that peer.

This function ignores `aranya_sync_peer_config_builder_set_interval` and `aranya_sync_peer_config_builder_set_sync_later`, if set.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
addrthe peer's Aranya network address `AranyaAddr`.
configconfiguration values for syncing with a peer. Default values for a sync config will be used if config is NULL

◆ aranya_sync_now_ext()

AranyaError aranya_sync_now_ext ( struct AranyaClient client,
const struct AranyaTeamId team,
AranyaAddr  addr,
const struct AranyaSyncPeerConfig config,
struct AranyaExtError __ext_err 
)
related

Sync with peer immediately.

If a peer is not reachable on the network, sync errors will appear in the tracing logs and Aranya will be unable to sync state with that peer.

This function ignores `aranya_sync_peer_config_builder_set_interval` and `aranya_sync_peer_config_builder_set_sync_later`, if set.

Parameters
clientthe Aranya Client `AranyaClient`.
teamthe team's ID `AranyaTeamId`.
addrthe peer's Aranya network address `AranyaAddr`.
configconfiguration values for syncing with a peer. Default values for a sync config will be used if config is NULL

The documentation for this struct was generated from the following file: