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
aranya-client.h
Go to the documentation of this file.
1/*
2 * Copyright (c) SpiderOak, Inc. All rights reserved.
3 */
11#ifndef ARANYA_CLIENT_H
12#define ARANYA_CLIENT_H
13
14#pragma once
15
16/* Code generated by `capi`. DO NOT EDIT. */
17
18#include <stdbool.h>
19#include <stddef.h>
20#include <stdint.h>
21#include <sys/socket.h>
22
23#if defined(ENABLE_ARANYA_AFC) && !defined(ENABLE_ARANYA_PREVIEW)
24 #error "AFC is currently in preview. Set `ENABLE_ARANYA_PREVIEW` to opt into preview APIs."
25#endif
26
27#if defined(ENABLE_ARANYA_AQC) && !defined(ENABLE_ARANYA_EXPERIMENTAL)
28 #error "AQC is currently experimental. Set 'ENABLE_ARANYA_EXPERIMENTAL' to opt into experimental APIs."
29#endif
30
31#ifndef __has_attribute
32 #define __has_attribute(x) 0
33#endif /* __has_attribute */
34
35#if !defined(ARANYA_ALIGNED)
36 #if __has_attribute(aligned)
37 #define ARANYA_ALIGNED(n) __attribute__((aligned(n)))
38 #else
39 #error "compiler must support `aligned` attribute"
40 #endif
41#endif /* ARANYA_ALIGNED */
42
43#if !defined(ARANYA_DESIGNATED_INIT)
44 #if __has_attribute(designated_init)
45 #define ARANYA_DESIGNATED_INIT __attribute__((designated_init))
46 #else
47 #define ARANYA_DESIGNATED_INIT
48 #endif
49#endif /* ARANYA_DESIGNATED_INIT */
50
51#if !defined(ARANYA_MUST_USE)
52 #if __has_attribute(warn_unused_result)
53 #define ARANYA_MUST_USE __attribute__((warn_unused_result))
54 #else
55 #define ARANYA_MUST_USE
56 #endif
57#endif /* ARANYA_MUST_USE */
58
59#if !defined(ARANYA_NO_RETURN)
60 #if __has_attribute(noreturn)
61 #define ARANYA_NO_RETURN __attribute__((noreturn))
62 #else
63 #define ARANYA_NO_RETURN
64 #endif
65#endif /* ARANYA_NO_RETURN */
66
67#if !defined(ARANYA_NON_NULL)
68 #if defined(__gnu__)
69 #if __has_attribute(nonnull)
70 #define ARANYA_NON_NULL __attribute__((nonnull))
71 #endif
72 #elif defined(__clang__)
73 #define ARANYA_NON_NULL _Nonnull
74 #else
75 #define ARANYA_NON_NULL
76 #endif
77#endif /* ARANYA_NON_NULL */
78
79#if !defined(ARANYA_PACKED)
80 #if __has_attribute(packed)
81 #define ARANYA_PACKED __attribute__((packed))
82 #else
83 #define ARANYA_PACKED
84 #endif
85#endif /* ARANYA_PACKED */
86
87
88#define ARANYA_DURATION_SECONDS (1000 * ARANYA_DURATION_MILLISECONDS)
89
90#define ARANYA_DURATION_MILLISECONDS (1000 * ARANYA_DURATION_MICROSECONDS)
91
92#define ARANYA_DURATION_MICROSECONDS (1000 * ARANYA_DURATION_NANOSECONDS)
93
94#define ARANYA_DURATION_NANOSECONDS 1
95
99#define ARANYA_ID_LEN 32
100
104#define ARANYA_SEED_IKM_LEN 32
105
109#define ARANYA_ID_STR_LEN (((ARANYA_ID_LEN * 1375) / 1000) + 1)
110
111#if defined(ENABLE_ARANYA_AFC)
118#define ARANYA_AFC_CHANNEL_OVERHEAD 24
119#endif
120
121#if defined(ENABLE_ARANYA_AFC)
128#define ARANYA_AFC_CHANNEL_OVERHEAD 24
129#endif
130
131#if defined(ENABLE_ARANYA_AFC)
135enum AranyaAfcChannelType
136#ifdef __cplusplus
137 : uint8_t
138#endif // __cplusplus
139 {
140 ARANYA_AFC_CHANNEL_TYPE_BIDIRECTIONAL,
141 ARANYA_AFC_CHANNEL_TYPE_SENDER,
142 ARANYA_AFC_CHANNEL_TYPE_RECEIVER,
143};
144#ifndef __cplusplus
145typedef uint8_t AranyaAfcChannelType;
146#endif // __cplusplus
147#endif
148
149#if defined(ENABLE_ARANYA_AQC)
153enum AranyaAqcChannelType
154#ifdef __cplusplus
155 : uint8_t
156#endif // __cplusplus
157 {
158 ARANYA_AQC_CHANNEL_TYPE_BIDIRECTIONAL,
159 ARANYA_AQC_CHANNEL_TYPE_RECEIVER,
160};
161#ifndef __cplusplus
162typedef uint8_t AranyaAqcChannelType;
163#endif // __cplusplus
164#endif
165
170#ifdef __cplusplus
171 : uint8_t
172#endif // __cplusplus
173 {
189};
190#ifndef __cplusplus
191typedef uint8_t AranyaChanOp;
192#endif // __cplusplus
193
274#ifndef __cplusplus
275typedef uint32_t AranyaError;
276#endif // __cplusplus
277
282#ifdef __cplusplus
283 : uint8_t
284#endif // __cplusplus
285 {
302};
303#ifndef __cplusplus
304typedef uint8_t AranyaRole;
305#endif // __cplusplus
306
338typedef struct ARANYA_ALIGNED(8) AranyaExtError {
344 uint8_t __for_size_only[96];
346
350typedef struct ARANYA_ALIGNED(16) AranyaClient {
356 uint8_t __for_size_only[3728];
358
364typedef struct ARANYA_ALIGNED(8) AranyaClientConfig {
370 uint8_t __for_size_only[56];
372
376typedef struct AranyaId {
377 uint8_t bytes[ARANYA_ID_LEN];
379
383typedef struct AranyaDeviceId {
384 struct AranyaId id;
386
390typedef struct ARANYA_ALIGNED(8) AranyaClientConfigBuilder {
396 uint8_t __for_size_only[72];
398
399#if defined(ENABLE_ARANYA_AQC)
403typedef struct ARANYA_ALIGNED(8) AranyaAqcConfigBuilder {
409 uint8_t __for_size_only[24];
410} AranyaAqcConfigBuilder;
411#endif
412
413#if defined(ENABLE_ARANYA_AQC)
419typedef struct ARANYA_ALIGNED(8) AranyaAqcConfig {
425 uint8_t __for_size_only[40];
426} AranyaAqcConfig;
427#endif
428
434typedef struct ARANYA_ALIGNED(8) AranyaAddTeamQuicSyncConfigBuilder {
440 uint8_t __for_size_only[288];
442
448typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamQuicSyncConfigBuilder {
454 uint8_t __for_size_only[56];
456
460typedef struct AranyaSeedIkm {
461 uint8_t bytes[ARANYA_SEED_IKM_LEN];
463
469typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamQuicSyncConfig {
475 uint8_t __for_size_only[56];
477
483typedef struct ARANYA_ALIGNED(8) AranyaAddTeamQuicSyncConfig {
489 uint8_t __for_size_only[288];
491
495typedef struct ARANYA_ALIGNED(8) AranyaAddTeamConfigBuilder {
501 uint8_t __for_size_only[328];
503
507typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamConfigBuilder {
513 uint8_t __for_size_only[56];
515
519typedef struct AranyaTeamId {
520 struct AranyaId id;
522
528typedef struct ARANYA_ALIGNED(8) AranyaAddTeamConfig {
534 uint8_t __for_size_only[320];
536
542typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamConfig {
548 uint8_t __for_size_only[56];
550
554typedef struct ARANYA_ALIGNED(8) AranyaSyncPeerConfigBuilder {
560 uint8_t __for_size_only[40];
562
568typedef struct ARANYA_ALIGNED(8) AranyaSyncPeerConfig {
574 uint8_t __for_size_only[32];
576
580typedef uint64_t AranyaDuration;
581
587typedef const char *AranyaLabelName;
588
592typedef struct AranyaLabelId {
593 struct AranyaId id;
595
601typedef const char *AranyaAddr;
602
603#if defined(ENABLE_ARANYA_AQC)
609typedef const char *AranyaNetIdentifier;
610#endif
611
612#if defined(ENABLE_ARANYA_AQC)
620typedef struct ARANYA_ALIGNED(8) AranyaAqcPeerChannel {
626 uint8_t __for_size_only[168];
627} AranyaAqcPeerChannel;
628#endif
629
630#if defined(ENABLE_ARANYA_AQC)
634typedef struct ARANYA_ALIGNED(8) AranyaAqcBidiChannel {
640 uint8_t __for_size_only[160];
641} AranyaAqcBidiChannel;
642#endif
643
644#if defined(ENABLE_ARANYA_AQC)
648typedef struct ARANYA_ALIGNED(8) AranyaAqcSendChannel {
654 uint8_t __for_size_only[160];
655} AranyaAqcSendChannel;
656#endif
657
658#if defined(ENABLE_ARANYA_AQC)
662typedef struct ARANYA_ALIGNED(8) AranyaAqcReceiveChannel {
668 uint8_t __for_size_only[160];
669} AranyaAqcReceiveChannel;
670#endif
671
672#if defined(ENABLE_ARANYA_AQC)
676typedef struct ARANYA_ALIGNED(8) AranyaAqcBidiStream {
682 uint8_t __for_size_only[208];
683} AranyaAqcBidiStream;
684#endif
685
686#if defined(ENABLE_ARANYA_AQC)
690typedef struct ARANYA_ALIGNED(8) AranyaAqcSendStream {
696 uint8_t __for_size_only[176];
697} AranyaAqcSendStream;
698#endif
699
700#if defined(ENABLE_ARANYA_AQC)
704typedef struct ARANYA_ALIGNED(8) AranyaAqcReceiveStream {
710 uint8_t __for_size_only[208];
711} AranyaAqcReceiveStream;
712#endif
713
714#if defined(ENABLE_ARANYA_AFC)
723typedef struct ARANYA_ALIGNED(8) AranyaAfcChannel {
729 uint8_t __for_size_only[96];
730} AranyaAfcChannel;
731#endif
732
733#if defined(ENABLE_ARANYA_AFC)
740typedef struct ARANYA_ALIGNED(8) AranyaAfcCtrlMsg {
746 uint8_t __for_size_only[32];
747} AranyaAfcCtrlMsg;
748#endif
749
750#if defined(ENABLE_ARANYA_AFC)
756typedef struct ARANYA_ALIGNED(8) AranyaAfcSeq {
762 uint8_t __for_size_only[24];
763} AranyaAfcSeq;
764#endif
765
766#ifdef __cplusplus
767extern "C" {
768#endif // __cplusplus
769
779const char *aranya_error_to_str(uint32_t err);
780
790
800 struct AranyaExtError *__ext_err);
801
810
819 struct AranyaExtError *__ext_err);
820
841 char *msg,
842 size_t *msg_len);
843
864 char *msg,
865 size_t *msg_len,
866 struct AranyaExtError *__ext_err);
867
877 const struct AranyaClientConfig *config);
878
888 const struct AranyaClientConfig *config,
889 struct AranyaExtError *__ext_err);
890
899
908 struct AranyaExtError *__ext_err);
909
917
925
936 uint8_t *keybundle,
937 size_t *keybundle_len);
938
949 uint8_t *keybundle,
950 size_t *keybundle_len,
951 struct AranyaExtError *__ext_err);
952
965 char *str,
966 size_t *str_len);
967
975AranyaError aranya_id_from_str(const char *str, struct AranyaId *__output);
976
986 struct AranyaDeviceId *__output);
987
997 struct AranyaDeviceId *__output,
998 struct AranyaExtError *__ext_err);
999
1009
1019 struct AranyaExtError *__ext_err);
1020
1029
1038 struct AranyaExtError *__ext_err);
1039
1052 struct AranyaClientConfig *out);
1053
1066 struct AranyaClientConfig *out,
1067 struct AranyaExtError *__ext_err);
1068
1078 const char *address);
1079
1089 const char *address,
1090 struct AranyaExtError *__ext_err);
1091
1092#if defined(ENABLE_ARANYA_AQC)
1101AranyaError aranya_aqc_config_builder_init(struct AranyaAqcConfigBuilder *out);
1102#endif
1103
1104#if defined(ENABLE_ARANYA_AQC)
1113AranyaError aranya_aqc_config_builder_init_ext(struct AranyaAqcConfigBuilder *out,
1114 struct AranyaExtError *__ext_err);
1115#endif
1116
1117#if defined(ENABLE_ARANYA_AQC)
1125AranyaError aranya_aqc_config_builder_cleanup(struct AranyaAqcConfigBuilder *ptr);
1126#endif
1127
1128#if defined(ENABLE_ARANYA_AQC)
1136AranyaError aranya_aqc_config_builder_cleanup_ext(struct AranyaAqcConfigBuilder *ptr,
1137 struct AranyaExtError *__ext_err);
1138#endif
1139
1140#if defined(ENABLE_ARANYA_AQC)
1152AranyaError aranya_aqc_config_build(struct AranyaAqcConfigBuilder *cfg,
1153 struct AranyaAqcConfig *out);
1154#endif
1155
1156#if defined(ENABLE_ARANYA_AQC)
1168AranyaError aranya_aqc_config_build_ext(struct AranyaAqcConfigBuilder *cfg,
1169 struct AranyaAqcConfig *out,
1170 struct AranyaExtError *__ext_err);
1171#endif
1172
1173#if defined(ENABLE_ARANYA_AQC)
1183AranyaError aranya_aqc_config_builder_set_address(struct AranyaAqcConfigBuilder *cfg,
1184 const char *address);
1185#endif
1186
1187#if defined(ENABLE_ARANYA_AQC)
1197AranyaError aranya_aqc_config_builder_set_address_ext(struct AranyaAqcConfigBuilder *cfg,
1198 const char *address,
1199 struct AranyaExtError *__ext_err);
1200#endif
1201
1202#if defined(ENABLE_ARANYA_AQC)
1211AranyaError aranya_client_config_builder_set_aqc_config(struct AranyaClientConfigBuilder *cfg,
1212 const struct AranyaAqcConfig *aqc_config);
1213#endif
1214
1215#if defined(ENABLE_ARANYA_AQC)
1224AranyaError aranya_client_config_builder_set_aqc_config_ext(struct AranyaClientConfigBuilder *cfg,
1225 const struct AranyaAqcConfig *aqc_config,
1226 struct AranyaExtError *__ext_err);
1227#endif
1228
1238
1248 struct AranyaExtError *__ext_err);
1249
1258
1267 struct AranyaExtError *__ext_err);
1268
1278
1288 struct AranyaExtError *__ext_err);
1289
1298
1307 struct AranyaExtError *__ext_err);
1308
1319
1330 struct AranyaExtError *__ext_err);
1331
1343 const uint8_t *encap_seed,
1344 size_t encap_seed_len);
1345
1357 const uint8_t *encap_seed,
1358 size_t encap_seed_len,
1359 struct AranyaExtError *__ext_err);
1360
1372 const struct AranyaSeedIkm *ikm);
1373
1385 const struct AranyaSeedIkm *ikm,
1386 struct AranyaExtError *__ext_err);
1387
1399 const struct AranyaSeedIkm *ikm);
1400
1412 const struct AranyaSeedIkm *ikm,
1413 struct AranyaExtError *__ext_err);
1414
1427 struct AranyaCreateTeamQuicSyncConfig *out);
1428
1442 struct AranyaExtError *__ext_err);
1443
1456 struct AranyaAddTeamQuicSyncConfig *out);
1457
1470 struct AranyaAddTeamQuicSyncConfig *out,
1471 struct AranyaExtError *__ext_err);
1472
1482
1492 struct AranyaExtError *__ext_err);
1493
1502
1511 struct AranyaExtError *__ext_err);
1512
1522
1532 struct AranyaExtError *__ext_err);
1533
1542
1551 struct AranyaExtError *__ext_err);
1552
1564 struct AranyaAddTeamQuicSyncConfig *quic);
1565
1577 struct AranyaAddTeamQuicSyncConfig *quic,
1578 struct AranyaExtError *__ext_err);
1579
1591 const struct AranyaTeamId *team_id);
1592
1604 const struct AranyaTeamId *team_id,
1605 struct AranyaExtError *__ext_err);
1606
1619 struct AranyaAddTeamConfig *out);
1620
1633 struct AranyaAddTeamConfig *out,
1634 struct AranyaExtError *__ext_err);
1635
1647 struct AranyaCreateTeamQuicSyncConfig *quic);
1648
1660 struct AranyaCreateTeamQuicSyncConfig *quic,
1661 struct AranyaExtError *__ext_err);
1662
1675 struct AranyaCreateTeamConfig *out);
1676
1689 struct AranyaCreateTeamConfig *out,
1690 struct AranyaExtError *__ext_err);
1691
1701
1711 struct AranyaExtError *__ext_err);
1712
1721
1730 struct AranyaExtError *__ext_err);
1731
1744 struct AranyaSyncPeerConfig *out);
1745
1758 struct AranyaSyncPeerConfig *out,
1759 struct AranyaExtError *__ext_err);
1760
1774 AranyaDuration interval);
1775
1789 AranyaDuration interval,
1790 struct AranyaExtError *__ext_err);
1791
1804
1817 struct AranyaExtError *__ext_err);
1818
1830
1842 struct AranyaExtError *__ext_err);
1843
1859 const struct AranyaTeamId *team,
1860 const struct AranyaDeviceId *device,
1861 AranyaRole role);
1862
1878 const struct AranyaTeamId *team,
1879 const struct AranyaDeviceId *device,
1880 AranyaRole role,
1881 struct AranyaExtError *__ext_err);
1882
1896 const struct AranyaTeamId *team,
1897 const struct AranyaDeviceId *device,
1898 AranyaRole role);
1899
1913 const struct AranyaTeamId *team,
1914 const struct AranyaDeviceId *device,
1915 AranyaRole role,
1916 struct AranyaExtError *__ext_err);
1917
1930 const struct AranyaTeamId *team,
1931 AranyaLabelName name,
1932 struct AranyaLabelId *__output);
1933
1946 const struct AranyaTeamId *team,
1947 AranyaLabelName name,
1948 struct AranyaLabelId *__output,
1949 struct AranyaExtError *__ext_err);
1950
1963 const struct AranyaTeamId *team,
1964 const struct AranyaLabelId *label_id);
1965
1978 const struct AranyaTeamId *team,
1979 const struct AranyaLabelId *label_id,
1980 struct AranyaExtError *__ext_err);
1981
1995 const struct AranyaTeamId *team,
1996 const struct AranyaDeviceId *device,
1997 const struct AranyaLabelId *label_id,
1998 AranyaChanOp op);
1999
2013 const struct AranyaTeamId *team,
2014 const struct AranyaDeviceId *device,
2015 const struct AranyaLabelId *label_id,
2016 AranyaChanOp op,
2017 struct AranyaExtError *__ext_err);
2018
2032 const struct AranyaTeamId *team,
2033 const struct AranyaDeviceId *device,
2034 const struct AranyaLabelId *label_id);
2035
2049 const struct AranyaTeamId *team,
2050 const struct AranyaDeviceId *device,
2051 const struct AranyaLabelId *label_id,
2052 struct AranyaExtError *__ext_err);
2053
2064 const struct AranyaCreateTeamConfig *cfg,
2065 struct AranyaTeamId *__output);
2066
2077 const struct AranyaCreateTeamConfig *cfg,
2078 struct AranyaTeamId *__output,
2079 struct AranyaExtError *__ext_err);
2080
2093 uint8_t *buf,
2094 size_t buf_len);
2095
2108 uint8_t *buf,
2109 size_t buf_len,
2110 struct AranyaExtError *__ext_err);
2111
2133 const struct AranyaTeamId *team_id,
2134 const uint8_t *keybundle,
2135 size_t keybundle_len,
2136 uint8_t *seed,
2137 size_t *seed_len);
2138
2160 const struct AranyaTeamId *team_id,
2161 const uint8_t *keybundle,
2162 size_t keybundle_len,
2163 uint8_t *seed,
2164 size_t *seed_len,
2165 struct AranyaExtError *__ext_err);
2166
2176 const struct AranyaAddTeamConfig *cfg);
2177
2187 const struct AranyaAddTeamConfig *cfg,
2188 struct AranyaExtError *__ext_err);
2189
2199 const struct AranyaTeamId *team);
2200
2210 const struct AranyaTeamId *team,
2211 struct AranyaExtError *__ext_err);
2212
2222 const struct AranyaTeamId *team);
2223
2233 const struct AranyaTeamId *team,
2234 struct AranyaExtError *__ext_err);
2235
2249 const struct AranyaTeamId *team,
2250 const uint8_t *keybundle,
2251 size_t keybundle_len);
2252
2266 const struct AranyaTeamId *team,
2267 const uint8_t *keybundle,
2268 size_t keybundle_len,
2269 struct AranyaExtError *__ext_err);
2270
2283 const struct AranyaTeamId *team,
2284 const struct AranyaDeviceId *device);
2285
2298 const struct AranyaTeamId *team,
2299 const struct AranyaDeviceId *device,
2300 struct AranyaExtError *__ext_err);
2301
2317 const struct AranyaTeamId *team,
2318 AranyaAddr addr,
2319 const struct AranyaSyncPeerConfig *config);
2320
2336 const struct AranyaTeamId *team,
2337 AranyaAddr addr,
2338 const struct AranyaSyncPeerConfig *config,
2339 struct AranyaExtError *__ext_err);
2340
2351 const struct AranyaTeamId *team,
2352 AranyaAddr addr);
2353
2364 const struct AranyaTeamId *team,
2365 AranyaAddr addr,
2366 struct AranyaExtError *__ext_err);
2367
2389 const struct AranyaTeamId *team,
2390 AranyaAddr addr,
2391 const struct AranyaSyncPeerConfig *config);
2392
2414 const struct AranyaTeamId *team,
2415 AranyaAddr addr,
2416 const struct AranyaSyncPeerConfig *config,
2417 struct AranyaExtError *__ext_err);
2418
2430 const struct AranyaTeamId *team,
2431 struct AranyaDeviceId *devices,
2432 size_t *devices_len);
2433
2445 const struct AranyaTeamId *team,
2446 struct AranyaDeviceId *devices,
2447 size_t *devices_len,
2448 struct AranyaExtError *__ext_err);
2449
2462 const struct AranyaTeamId *team,
2463 const struct AranyaDeviceId *device,
2464 uint8_t *keybundle,
2465 size_t *keybundle_len);
2466
2479 const struct AranyaTeamId *team,
2480 const struct AranyaDeviceId *device,
2481 uint8_t *keybundle,
2482 size_t *keybundle_len,
2483 struct AranyaExtError *__ext_err);
2484
2501 const struct AranyaTeamId *team,
2502 const struct AranyaDeviceId *device,
2503 struct AranyaLabelId *labels,
2504 size_t *labels_len);
2505
2522 const struct AranyaTeamId *team,
2523 const struct AranyaDeviceId *device,
2524 struct AranyaLabelId *labels,
2525 size_t *labels_len,
2526 struct AranyaExtError *__ext_err);
2527
2543 const struct AranyaTeamId *team,
2544 struct AranyaLabelId *labels,
2545 size_t *labels_len);
2546
2562 const struct AranyaTeamId *team,
2563 struct AranyaLabelId *labels,
2564 size_t *labels_len,
2565 struct AranyaExtError *__ext_err);
2566
2579 const struct AranyaTeamId *team,
2580 const struct AranyaLabelId *label,
2581 bool *__output);
2582
2595 const struct AranyaTeamId *team,
2596 const struct AranyaLabelId *label,
2597 bool *__output,
2598 struct AranyaExtError *__ext_err);
2599
2600#if defined(ENABLE_ARANYA_AQC)
2612AranyaError aranya_query_aqc_net_identifier(const struct AranyaClient *client,
2613 const struct AranyaTeamId *team,
2614 const struct AranyaDeviceId *device,
2615 char *ident,
2616 size_t *ident_len,
2617 bool *__output);
2618#endif
2619
2620#if defined(ENABLE_ARANYA_AQC)
2632AranyaError aranya_query_aqc_net_identifier_ext(const struct AranyaClient *client,
2633 const struct AranyaTeamId *team,
2634 const struct AranyaDeviceId *device,
2635 char *ident,
2636 size_t *ident_len,
2637 bool *__output,
2638 struct AranyaExtError *__ext_err);
2639#endif
2640
2641#if defined(ENABLE_ARANYA_AQC)
2658AranyaError aranya_aqc_assign_net_identifier(const struct AranyaClient *client,
2659 const struct AranyaTeamId *team,
2660 const struct AranyaDeviceId *device,
2661 AranyaNetIdentifier net_identifier);
2662#endif
2663
2664#if defined(ENABLE_ARANYA_AQC)
2681AranyaError aranya_aqc_assign_net_identifier_ext(const struct AranyaClient *client,
2682 const struct AranyaTeamId *team,
2683 const struct AranyaDeviceId *device,
2684 AranyaNetIdentifier net_identifier,
2685 struct AranyaExtError *__ext_err);
2686#endif
2687
2688#if defined(ENABLE_ARANYA_AQC)
2701AranyaError aranya_aqc_remove_net_identifier(const struct AranyaClient *client,
2702 const struct AranyaTeamId *team,
2703 const struct AranyaDeviceId *device,
2704 AranyaNetIdentifier net_identifier);
2705#endif
2706
2707#if defined(ENABLE_ARANYA_AQC)
2720AranyaError aranya_aqc_remove_net_identifier_ext(const struct AranyaClient *client,
2721 const struct AranyaTeamId *team,
2722 const struct AranyaDeviceId *device,
2723 AranyaNetIdentifier net_identifier,
2724 struct AranyaExtError *__ext_err);
2725#endif
2726
2727#if defined(ENABLE_ARANYA_AQC)
2735AranyaError aranya_aqc_peer_channel_cleanup(struct AranyaAqcPeerChannel *ptr);
2736#endif
2737
2738#if defined(ENABLE_ARANYA_AQC)
2746AranyaError aranya_aqc_peer_channel_cleanup_ext(struct AranyaAqcPeerChannel *ptr,
2747 struct AranyaExtError *__ext_err);
2748#endif
2749
2750#if defined(ENABLE_ARANYA_AQC)
2758AranyaError aranya_aqc_bidi_channel_cleanup(struct AranyaAqcBidiChannel *ptr);
2759#endif
2760
2761#if defined(ENABLE_ARANYA_AQC)
2769AranyaError aranya_aqc_bidi_channel_cleanup_ext(struct AranyaAqcBidiChannel *ptr,
2770 struct AranyaExtError *__ext_err);
2771#endif
2772
2773#if defined(ENABLE_ARANYA_AQC)
2781AranyaError aranya_aqc_send_channel_cleanup(struct AranyaAqcSendChannel *ptr);
2782#endif
2783
2784#if defined(ENABLE_ARANYA_AQC)
2792AranyaError aranya_aqc_send_channel_cleanup_ext(struct AranyaAqcSendChannel *ptr,
2793 struct AranyaExtError *__ext_err);
2794#endif
2795
2796#if defined(ENABLE_ARANYA_AQC)
2804AranyaError aranya_aqc_receive_channel_cleanup(struct AranyaAqcReceiveChannel *ptr);
2805#endif
2806
2807#if defined(ENABLE_ARANYA_AQC)
2815AranyaError aranya_aqc_receive_channel_cleanup_ext(struct AranyaAqcReceiveChannel *ptr,
2816 struct AranyaExtError *__ext_err);
2817#endif
2818
2819#if defined(ENABLE_ARANYA_AQC)
2827AranyaError aranya_aqc_bidi_stream_cleanup(struct AranyaAqcBidiStream *ptr);
2828#endif
2829
2830#if defined(ENABLE_ARANYA_AQC)
2838AranyaError aranya_aqc_bidi_stream_cleanup_ext(struct AranyaAqcBidiStream *ptr,
2839 struct AranyaExtError *__ext_err);
2840#endif
2841
2842#if defined(ENABLE_ARANYA_AQC)
2850AranyaError aranya_aqc_send_stream_cleanup(struct AranyaAqcSendStream *ptr);
2851#endif
2852
2853#if defined(ENABLE_ARANYA_AQC)
2861AranyaError aranya_aqc_send_stream_cleanup_ext(struct AranyaAqcSendStream *ptr,
2862 struct AranyaExtError *__ext_err);
2863#endif
2864
2865#if defined(ENABLE_ARANYA_AQC)
2873AranyaError aranya_aqc_receive_stream_cleanup(struct AranyaAqcReceiveStream *ptr);
2874#endif
2875
2876#if defined(ENABLE_ARANYA_AQC)
2884AranyaError aranya_aqc_receive_stream_cleanup_ext(struct AranyaAqcReceiveStream *ptr,
2885 struct AranyaExtError *__ext_err);
2886#endif
2887
2888#if defined(ENABLE_ARANYA_AQC)
2902AranyaError aranya_aqc_create_bidi_channel(const struct AranyaClient *client,
2903 const struct AranyaTeamId *team,
2904 AranyaNetIdentifier peer,
2905 const struct AranyaLabelId *label_id,
2906 struct AranyaAqcBidiChannel *channel);
2907#endif
2908
2909#if defined(ENABLE_ARANYA_AQC)
2923AranyaError aranya_aqc_create_bidi_channel_ext(const struct AranyaClient *client,
2924 const struct AranyaTeamId *team,
2925 AranyaNetIdentifier peer,
2926 const struct AranyaLabelId *label_id,
2927 struct AranyaAqcBidiChannel *channel,
2928 struct AranyaExtError *__ext_err);
2929#endif
2930
2931#if defined(ENABLE_ARANYA_AQC)
2945AranyaError aranya_aqc_create_uni_channel(const struct AranyaClient *client,
2946 const struct AranyaTeamId *team,
2947 AranyaNetIdentifier peer,
2948 const struct AranyaLabelId *label_id,
2949 struct AranyaAqcSendChannel *channel);
2950#endif
2951
2952#if defined(ENABLE_ARANYA_AQC)
2966AranyaError aranya_aqc_create_uni_channel_ext(const struct AranyaClient *client,
2967 const struct AranyaTeamId *team,
2968 AranyaNetIdentifier peer,
2969 const struct AranyaLabelId *label_id,
2970 struct AranyaAqcSendChannel *channel,
2971 struct AranyaExtError *__ext_err);
2972#endif
2973
2974#if defined(ENABLE_ARANYA_AQC)
2985AranyaError aranya_aqc_delete_bidi_channel(const struct AranyaClient *client,
2986 struct AranyaAqcBidiChannel *channel);
2987#endif
2988
2989#if defined(ENABLE_ARANYA_AQC)
3000AranyaError aranya_aqc_delete_bidi_channel_ext(const struct AranyaClient *client,
3001 struct AranyaAqcBidiChannel *channel,
3002 struct AranyaExtError *__ext_err);
3003#endif
3004
3005#if defined(ENABLE_ARANYA_AQC)
3016AranyaError aranya_aqc_delete_send_uni_channel(const struct AranyaClient *client,
3017 struct AranyaAqcSendChannel *channel);
3018#endif
3019
3020#if defined(ENABLE_ARANYA_AQC)
3031AranyaError aranya_aqc_delete_send_uni_channel_ext(const struct AranyaClient *client,
3032 struct AranyaAqcSendChannel *channel,
3033 struct AranyaExtError *__ext_err);
3034#endif
3035
3036#if defined(ENABLE_ARANYA_AQC)
3047AranyaError aranya_aqc_delete_receive_uni_channel(const struct AranyaClient *client,
3048 struct AranyaAqcReceiveChannel *channel);
3049#endif
3050
3051#if defined(ENABLE_ARANYA_AQC)
3062AranyaError aranya_aqc_delete_receive_uni_channel_ext(const struct AranyaClient *client,
3063 struct AranyaAqcReceiveChannel *channel,
3064 struct AranyaExtError *__ext_err);
3065#endif
3066
3067#if defined(ENABLE_ARANYA_AQC)
3098AranyaError aranya_aqc_try_receive_channel(const struct AranyaClient *client,
3099 struct AranyaAqcPeerChannel *channel,
3100 AranyaAqcChannelType *__output);
3101#endif
3102
3103#if defined(ENABLE_ARANYA_AQC)
3134AranyaError aranya_aqc_try_receive_channel_ext(const struct AranyaClient *client,
3135 struct AranyaAqcPeerChannel *channel,
3136 AranyaAqcChannelType *__output,
3137 struct AranyaExtError *__ext_err);
3138#endif
3139
3140#if defined(ENABLE_ARANYA_AQC)
3153AranyaError aranya_aqc_get_bidi_channel(struct AranyaAqcPeerChannel *channel,
3154 struct AranyaAqcBidiChannel *bidi);
3155#endif
3156
3157#if defined(ENABLE_ARANYA_AQC)
3170AranyaError aranya_aqc_get_bidi_channel_ext(struct AranyaAqcPeerChannel *channel,
3171 struct AranyaAqcBidiChannel *bidi,
3172 struct AranyaExtError *__ext_err);
3173#endif
3174
3175#if defined(ENABLE_ARANYA_AQC)
3188AranyaError aranya_aqc_get_receive_channel(struct AranyaAqcPeerChannel *channel,
3189 struct AranyaAqcReceiveChannel *receiver);
3190#endif
3191
3192#if defined(ENABLE_ARANYA_AQC)
3205AranyaError aranya_aqc_get_receive_channel_ext(struct AranyaAqcPeerChannel *channel,
3206 struct AranyaAqcReceiveChannel *receiver,
3207 struct AranyaExtError *__ext_err);
3208#endif
3209
3210#if defined(ENABLE_ARANYA_AQC)
3223AranyaError aranya_aqc_bidi_create_bidi_stream(const struct AranyaClient *client,
3224 struct AranyaAqcBidiChannel *channel,
3225 struct AranyaAqcBidiStream *stream);
3226#endif
3227
3228#if defined(ENABLE_ARANYA_AQC)
3241AranyaError aranya_aqc_bidi_create_bidi_stream_ext(const struct AranyaClient *client,
3242 struct AranyaAqcBidiChannel *channel,
3243 struct AranyaAqcBidiStream *stream,
3244 struct AranyaExtError *__ext_err);
3245#endif
3246
3247#if defined(ENABLE_ARANYA_AQC)
3258AranyaError aranya_aqc_bidi_stream_send(const struct AranyaClient *client,
3259 struct AranyaAqcBidiStream *stream,
3260 const uint8_t *data,
3261 size_t data_len);
3262#endif
3263
3264#if defined(ENABLE_ARANYA_AQC)
3275AranyaError aranya_aqc_bidi_stream_send_ext(const struct AranyaClient *client,
3276 struct AranyaAqcBidiStream *stream,
3277 const uint8_t *data,
3278 size_t data_len,
3279 struct AranyaExtError *__ext_err);
3280#endif
3281
3282#if defined(ENABLE_ARANYA_AQC)
3295AranyaError aranya_aqc_bidi_stream_try_recv(struct AranyaAqcBidiStream *stream,
3296 uint8_t *buffer,
3297 size_t *buffer_len);
3298#endif
3299
3300#if defined(ENABLE_ARANYA_AQC)
3313AranyaError aranya_aqc_bidi_stream_try_recv_ext(struct AranyaAqcBidiStream *stream,
3314 uint8_t *buffer,
3315 size_t *buffer_len,
3316 struct AranyaExtError *__ext_err);
3317#endif
3318
3319#if defined(ENABLE_ARANYA_AQC)
3332AranyaError aranya_aqc_bidi_create_uni_stream(const struct AranyaClient *client,
3333 struct AranyaAqcBidiChannel *channel,
3334 struct AranyaAqcSendStream *stream);
3335#endif
3336
3337#if defined(ENABLE_ARANYA_AQC)
3350AranyaError aranya_aqc_bidi_create_uni_stream_ext(const struct AranyaClient *client,
3351 struct AranyaAqcBidiChannel *channel,
3352 struct AranyaAqcSendStream *stream,
3353 struct AranyaExtError *__ext_err);
3354#endif
3355
3356#if defined(ENABLE_ARANYA_AQC)
3375AranyaError aranya_aqc_bidi_try_receive_stream(struct AranyaAqcBidiChannel *channel,
3376 struct AranyaAqcReceiveStream *recv_stream,
3377 struct AranyaAqcSendStream *send_stream,
3378 bool *send_init);
3379#endif
3380
3381#if defined(ENABLE_ARANYA_AQC)
3400AranyaError aranya_aqc_bidi_try_receive_stream_ext(struct AranyaAqcBidiChannel *channel,
3401 struct AranyaAqcReceiveStream *recv_stream,
3402 struct AranyaAqcSendStream *send_stream,
3403 bool *send_init,
3404 struct AranyaExtError *__ext_err);
3405#endif
3406
3407#if defined(ENABLE_ARANYA_AQC)
3420AranyaError aranya_aqc_send_create_uni_stream(const struct AranyaClient *client,
3421 struct AranyaAqcSendChannel *channel,
3422 struct AranyaAqcSendStream *stream);
3423#endif
3424
3425#if defined(ENABLE_ARANYA_AQC)
3438AranyaError aranya_aqc_send_create_uni_stream_ext(const struct AranyaClient *client,
3439 struct AranyaAqcSendChannel *channel,
3440 struct AranyaAqcSendStream *stream,
3441 struct AranyaExtError *__ext_err);
3442#endif
3443
3444#if defined(ENABLE_ARANYA_AQC)
3459AranyaError aranya_aqc_recv_try_receive_uni_stream(struct AranyaAqcReceiveChannel *channel,
3460 struct AranyaAqcReceiveStream *stream);
3461#endif
3462
3463#if defined(ENABLE_ARANYA_AQC)
3478AranyaError aranya_aqc_recv_try_receive_uni_stream_ext(struct AranyaAqcReceiveChannel *channel,
3479 struct AranyaAqcReceiveStream *stream,
3480 struct AranyaExtError *__ext_err);
3481#endif
3482
3483#if defined(ENABLE_ARANYA_AQC)
3494AranyaError aranya_aqc_send_stream_send(const struct AranyaClient *client,
3495 struct AranyaAqcSendStream *stream,
3496 const uint8_t *data,
3497 size_t data_len);
3498#endif
3499
3500#if defined(ENABLE_ARANYA_AQC)
3511AranyaError aranya_aqc_send_stream_send_ext(const struct AranyaClient *client,
3512 struct AranyaAqcSendStream *stream,
3513 const uint8_t *data,
3514 size_t data_len,
3515 struct AranyaExtError *__ext_err);
3516#endif
3517
3518#if defined(ENABLE_ARANYA_AQC)
3531AranyaError aranya_aqc_recv_stream_try_recv(struct AranyaAqcReceiveStream *stream,
3532 uint8_t *buffer,
3533 size_t *buffer_len);
3534#endif
3535
3536#if defined(ENABLE_ARANYA_AQC)
3549AranyaError aranya_aqc_recv_stream_try_recv_ext(struct AranyaAqcReceiveStream *stream,
3550 uint8_t *buffer,
3551 size_t *buffer_len,
3552 struct AranyaExtError *__ext_err);
3553#endif
3554
3555#if defined(ENABLE_ARANYA_AFC)
3563AranyaError aranya_afc_channel_cleanup(struct AranyaAfcChannel *ptr);
3564#endif
3565
3566#if defined(ENABLE_ARANYA_AFC)
3574AranyaError aranya_afc_channel_cleanup_ext(struct AranyaAfcChannel *ptr,
3575 struct AranyaExtError *__ext_err);
3576#endif
3577
3578#if defined(ENABLE_ARANYA_AFC)
3586AranyaError aranya_afc_ctrl_msg_cleanup(struct AranyaAfcCtrlMsg *ptr);
3587#endif
3588
3589#if defined(ENABLE_ARANYA_AFC)
3597AranyaError aranya_afc_ctrl_msg_cleanup_ext(struct AranyaAfcCtrlMsg *ptr,
3598 struct AranyaExtError *__ext_err);
3599#endif
3600
3601#if defined(ENABLE_ARANYA_AFC)
3609AranyaError aranya_afc_seq_cleanup(struct AranyaAfcSeq *ptr);
3610#endif
3611
3612#if defined(ENABLE_ARANYA_AFC)
3620AranyaError aranya_afc_seq_cleanup_ext(struct AranyaAfcSeq *ptr,
3621 struct AranyaExtError *__ext_err);
3622#endif
3623
3624#if defined(ENABLE_ARANYA_AFC)
3644AranyaError aranya_afc_create_bidi_channel(const struct AranyaClient *client,
3645 const struct AranyaTeamId *team_id,
3646 const struct AranyaDeviceId *peer_id,
3647 const struct AranyaLabelId *label_id,
3648 struct AranyaAfcChannel *channel,
3649 struct AranyaAfcCtrlMsg *control);
3650#endif
3651
3652#if defined(ENABLE_ARANYA_AFC)
3672AranyaError aranya_afc_create_bidi_channel_ext(const struct AranyaClient *client,
3673 const struct AranyaTeamId *team_id,
3674 const struct AranyaDeviceId *peer_id,
3675 const struct AranyaLabelId *label_id,
3676 struct AranyaAfcChannel *channel,
3677 struct AranyaAfcCtrlMsg *control,
3678 struct AranyaExtError *__ext_err);
3679#endif
3680
3681#if defined(ENABLE_ARANYA_AFC)
3701AranyaError aranya_afc_create_uni_send_channel(const struct AranyaClient *client,
3702 const struct AranyaTeamId *team_id,
3703 const struct AranyaDeviceId *peer_id,
3704 const struct AranyaLabelId *label_id,
3705 struct AranyaAfcChannel *channel,
3706 struct AranyaAfcCtrlMsg *control);
3707#endif
3708
3709#if defined(ENABLE_ARANYA_AFC)
3729AranyaError aranya_afc_create_uni_send_channel_ext(const struct AranyaClient *client,
3730 const struct AranyaTeamId *team_id,
3731 const struct AranyaDeviceId *peer_id,
3732 const struct AranyaLabelId *label_id,
3733 struct AranyaAfcChannel *channel,
3734 struct AranyaAfcCtrlMsg *control,
3735 struct AranyaExtError *__ext_err);
3736#endif
3737
3738#if defined(ENABLE_ARANYA_AFC)
3758AranyaError aranya_afc_create_uni_recv_channel(const struct AranyaClient *client,
3759 const struct AranyaTeamId *team_id,
3760 const struct AranyaDeviceId *peer_id,
3761 const struct AranyaLabelId *label_id,
3762 struct AranyaAfcChannel *channel,
3763 struct AranyaAfcCtrlMsg *control);
3764#endif
3765
3766#if defined(ENABLE_ARANYA_AFC)
3786AranyaError aranya_afc_create_uni_recv_channel_ext(const struct AranyaClient *client,
3787 const struct AranyaTeamId *team_id,
3788 const struct AranyaDeviceId *peer_id,
3789 const struct AranyaLabelId *label_id,
3790 struct AranyaAfcChannel *channel,
3791 struct AranyaAfcCtrlMsg *control,
3792 struct AranyaExtError *__ext_err);
3793#endif
3794
3795#if defined(ENABLE_ARANYA_AFC)
3807AranyaError aranya_afc_recv_ctrl(const struct AranyaClient *client,
3808 const struct AranyaTeamId *team_id,
3809 const uint8_t *control,
3810 size_t control_len,
3811 struct AranyaAfcChannel *channel,
3812 AranyaAfcChannelType *__output);
3813#endif
3814
3815#if defined(ENABLE_ARANYA_AFC)
3827AranyaError aranya_afc_recv_ctrl_ext(const struct AranyaClient *client,
3828 const struct AranyaTeamId *team_id,
3829 const uint8_t *control,
3830 size_t control_len,
3831 struct AranyaAfcChannel *channel,
3832 AranyaAfcChannelType *__output,
3833 struct AranyaExtError *__ext_err);
3834#endif
3835
3836#if defined(ENABLE_ARANYA_AFC)
3843AranyaError aranya_afc_get_channel_type(const struct AranyaAfcChannel *channel,
3844 AranyaAfcChannelType *__output);
3845#endif
3846
3847#if defined(ENABLE_ARANYA_AFC)
3854AranyaError aranya_afc_get_channel_type_ext(const struct AranyaAfcChannel *channel,
3855 AranyaAfcChannelType *__output,
3856 struct AranyaExtError *__ext_err);
3857#endif
3858
3859#if defined(ENABLE_ARANYA_AFC)
3866AranyaError aranya_afc_get_label_id(const struct AranyaAfcChannel *channel,
3867 struct AranyaLabelId *__output);
3868#endif
3869
3870#if defined(ENABLE_ARANYA_AFC)
3877AranyaError aranya_afc_get_label_id_ext(const struct AranyaAfcChannel *channel,
3878 struct AranyaLabelId *__output,
3879 struct AranyaExtError *__ext_err);
3880#endif
3881
3882#if defined(ENABLE_ARANYA_AFC)
3892AranyaError aranya_afc_ctrl_msg_get_bytes(const struct AranyaAfcCtrlMsg *control,
3893 const uint8_t **ptr,
3894 size_t *len);
3895#endif
3896
3897#if defined(ENABLE_ARANYA_AFC)
3907AranyaError aranya_afc_ctrl_msg_get_bytes_ext(const struct AranyaAfcCtrlMsg *control,
3908 const uint8_t **ptr,
3909 size_t *len,
3910 struct AranyaExtError *__ext_err);
3911#endif
3912
3913#if defined(ENABLE_ARANYA_AFC)
3921AranyaError aranya_afc_seq_cmp(const struct AranyaAfcSeq *seq1,
3922 const struct AranyaAfcSeq *seq2,
3923 int *__output);
3924#endif
3925
3926#if defined(ENABLE_ARANYA_AFC)
3934AranyaError aranya_afc_seq_cmp_ext(const struct AranyaAfcSeq *seq1,
3935 const struct AranyaAfcSeq *seq2,
3936 int *__output,
3937 struct AranyaExtError *__ext_err);
3938#endif
3939
3940#if defined(ENABLE_ARANYA_AFC)
3951AranyaError aranya_afc_channel_seal(const struct AranyaAfcChannel *channel,
3952 const uint8_t *plaintext,
3953 size_t plaintext_len,
3954 uint8_t *dst,
3955 size_t *dst_len);
3956#endif
3957
3958#if defined(ENABLE_ARANYA_AFC)
3969AranyaError aranya_afc_channel_seal_ext(const struct AranyaAfcChannel *channel,
3970 const uint8_t *plaintext,
3971 size_t plaintext_len,
3972 uint8_t *dst,
3973 size_t *dst_len,
3974 struct AranyaExtError *__ext_err);
3975#endif
3976
3977#if defined(ENABLE_ARANYA_AFC)
3989AranyaError aranya_afc_channel_open(const struct AranyaAfcChannel *channel,
3990 const uint8_t *ciphertext,
3991 size_t ciphertext_len,
3992 uint8_t *dst,
3993 size_t *dst_len,
3994 struct AranyaAfcSeq *seq);
3995#endif
3996
3997#if defined(ENABLE_ARANYA_AFC)
4009AranyaError aranya_afc_channel_open_ext(const struct AranyaAfcChannel *channel,
4010 const uint8_t *ciphertext,
4011 size_t ciphertext_len,
4012 uint8_t *dst,
4013 size_t *dst_len,
4014 struct AranyaAfcSeq *seq,
4015 struct AranyaExtError *__ext_err);
4016#endif
4017
4018#if defined(ENABLE_ARANYA_AFC)
4030AranyaError aranya_afc_channel_delete(const struct AranyaClient *client,
4031 struct AranyaAfcChannel *channel);
4032#endif
4033
4034#if defined(ENABLE_ARANYA_AFC)
4046AranyaError aranya_afc_channel_delete_ext(const struct AranyaClient *client,
4047 struct AranyaAfcChannel *channel,
4048 struct AranyaExtError *__ext_err);
4049#endif
4050
4051#ifdef __cplusplus
4052} // extern "C"
4053#endif // __cplusplus
4054
4055#endif /* ARANYA_CLIENT_H */
4056
4057
#define ARANYA_SEED_IKM_LEN
The size in bytes of a PSK seed IKM.
Definition aranya-client.h:104
#define ARANYA_ID_LEN
The size in bytes of an ID.
Definition aranya-client.h:99
uint64_t AranyaDuration
A type to represent a span of time in nanoseconds.
Definition aranya-client.h:580
const char * AranyaAddr
A network socket address for an Aranya client.
Definition aranya-client.h:601
AranyaError aranya_init_logging(void)
Initializes logging.
const char * AranyaLabelName
An AQC label name.
Definition aranya-client.h:587
AranyaError aranya_init_logging_ext(struct AranyaExtError *__ext_err)
Initializes logging.
AranyaError
An error code.
Definition aranya-client.h:203
@ ARANYA_ERROR_INVALID_ARGUMENT
Invalid argument.
Definition aranya-client.h:219
@ ARANYA_ERROR_CONFIG
Unable to create configuration info.
Definition aranya-client.h:264
@ ARANYA_ERROR_IPC
Could not send request to daemon.
Definition aranya-client.h:239
@ ARANYA_ERROR_INVALID_UTF8
Invalid UTF-8.
Definition aranya-client.h:231
@ ARANYA_ERROR_TIMEOUT
Timed out.
Definition aranya-client.h:215
@ ARANYA_ERROR_BUFFER_TOO_SMALL
Buffer is too small.
Definition aranya-client.h:227
@ ARANYA_ERROR_BUG
Internal bug discovered.
Definition aranya-client.h:211
@ ARANYA_ERROR_INVALID_ADDR
Invalid Address.
Definition aranya-client.h:235
@ ARANYA_ERROR_SERIALIZATION
Serialization error.
Definition aranya-client.h:268
@ ARANYA_ERROR_SUCCESS
Success.
Definition aranya-client.h:207
@ ARANYA_ERROR_NOT_ENABLED
Component is not enabled.
Definition aranya-client.h:223
@ ARANYA_ERROR_OTHER
Some other error occurred.
Definition aranya-client.h:272
@ ARANYA_ERROR_ARANYA
An Aranya error.
Definition aranya-client.h:243
@ ARANYA_ERROR_CLOSED
A connection got unexpectedly closed.
Definition aranya-client.h:260
@ ARANYA_ERROR_WOULD_BLOCK
Tried to poll an endpoint but nothing received yet.
Definition aranya-client.h:256
AranyaChanOp
Valid channel operations for a label assignment.
Definition aranya-client.h:173
@ ARANYA_CHAN_OP_SEND_ONLY
The device can only send data in channels with this label.
Definition aranya-client.h:183
@ ARANYA_CHAN_OP_SEND_RECV
The device can send and receive data in channels with this label.
Definition aranya-client.h:188
@ ARANYA_CHAN_OP_RECV_ONLY
The device can only receive data in channels with this label.
Definition aranya-client.h:178
AranyaRole
An enum containing team roles defined in the Aranya policy.
Definition aranya-client.h:285
@ ARANYA_ROLE_ADMIN
Admin role.
Definition aranya-client.h:293
@ ARANYA_ROLE_OWNER
Owner role.
Definition aranya-client.h:289
@ ARANYA_ROLE_MEMBER
Member role.
Definition aranya-client.h:301
@ ARANYA_ROLE_OPERATOR
Operator role.
Definition aranya-client.h:297
A builder for initializing an `AranyaAddTeamConfig`.
Definition aranya-client.h:495
AranyaError aranya_add_team_config_builder_set_quic_syncer(struct AranyaAddTeamConfigBuilder *cfg, struct AranyaAddTeamQuicSyncConfig *quic)
Configures QUIC syncer for `AranyaAddTeamConfigBuilder`.
AranyaError aranya_add_team_config_builder_set_id_ext(struct AranyaAddTeamConfigBuilder *cfg, const struct AranyaTeamId *team_id, struct AranyaExtError *__ext_err)
Configures team ID field for `AranyaAddTeamConfigBuilder`.
AranyaError aranya_add_team_config_builder_cleanup_ext(struct AranyaAddTeamConfigBuilder *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
AranyaError aranya_add_team_config_builder_cleanup(struct AranyaAddTeamConfigBuilder *ptr)
Releases any resources associated with ptr.
AranyaError aranya_add_team_config_builder_set_id(struct AranyaAddTeamConfigBuilder *cfg, const struct AranyaTeamId *team_id)
Configures team ID field for `AranyaAddTeamConfigBuilder`.
AranyaError aranya_add_team_config_builder_set_quic_syncer_ext(struct AranyaAddTeamConfigBuilder *cfg, struct AranyaAddTeamQuicSyncConfig *quic, struct AranyaExtError *__ext_err)
Configures QUIC syncer for `AranyaAddTeamConfigBuilder`.
AranyaError aranya_add_team_config_build_ext(struct AranyaAddTeamConfigBuilder *cfg, struct AranyaAddTeamConfig *out, struct AranyaExtError *__ext_err)
Attempts to construct an `AranyaAddTeamConfig`.
AranyaError aranya_add_team_config_builder_init_ext(struct AranyaAddTeamConfigBuilder *out, struct AranyaExtError *__ext_err)
Initializes AranyaAddTeamConfigBuilder.
AranyaError aranya_add_team_config_build(struct AranyaAddTeamConfigBuilder *cfg, struct AranyaAddTeamConfig *out)
Attempts to construct an `AranyaAddTeamConfig`.
AranyaError aranya_add_team_config_builder_init(struct AranyaAddTeamConfigBuilder *out)
Initializes AranyaAddTeamConfigBuilder.
Team configuration used when joining a team.
Definition aranya-client.h:528
A builder for initializing an `AranyaAddTeamQuicSyncConfig`.
Definition aranya-client.h:434
AranyaError aranya_add_team_quic_sync_config_wrapped_seed_ext(struct AranyaAddTeamQuicSyncConfigBuilder *cfg, const uint8_t *encap_seed, size_t encap_seed_len, struct AranyaExtError *__ext_err)
Attempts to set wrapped PSK seed value on `AranyaAddTeamQuicSyncConfigBuilder`.
AranyaError aranya_add_team_quic_sync_config_builder_init_ext(struct AranyaAddTeamQuicSyncConfigBuilder *out, struct AranyaExtError *__ext_err)
Initializes AranyaAddTeamQuicSyncConfigBuilder.
AranyaError aranya_add_team_quic_sync_config_raw_seed_ikm(struct AranyaAddTeamQuicSyncConfigBuilder *cfg, const struct AranyaSeedIkm *ikm)
Attempts to set raw PSK seed IKM value `AranyaSeedIkm` on `AranyaAddTeamQuicSyncConfigBuilder`.
AranyaError aranya_add_team_quic_sync_config_builder_init(struct AranyaAddTeamQuicSyncConfigBuilder *out)
Initializes AranyaAddTeamQuicSyncConfigBuilder.
AranyaError aranya_add_team_quic_sync_config_build(struct AranyaAddTeamQuicSyncConfigBuilder *cfg, struct AranyaAddTeamQuicSyncConfig *out)
Attempts to construct an `AranyaAddTeamQuicSyncConfig`.
AranyaError aranya_add_team_quic_sync_config_builder_cleanup_ext(struct AranyaAddTeamQuicSyncConfigBuilder *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
AranyaError aranya_add_team_quic_sync_config_wrapped_seed(struct AranyaAddTeamQuicSyncConfigBuilder *cfg, const uint8_t *encap_seed, size_t encap_seed_len)
Attempts to set wrapped PSK seed value on `AranyaAddTeamQuicSyncConfigBuilder`.
AranyaError aranya_add_team_quic_sync_config_builder_cleanup(struct AranyaAddTeamQuicSyncConfigBuilder *ptr)
Releases any resources associated with ptr.
AranyaError aranya_add_team_quic_sync_config_build_ext(struct AranyaAddTeamQuicSyncConfigBuilder *cfg, struct AranyaAddTeamQuicSyncConfig *out, struct AranyaExtError *__ext_err)
Attempts to construct an `AranyaAddTeamQuicSyncConfig`.
AranyaError aranya_add_team_quic_sync_config_raw_seed_ikm_ext(struct AranyaAddTeamQuicSyncConfigBuilder *cfg, const struct AranyaSeedIkm *ikm, struct AranyaExtError *__ext_err)
Attempts to set raw PSK seed IKM value `AranyaSeedIkm` on `AranyaAddTeamQuicSyncConfigBuilder`.
QUIC syncer configuration.
Definition aranya-client.h:483
Configuration info builder for an Aranya client config `AranyaClientConfig`.
Definition aranya-client.h:390
AranyaError aranya_client_config_builder_set_daemon_uds_path_ext(struct AranyaClientConfigBuilder *cfg, const char *address, struct AranyaExtError *__ext_err)
Sets Unix Domain Socket path that the daemon is listening on.
AranyaError aranya_client_config_builder_cleanup(struct AranyaClientConfigBuilder *ptr)
Releases any resources associated with ptr.
AranyaError aranya_client_config_builder_init_ext(struct AranyaClientConfigBuilder *out, struct AranyaExtError *__ext_err)
Initializes AranyaClientConfigBuilder.
AranyaError aranya_client_config_build(struct AranyaClientConfigBuilder *cfg, struct AranyaClientConfig *out)
Attempts to construct a `AranyaClientConfig`.
AranyaError aranya_client_config_builder_init(struct AranyaClientConfigBuilder *out)
Initializes AranyaClientConfigBuilder.
AranyaError aranya_client_config_builder_set_daemon_uds_path(struct AranyaClientConfigBuilder *cfg, const char *address)
Sets Unix Domain Socket path that the daemon is listening on.
AranyaError aranya_client_config_build_ext(struct AranyaClientConfigBuilder *cfg, struct AranyaClientConfig *out, struct AranyaExtError *__ext_err)
Attempts to construct a `AranyaClientConfig`.
AranyaError aranya_client_config_builder_cleanup_ext(struct AranyaClientConfigBuilder *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
Configuration info for Aranya.
Definition aranya-client.h:364
A handle to an Aranya Client.
Definition aranya-client.h:350
AranyaError aranya_client_cleanup_ext(struct AranyaClient *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
AranyaError aranya_remove_team_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaExtError *__ext_err)
Remove a team from local device storage.
AranyaError aranya_assign_label_ext(const 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_sync_now_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, const struct AranyaSyncPeerConfig *config, struct AranyaExtError *__ext_err)
Sync with peer immediately.
AranyaError aranya_assign_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaRole role)
Assign a role to a device.
AranyaError aranya_query_label_exists(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label, bool *__output)
Query if a label exists.
AranyaError aranya_revoke_role_ext(const 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_delete_label(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label_id)
Delete a channel label.
AranyaError aranya_assign_role_ext(const 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_query_labels(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaLabelId *labels, size_t *labels_len)
Query for list of existing labels.
AranyaError aranya_add_device_to_team_ext(const 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_query_devices_on_team(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaDeviceId *devices, size_t *devices_len)
Query devices on team.
AranyaError aranya_add_sync_peer_ext(const 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_sync_now(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, const struct AranyaSyncPeerConfig *config)
Sync with peer immediately.
AranyaError aranya_delete_label_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label_id, struct AranyaExtError *__ext_err)
Delete a channel label.
AranyaError aranya_revoke_label(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaLabelId *label_id)
Revoke a label from a device.
AranyaError aranya_query_device_label_assignments(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, struct AranyaLabelId *labels, size_t *labels_len)
Query device label assignments.
AranyaError aranya_add_team_ext(const struct AranyaClient *client, const struct AranyaAddTeamConfig *cfg, struct AranyaExtError *__ext_err)
Add a team to the local device store.
AranyaError aranya_encrypt_psk_seed_for_peer(const struct AranyaClient *client, const struct AranyaTeamId *team_id, const uint8_t *keybundle, size_t keybundle_len, uint8_t *seed, size_t *seed_len)
Return serialized PSK seed encrypted for another device on the team.
AranyaError aranya_client_cleanup(struct AranyaClient *ptr)
Releases any resources associated with ptr.
AranyaError aranya_create_label_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaLabelName name, struct AranyaLabelId *__output, struct AranyaExtError *__ext_err)
Create a channel label.
AranyaError aranya_query_label_exists_ext(const 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_device_keybundle(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, uint8_t *keybundle, size_t *keybundle_len)
Query device's keybundle.
AranyaError aranya_add_device_to_team(const 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_revoke_label_ext(const 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_remove_team(const struct AranyaClient *client, const struct AranyaTeamId *team)
Remove a team from local device storage.
AranyaError aranya_remove_device_from_team(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device)
Remove a device from the team.
AranyaError aranya_create_label(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaLabelName name, struct AranyaLabelId *__output)
Create a channel label.
AranyaError aranya_close_team(const struct AranyaClient *client, const struct AranyaTeamId *team)
Close the team and stop all operations on the graph.
AranyaError aranya_create_team(const struct AranyaClient *client, const struct AranyaCreateTeamConfig *cfg, struct AranyaTeamId *__output)
Create a new graph/team with the current device as the owner.
AranyaError aranya_client_init(struct AranyaClient *client, const struct AranyaClientConfig *config)
Initializes a new client instance.
AranyaError aranya_get_key_bundle(const struct AranyaClient *client, uint8_t *keybundle, size_t *keybundle_len)
Gets the public key bundle for this device.
AranyaError aranya_query_device_keybundle_ext(const 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_rand(const struct AranyaClient *client, uint8_t *buf, size_t buf_len)
Return random bytes from Aranya's CSPRNG.
AranyaError aranya_remove_sync_peer(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr)
Remove the peer from automatic Aranya state syncing.
AranyaError aranya_create_team_ext(const struct AranyaClient *client, const struct AranyaCreateTeamConfig *cfg, struct AranyaTeamId *__output, struct AranyaExtError *__ext_err)
Create a new graph/team with the current device as the owner.
AranyaError aranya_query_labels_ext(const 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_remove_device_from_team_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, struct AranyaExtError *__ext_err)
Remove a device from the team.
AranyaError aranya_get_device_id(const struct AranyaClient *client, struct AranyaDeviceId *__output)
Gets the public device ID.
AranyaError aranya_get_key_bundle_ext(const struct AranyaClient *client, uint8_t *keybundle, size_t *keybundle_len, struct AranyaExtError *__ext_err)
Gets the public key bundle for this device.
AranyaError aranya_revoke_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, AranyaRole role)
Revoke a role from a device.
AranyaError aranya_add_team(const struct AranyaClient *client, const struct AranyaAddTeamConfig *cfg)
Add a team to the local device store.
AranyaError aranya_query_device_label_assignments_ext(const 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_get_device_id_ext(const struct AranyaClient *client, struct AranyaDeviceId *__output, struct AranyaExtError *__ext_err)
Gets the public device ID.
AranyaError aranya_rand_ext(const struct AranyaClient *client, uint8_t *buf, size_t buf_len, struct AranyaExtError *__ext_err)
Return random bytes from Aranya's CSPRNG.
AranyaError aranya_client_init_ext(struct AranyaClient *client, const struct AranyaClientConfig *config, struct AranyaExtError *__ext_err)
Initializes a new client instance.
AranyaError aranya_add_sync_peer(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, const struct AranyaSyncPeerConfig *config)
Add the peer for automatic periodic Aranya state syncing.
AranyaError aranya_encrypt_psk_seed_for_peer_ext(const struct AranyaClient *client, const struct AranyaTeamId *team_id, const uint8_t *keybundle, size_t keybundle_len, uint8_t *seed, size_t *seed_len, struct AranyaExtError *__ext_err)
Return serialized PSK seed encrypted for another device on the team.
AranyaError aranya_remove_sync_peer_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr addr, struct AranyaExtError *__ext_err)
Remove the peer from automatic Aranya state syncing.
AranyaError aranya_close_team_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaExtError *__ext_err)
Close the team and stop all operations on the graph.
AranyaError aranya_assign_label(const 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_query_devices_on_team_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaDeviceId *devices, size_t *devices_len, struct AranyaExtError *__ext_err)
Query devices on team.
A builder for initializing a `AranyaCreateTeamConfig`.
Definition aranya-client.h:507
AranyaError aranya_create_team_config_builder_set_quic_syncer(struct AranyaCreateTeamConfigBuilder *cfg, struct AranyaCreateTeamQuicSyncConfig *quic)
Configures QUIC syncer for `AranyaCreateTeamConfigBuilder`.
AranyaError aranya_create_team_config_builder_init(struct AranyaCreateTeamConfigBuilder *out)
Initializes AranyaCreateTeamConfigBuilder.
AranyaError aranya_create_team_config_builder_set_quic_syncer_ext(struct AranyaCreateTeamConfigBuilder *cfg, struct AranyaCreateTeamQuicSyncConfig *quic, struct AranyaExtError *__ext_err)
Configures QUIC syncer for `AranyaCreateTeamConfigBuilder`.
AranyaError aranya_create_team_config_build(struct AranyaCreateTeamConfigBuilder *cfg, struct AranyaCreateTeamConfig *out)
Attempts to construct a `AranyaCreateTeamConfig`.
AranyaError aranya_create_team_config_builder_cleanup_ext(struct AranyaCreateTeamConfigBuilder *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
AranyaError aranya_create_team_config_build_ext(struct AranyaCreateTeamConfigBuilder *cfg, struct AranyaCreateTeamConfig *out, struct AranyaExtError *__ext_err)
Attempts to construct a `AranyaCreateTeamConfig`.
AranyaError aranya_create_team_config_builder_init_ext(struct AranyaCreateTeamConfigBuilder *out, struct AranyaExtError *__ext_err)
Initializes AranyaCreateTeamConfigBuilder.
AranyaError aranya_create_team_config_builder_cleanup(struct AranyaCreateTeamConfigBuilder *ptr)
Releases any resources associated with ptr.
Team configuration used when creating a team.
Definition aranya-client.h:542
A builder for initializing a `AranyaCreateTeamQuicSyncConfig`.
Definition aranya-client.h:448
AranyaError aranya_create_team_quic_sync_config_raw_seed_ikm(struct AranyaCreateTeamQuicSyncConfigBuilder *cfg, const struct AranyaSeedIkm *ikm)
Attempts to set raw PSK seed IKM value `AranyaSeedIkm` on `AranyaCreateTeamQuicSyncConfigBuilder`.
AranyaError aranya_create_team_quic_sync_config_builder_cleanup_ext(struct AranyaCreateTeamQuicSyncConfigBuilder *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
AranyaError aranya_create_team_quic_sync_config_raw_seed_ikm_ext(struct AranyaCreateTeamQuicSyncConfigBuilder *cfg, const struct AranyaSeedIkm *ikm, struct AranyaExtError *__ext_err)
Attempts to set raw PSK seed IKM value `AranyaSeedIkm` on `AranyaCreateTeamQuicSyncConfigBuilder`.
AranyaError aranya_create_team_quic_sync_config_builder_cleanup(struct AranyaCreateTeamQuicSyncConfigBuilder *ptr)
Releases any resources associated with ptr.
AranyaError aranya_create_team_quic_sync_config_build_ext(struct AranyaCreateTeamQuicSyncConfigBuilder *cfg, struct AranyaCreateTeamQuicSyncConfig *out, struct AranyaExtError *__ext_err)
Attempts to construct a `AranyaCreateTeamQuicSyncConfig`.
AranyaError aranya_create_team_quic_sync_config_build(struct AranyaCreateTeamQuicSyncConfigBuilder *cfg, struct AranyaCreateTeamQuicSyncConfig *out)
Attempts to construct a `AranyaCreateTeamQuicSyncConfig`.
AranyaError aranya_create_team_quic_sync_config_generate_ext(struct AranyaCreateTeamQuicSyncConfigBuilder *cfg, struct AranyaExtError *__ext_err)
Attempts to set PSK seed generation mode value on `AranyaCreateTeamQuicSyncConfigBuilder`.
AranyaError aranya_create_team_quic_sync_config_builder_init(struct AranyaCreateTeamQuicSyncConfigBuilder *out)
Initializes AranyaCreateTeamQuicSyncConfigBuilder.
AranyaError aranya_create_team_quic_sync_config_builder_init_ext(struct AranyaCreateTeamQuicSyncConfigBuilder *out, struct AranyaExtError *__ext_err)
Initializes AranyaCreateTeamQuicSyncConfigBuilder.
AranyaError aranya_create_team_quic_sync_config_generate(struct AranyaCreateTeamQuicSyncConfigBuilder *cfg)
Attempts to set PSK seed generation mode value on `AranyaCreateTeamQuicSyncConfigBuilder`.
QUIC syncer configuration.
Definition aranya-client.h:469
Device ID.
Definition aranya-client.h:383
Definition aranya-client.h:338
AranyaError aranya_ext_error_msg_ext(const struct AranyaExtError *err, char *msg, size_t *msg_len, struct AranyaExtError *__ext_err)
Copies the extended error's message into msg.
AranyaError aranya_ext_error_init(struct AranyaExtError *out)
Initializes AranyaExtError.
AranyaError aranya_ext_error_msg(const struct AranyaExtError *err, char *msg, size_t *msg_len)
Copies the extended error's message into msg.
AranyaError aranya_ext_error_init_ext(struct AranyaExtError *out, struct AranyaExtError *__ext_err)
Initializes AranyaExtError.
AranyaError aranya_ext_error_cleanup(struct AranyaExtError *ptr)
Releases any resources associated with ptr.
AranyaError aranya_ext_error_cleanup_ext(struct AranyaExtError *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
Cryptographically secure Aranya ID.
Definition aranya-client.h:376
AranyaError aranya_id_from_str(const char *str, struct AranyaId *__output)
Decodes str into an `AranyaId`.
AranyaError aranya_id_to_str(const struct AranyaId *id, char *str, size_t *str_len)
Writes the human-readable encoding of id to str.
Label ID.
Definition aranya-client.h:592
Raw PSK seed IKM for QUIC syncer.
Definition aranya-client.h:460
Builder for a Sync Peer config `AranyaSyncPeerConfig`.
Definition aranya-client.h:554
AranyaError aranya_sync_peer_config_builder_cleanup(struct AranyaSyncPeerConfigBuilder *ptr)
Releases any resources associated with ptr.
AranyaError aranya_sync_peer_config_builder_init_ext(struct AranyaSyncPeerConfigBuilder *out, struct AranyaExtError *__ext_err)
Initializes AranyaSyncPeerConfigBuilder.
AranyaError aranya_sync_peer_config_build(struct AranyaSyncPeerConfigBuilder *cfg, struct AranyaSyncPeerConfig *out)
Attempts to build a `AranyaSyncPeerConfig`.
AranyaError aranya_sync_peer_config_builder_init(struct AranyaSyncPeerConfigBuilder *out)
Initializes AranyaSyncPeerConfigBuilder.
AranyaError aranya_sync_peer_config_builder_set_sync_later_ext(struct AranyaSyncPeerConfigBuilder *cfg, struct AranyaExtError *__ext_err)
Updates the config to disable immediate syncing with the peer.
AranyaError aranya_sync_peer_config_builder_set_sync_now(struct AranyaSyncPeerConfigBuilder *cfg)
Updates the config to enable immediate syncing with the peer.
AranyaError aranya_sync_peer_config_builder_set_interval(struct AranyaSyncPeerConfigBuilder *cfg, AranyaDuration interval)
Configures how often the peer will be synced with.
AranyaError aranya_sync_peer_config_builder_set_sync_now_ext(struct AranyaSyncPeerConfigBuilder *cfg, struct AranyaExtError *__ext_err)
Updates the config to enable immediate syncing with the peer.
AranyaError aranya_sync_peer_config_builder_set_interval_ext(struct AranyaSyncPeerConfigBuilder *cfg, AranyaDuration interval, struct AranyaExtError *__ext_err)
Configures how often the peer will be synced with.
AranyaError aranya_sync_peer_config_builder_cleanup_ext(struct AranyaSyncPeerConfigBuilder *ptr, struct AranyaExtError *__ext_err)
Releases any resources associated with ptr.
AranyaError aranya_sync_peer_config_build_ext(struct AranyaSyncPeerConfigBuilder *cfg, struct AranyaSyncPeerConfig *out, struct AranyaExtError *__ext_err)
Attempts to build a `AranyaSyncPeerConfig`.
AranyaError aranya_sync_peer_config_builder_set_sync_later(struct AranyaSyncPeerConfigBuilder *cfg)
Updates the config to disable immediate syncing with the peer.
Sync Peer config.
Definition aranya-client.h:568
Team ID.
Definition aranya-client.h:519