![]() |
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.
|
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`. | |
A handle to an Aranya Client.
|
related |
Add a device to the team with the default role.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
keybundle | serialized keybundle byte buffer KeyBundle . |
keybundle_len | is the length of the serialized keybundle. |
|
related |
Add a device to the team with the default role.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
keybundle | serialized keybundle byte buffer KeyBundle . |
keybundle_len | is the length of the serialized keybundle. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
addr | the peer's Aranya network address `AranyaAddr`. |
config | configuration values for syncing with a peer. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
addr | the peer's Aranya network address `AranyaAddr`. |
config | configuration values for syncing with a peer. |
|
related |
Add a team to the local device store.
NOTE: this function is unfinished and will panic if called.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
cfg | the Team Configuration `AranyaTeamConfig`. |
|
related |
Add a team to the local device store.
NOTE: this function is unfinished and will panic if called.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
cfg | the Team Configuration `AranyaTeamConfig`. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
net_identifier | the device's network identifier `AranyaNetIdentifier`. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
net_identifier | the device's network identifier `AranyaNetIdentifier`. |
|
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.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
[out] | stream | the bidirectional AQC stream `AranyaAqcBidiStream`. |
|
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.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
[out] | stream | the bidirectional AQC stream `AranyaAqcBidiStream`. |
|
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.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
[out] | stream | the sending side of a stream `AranyaAqcSendStream`. |
|
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.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
[out] | stream | the sending side of a stream `AranyaAqcSendStream`. |
|
related |
Send some data to a peer using an `AranyaAqcBidiStream`.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | stream | the sending side of a stream `AranyaAqcBidiStream`. |
[in] | data | pointer to the data to send. |
[in] | data_len | length of the data to send. |
|
related |
Send some data to a peer using an `AranyaAqcBidiStream`.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | stream | the sending side of a stream `AranyaAqcBidiStream`. |
[in] | data | pointer to the data to send. |
[in] | data_len | length of the data to send. |
|
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.
[in] | stream | the receiving side of a stream `AranyaAqcBidiStream`. |
[out] | buffer | pointer to the target buffer. |
[in] | buffer_len | length of the target buffer. |
[out] | __output | the number of bytes written to the buffer. |
|
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.
[in] | stream | the receiving side of a stream `AranyaAqcBidiStream`. |
[out] | buffer | pointer to the target buffer. |
[in] | buffer_len | length of the target buffer. |
[out] | __output | the number of bytes written to the buffer. |
|
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.
[in] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
[out] | recv_stream | the receiving side of a stream `AranyaAqcReceiveStream`. |
[out] | send_stream | the sending side of a stream `AranyaAqcSendStream`. |
[out] | send_init | whether or not we received a send_stream . |
|
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.
[in] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
[out] | recv_stream | the receiving side of a stream `AranyaAqcReceiveStream`. |
[out] | send_stream | the sending side of a stream `AranyaAqcSendStream`. |
[out] | send_init | whether or not we received a send_stream . |
|
related |
Create a bidirectional AQC channel between this device and a peer.
Permission to perform this operation is checked against the Aranya policy.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | team | the team's ID `AranyaTeamId`. |
[in] | peer | the peer's network identifier `AranyaNetIdentifier`. |
[in] | label_id | the AQC channel label ID `AranyaLabelId` to create the channel with. |
[out] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
|
related |
Create a bidirectional AQC channel between this device and a peer.
Permission to perform this operation is checked against the Aranya policy.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | team | the team's ID `AranyaTeamId`. |
[in] | peer | the peer's network identifier `AranyaNetIdentifier`. |
[in] | label_id | the AQC channel label ID `AranyaLabelId` to create the channel with. |
[out] | channel | the AQC channel object `AranyaAqcBidiChannel`. |
|
related |
Create a unidirectional AQC channel between this device and a peer.
Permission to perform this operation is checked against the Aranya policy.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | team | the team's ID `AranyaTeamId`. |
[in] | peer | the peer's network identifier `AranyaNetIdentifier`. |
[in] | label_id | the AQC channel label ID `AranyaLabelId` to create the channel with. |
[out] | channel | the AQC channel object `AranyaAqcSendChannel`. |
|
related |
Create a unidirectional AQC channel between this device and a peer.
Permission to perform this operation is checked against the Aranya policy.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | team | the team's ID `AranyaTeamId`. |
[in] | peer | the peer's network identifier `AranyaNetIdentifier`. |
[in] | label_id | the AQC channel label ID `AranyaLabelId` to create the channel with. |
[out] | channel | the AQC channel object `AranyaAqcSendChannel`. |
|
related |
Delete a bidirectional AQC channel.
Note that this function takes ownership of the `AranyaAqcBidiChannel` and invalidates any further use.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC Channel `AranyaAqcBidiChannel` to delete. |
|
related |
Delete a bidirectional AQC channel.
Note that this function takes ownership of the `AranyaAqcBidiChannel` and invalidates any further use.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC Channel `AranyaAqcBidiChannel` to delete. |
|
related |
Delete a unidirectional AQC channel.
Note that this function takes ownership of the `AranyaAqcSendChannel` and invalidates any further use.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC Channel `AranyaAqcSendChannel` to delete. |
|
related |
Delete a unidirectional AQC channel.
Note that this function takes ownership of the `AranyaAqcSendChannel` and invalidates any further use.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC Channel `AranyaAqcSendChannel` to delete. |
|
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.
[in] | channel | the AQC channel holder `AranyaAqcPeerChannel` that holds a channel object. |
[out] | bidi | the AQC channel object `AranyaAqcBidiChannel` that holds channel info. |
|
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.
[in] | channel | the AQC channel holder `AranyaAqcPeerChannel` that holds a channel object. |
[out] | bidi | the AQC channel object `AranyaAqcBidiChannel` that holds channel info. |
|
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.
[in] | channel | the AQC channel container `AranyaAqcPeerChannel`. |
[out] | receiver | the AQC channel object `AranyaAqcReceiveChannel`. |
|
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.
[in] | channel | the AQC channel container `AranyaAqcPeerChannel`. |
[out] | receiver | the AQC channel object `AranyaAqcReceiveChannel`. |
|
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.
[in] | stream | the receiving side of a stream `AranyaAqcReceiveStream`. |
[out] | buffer | pointer to the target buffer. |
[in] | buffer_len | length of the target buffer. |
[out] | __output | the number of bytes written to the buffer. |
|
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.
[in] | stream | the receiving side of a stream `AranyaAqcReceiveStream`. |
[out] | buffer | pointer to the target buffer. |
[in] | buffer_len | length of the target buffer. |
[out] | __output | the number of bytes written to the buffer. |
|
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.
[in] | channel | the AQC channel object `AranyaAqcReceiveChannel`. |
[out] | stream | the receiving side of a stream `AranyaAqcReceiveStream`. |
|
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.
[in] | channel | the AQC channel object `AranyaAqcReceiveChannel`. |
[out] | stream | the receiving side of a stream `AranyaAqcReceiveStream`. |
|
related |
Disassociate an AQC network identifier from a device.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
net_identifier | the device's network identifier `AranyaNetIdentifier`. |
|
related |
Disassociate an AQC network identifier from a device.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
net_identifier | the device's network identifier `AranyaNetIdentifier`. |
|
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.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC channel object `AranyaAqcSendChannel`. |
[out] | stream | the sending side of a stream `AranyaAqcSendStream`. |
|
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.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | channel | the AQC channel object `AranyaAqcSendChannel`. |
[out] | stream | the sending side of a stream `AranyaAqcSendStream`. |
|
related |
Send some data over an `AranyaAqcSendStream`m.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | stream | the sending side of a stream `AranyaAqcSendStream`. |
[in] | data | pointer to the data to send. |
[in] | data_len | length of the data to send. |
|
related |
Send some data over an `AranyaAqcSendStream`m.
[in] | client | the Aranya Client `AranyaClient`. |
[in] | stream | the sending side of a stream `AranyaAqcSendStream`. |
[in] | data | pointer to the data to send. |
[in] | data_len | length of the data to send. |
|
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:
[in] | client | the Aranya Client `AranyaClient`. |
[out] | channel | the AQC channel holder `AranyaAqcPeerChannel`. |
[out] | __output | the corresponding AQC channel type `AranyaAqcChannelType`. |
|
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:
[in] | client | the Aranya Client `AranyaClient`. |
[out] | channel | the AQC channel holder `AranyaAqcPeerChannel`. |
[out] | __output | the corresponding AQC channel type `AranyaAqcChannelType`. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device ID `AranyaDeviceId` of the device to assign the label to. |
label_id | the AQC channel label ID `AranyaLabelId`. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device ID `AranyaDeviceId` of the device to assign the label to. |
label_id | the AQC channel label ID `AranyaLabelId`. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
role | the role `AranyaRole` to assign to the device. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
role | the role `AranyaRole` to assign to the device. |
|
related |
Releases any resources associated with ptr
.
ptr
must either be null or initialized by aranya_client_init
.
|
related |
Releases any resources associated with ptr
.
ptr
must either be null or initialized by aranya_client_init
.
|
related |
Initializes a new client instance.
client | the uninitialized Aranya Client `AranyaClient`. |
config | the client's configuration `AranyaClientConfig`. |
|
related |
Initializes a new client instance.
client | the uninitialized Aranya Client `AranyaClient`. |
config | the client's configuration `AranyaClientConfig`. |
|
related |
Close the team and stop all operations on the graph.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
|
related |
Close the team and stop all operations on the graph.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
|
related |
Create a channel label.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
name | label name string `AranyaLabelName`. |
|
related |
Create a channel label.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
name | label name string `AranyaLabelName`. |
|
related |
Create a new graph/team with the current device as the owner.
client | the Aranya Client `AranyaClient`. |
cfg | the Team Configuration `AranyaTeamConfig`. |
__output | the team's ID `AranyaTeamId`. |
|
related |
Create a new graph/team with the current device as the owner.
client | the Aranya Client `AranyaClient`. |
cfg | the Team Configuration `AranyaTeamConfig`. |
__output | the team's ID `AranyaTeamId`. |
|
related |
Delete a channel label.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
label_id | the channel label ID `AranyaLabelId` to delete. |
|
related |
Delete a channel label.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
label_id | the channel label ID `AranyaLabelId` to delete. |
|
related |
Gets the public device ID.
client | the Aranya Client `AranyaClient`. |
__output | the client's device ID `AranyaDeviceId`. |
|
related |
Gets the public device ID.
client | the Aranya Client `AranyaClient`. |
__output | the client's device ID `AranyaDeviceId`. |
|
related |
Gets the public key bundle for this device.
client | the Aranya Client `AranyaClient`. |
keybundle | keybundle byte buffer KeyBundle . |
keybundle_len | returns the length of the serialized keybundle. |
|
related |
Gets the public key bundle for this device.
client | the Aranya Client `AranyaClient`. |
keybundle | keybundle byte buffer KeyBundle . |
keybundle_len | returns the length of the serialized keybundle. |
|
related |
Query device's AQC network identifier.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
network | identifier string `AranyaNetIdentifier`. |
|
related |
Query device's AQC network identifier.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
network | identifier string `AranyaNetIdentifier`. |
|
related |
Query device's keybundle.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
keybundle | keybundle byte buffer KeyBundle . |
keybundle_len | returns the length of the serialized keybundle. |
|
related |
Query device's keybundle.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
keybundle | keybundle byte buffer KeyBundle . |
keybundle_len | returns the length of the serialized keybundle. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
Output params:
labels | returns a list of labels assigned to the device `AranyaLabelId`. |
labels_len | returns the length of the labels list `AranyaLabelId`. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
Output params:
labels | returns a list of labels assigned to the device `AranyaLabelId`. |
labels_len | returns the length of the labels list `AranyaLabelId`. |
|
related |
Query devices on team.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
devices | returns a list of device IDs on the team `AranyaDeviceId`. |
devices_len | returns the length of the devices list `AranyaDeviceId`. |
|
related |
Query devices on team.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
devices | returns a list of device IDs on the team `AranyaDeviceId`. |
devices_len | returns the length of the devices list `AranyaDeviceId`. |
|
related |
Query if a label exists.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
label | the label `AranyaLabelId`. |
__output | boolean indicating whether the label exists. |
|
related |
Query if a label exists.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
label | the label `AranyaLabelId`. |
__output | boolean indicating whether the label exists. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
Output params:
labels | returns a list of labels `AranyaLabelId`. |
labels_len | returns the length of the labels list `AranyaLabelId`. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
Output params:
labels | returns a list of labels `AranyaLabelId`. |
labels_len | returns the length of the labels list `AranyaLabelId`. |
|
related |
Remove a device from the team.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
|
related |
Remove a device from the team.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
|
related |
Remove the peer from automatic Aranya state syncing.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
addr | the peer's Aranya network address `AranyaAddr`. |
|
related |
Remove the peer from automatic Aranya state syncing.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
addr | the peer's Aranya network address `AranyaAddr`. |
|
related |
Remove a team from the local device store.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
|
related |
Remove a team from the local device store.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
|
related |
Revoke a label from a device.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device ID `AranyaDeviceId` of the device to revoke the label from. |
label_id | the AQC channel label ID `AranyaLabelId`. |
|
related |
Revoke a label from a device.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device ID `AranyaDeviceId` of the device to revoke the label from. |
label_id | the AQC channel label ID `AranyaLabelId`. |
|
related |
Revoke a role from a device.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
role | the role `AranyaRole` to revoke from the device. |
|
related |
Revoke a role from a device.
Permission to perform this operation is checked against the Aranya policy.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
device | the device's ID `AranyaDeviceId`. |
role | the role `AranyaRole` to revoke from the device. |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
addr | the peer's Aranya network address `AranyaAddr`. |
config | configuration values for syncing with a peer. Default values for a sync config will be used if config is NULL |
|
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.
client | the Aranya Client `AranyaClient`. |
team | the team's ID `AranyaTeamId`. |
addr | the peer's Aranya network address `AranyaAddr`. |
config | configuration values for syncing with a peer. Default values for a sync config will be used if config is NULL |