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#ifndef __has_attribute
24 #define __has_attribute(x) 0
25#endif /* __has_attribute */
26
27#if !defined(ARANYA_ALIGNED)
28 #if __has_attribute(aligned)
29 #define ARANYA_ALIGNED(n) __attribute__((aligned(n)))
30 #else
31 #error "compiler must support `aligned` attribute"
32 #endif
33#endif /* ARANYA_ALIGNED */
34
35#if !defined(ARANYA_DESIGNATED_INIT)
36 #if __has_attribute(designated_init)
37 #define ARANYA_DESIGNATED_INIT __attribute__((designated_init))
38 #else
39 #define ARANYA_DESIGNATED_INIT
40 #endif
41#endif /* ARANYA_DESIGNATED_INIT */
42
43#if !defined(ARANYA_MUST_USE)
44 #if __has_attribute(warn_unused_result)
45 #define ARANYA_MUST_USE __attribute__((warn_unused_result))
46 #else
47 #define ARANYA_MUST_USE
48 #endif
49#endif /* ARANYA_MUST_USE */
50
51#if !defined(ARANYA_NO_RETURN)
52 #if __has_attribute(noreturn)
53 #define ARANYA_NO_RETURN __attribute__((noreturn))
54 #else
55 #define ARANYA_NO_RETURN
56 #endif
57#endif /* ARANYA_NO_RETURN */
58
59#if !defined(ARANYA_NON_NULL)
60 #if defined(__gnu__)
61 #if __has_attribute(nonnull)
62 #define ARANYA_NON_NULL __attribute__((nonnull))
63 #endif
64 #elif defined(__clang__)
65 #define ARANYA_NON_NULL _Nonnull
66 #else
67 #define ARANYA_NON_NULL
68 #endif
69#endif /* ARANYA_NON_NULL */
70
71#if !defined(ARANYA_PACKED)
72 #if __has_attribute(packed)
73 #define ARANYA_PACKED __attribute__((packed))
74 #else
75 #define ARANYA_PACKED
76 #endif
77#endif /* ARANYA_PACKED */
78
79
80#define ARANYA_DURATION_SECONDS (1000 * ARANYA_DURATION_MILLISECONDS)
81
82#define ARANYA_DURATION_MILLISECONDS (1000 * ARANYA_DURATION_MICROSECONDS)
83
84#define ARANYA_DURATION_MICROSECONDS (1000 * ARANYA_DURATION_NANOSECONDS)
85
86#define ARANYA_DURATION_NANOSECONDS 1
87
91#define ARANYA_ID_LEN 32
92
96#define DEFAULT_ROLES_LEN 3
97
101#define ARANYA_SEED_IKM_LEN 32
102
106#define ARANYA_ID_STR_LEN (((ARANYA_ID_LEN * 1375) / 1000) + 1)
107
108#if defined(ENABLE_ARANYA_AFC)
115#define ARANYA_AFC_CHANNEL_OVERHEAD 24
116#endif
117
118#if defined(ENABLE_ARANYA_AFC)
125#define ARANYA_AFC_CHANNEL_OVERHEAD 24
126#endif
127
132#ifdef __cplusplus
133 : uint8_t
134#endif // __cplusplus
135 {
151};
152#ifndef __cplusplus
153typedef uint8_t AranyaChanOp;
154#endif // __cplusplus
155
230#ifndef __cplusplus
231typedef uint32_t AranyaError;
232#endif // __cplusplus
233
318#ifndef __cplusplus
319typedef uint8_t AranyaPermission;
320#endif // __cplusplus
321
346#ifndef __cplusplus
347typedef uint8_t AranyaRoleManagementPermission;
348#endif // __cplusplus
349
381typedef struct ARANYA_ALIGNED(8) AranyaExtError {
387 uint8_t __for_size_only[96];
389
393typedef struct ARANYA_ALIGNED(16) AranyaClient {
399 uint8_t __for_size_only[3728];
401
407typedef struct ARANYA_ALIGNED(8) AranyaClientConfig {
413 uint8_t __for_size_only[56];
415
419typedef struct ARANYA_ALIGNED(8) AranyaRole {
425 uint8_t __for_size_only[112];
427
431typedef struct AranyaId {
432 uint8_t bytes[ARANYA_ID_LEN];
434
438typedef struct AranyaRoleId {
439 struct AranyaId id;
441
445typedef struct AranyaDeviceId {
446 struct AranyaId id;
448
452typedef struct ARANYA_ALIGNED(8) AranyaClientConfigBuilder {
458 uint8_t __for_size_only[72];
460
466typedef struct ARANYA_ALIGNED(8) AranyaAddTeamQuicSyncConfigBuilder {
472 uint8_t __for_size_only[288];
474
480typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamQuicSyncConfigBuilder {
486 uint8_t __for_size_only[56];
488
492typedef struct AranyaSeedIkm {
493 uint8_t bytes[ARANYA_SEED_IKM_LEN];
495
501typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamQuicSyncConfig {
507 uint8_t __for_size_only[56];
509
515typedef struct ARANYA_ALIGNED(8) AranyaAddTeamQuicSyncConfig {
521 uint8_t __for_size_only[288];
523
527typedef struct ARANYA_ALIGNED(8) AranyaAddTeamConfigBuilder {
533 uint8_t __for_size_only[328];
535
539typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamConfigBuilder {
545 uint8_t __for_size_only[56];
547
551typedef struct AranyaTeamId {
552 struct AranyaId id;
554
560typedef struct ARANYA_ALIGNED(8) AranyaAddTeamConfig {
566 uint8_t __for_size_only[320];
568
574typedef struct ARANYA_ALIGNED(8) AranyaCreateTeamConfig {
580 uint8_t __for_size_only[56];
582
586typedef struct ARANYA_ALIGNED(8) AranyaSyncPeerConfigBuilder {
592 uint8_t __for_size_only[40];
594
600typedef struct ARANYA_ALIGNED(8) AranyaSyncPeerConfig {
606 uint8_t __for_size_only[40];
608
612typedef uint64_t AranyaDuration;
613
619typedef const char *AranyaRoleName;
620
626typedef const char *AranyaLabelName;
627
631typedef struct AranyaLabelId {
632 struct AranyaId id;
634
640typedef const char *AranyaAddr;
641
642#if defined(ENABLE_ARANYA_AFC)
646typedef struct ARANYA_ALIGNED(8) AranyaAfcSendChannel {
652 uint8_t __for_size_only[160];
654#endif
655
656#if defined(ENABLE_ARANYA_AFC)
660typedef struct ARANYA_ALIGNED(8) AranyaAfcReceiveChannel {
666 uint8_t __for_size_only[152];
668#endif
669
670#if defined(ENABLE_ARANYA_AFC)
677typedef struct ARANYA_ALIGNED(8) AranyaAfcCtrlMsg {
683 uint8_t __for_size_only[32];
685#endif
686
687#if defined(ENABLE_ARANYA_AFC)
693typedef struct ARANYA_ALIGNED(8) AranyaAfcSeq {
699 uint8_t __for_size_only[24];
701#endif
702
703#if defined(ENABLE_ARANYA_AFC)
707typedef struct AranyaAfcChannelId {
708 struct AranyaId id;
710#endif
711
712#ifdef __cplusplus
713extern "C" {
714#endif // __cplusplus
715
725const char *aranya_error_to_str(uint32_t err);
726
736
745
766 char *msg,
767 size_t *msg_len);
768
789 char *msg,
790 size_t *msg_len,
791 struct AranyaExtError *__ext_err);
792
802 const struct AranyaClientConfig *config);
803
813 const struct AranyaClientConfig *config,
814 struct AranyaExtError *__ext_err);
815
824
833
842 struct AranyaRoleId *__output);
843
852 struct AranyaRoleId *__output,
853 struct AranyaExtError *__ext_err);
854
865 const char **__output);
866
875 struct AranyaDeviceId *__output);
876
885 struct AranyaDeviceId *__output,
886 struct AranyaExtError *__ext_err);
887
895
903
914 uint8_t *keybundle,
915 size_t *keybundle_len);
916
927 uint8_t *keybundle,
928 size_t *keybundle_len,
929 struct AranyaExtError *__ext_err);
930
943 char *str,
944 size_t *str_len);
945
953AranyaError aranya_id_from_str(const char *str, struct AranyaId *__output);
954
964 struct AranyaDeviceId *__output);
965
975 struct AranyaDeviceId *__output,
976 struct AranyaExtError *__ext_err);
977
987
996
1009 struct AranyaClientConfig *out);
1010
1023 struct AranyaClientConfig *out,
1024 struct AranyaExtError *__ext_err);
1025
1035 const char *address);
1036
1046 const char *address,
1047 struct AranyaExtError *__ext_err);
1048
1058
1067
1077
1086
1097
1108 struct AranyaExtError *__ext_err);
1109
1121 const uint8_t *encap_seed,
1122 size_t encap_seed_len);
1123
1135 const uint8_t *encap_seed,
1136 size_t encap_seed_len,
1137 struct AranyaExtError *__ext_err);
1138
1150 const struct AranyaSeedIkm *ikm);
1151
1163 const struct AranyaSeedIkm *ikm,
1164 struct AranyaExtError *__ext_err);
1165
1177 const struct AranyaSeedIkm *ikm);
1178
1190 const struct AranyaSeedIkm *ikm,
1191 struct AranyaExtError *__ext_err);
1192
1205 struct AranyaCreateTeamQuicSyncConfig *out);
1206
1220 struct AranyaExtError *__ext_err);
1221
1234 struct AranyaAddTeamQuicSyncConfig *out);
1235
1248 struct AranyaAddTeamQuicSyncConfig *out,
1249 struct AranyaExtError *__ext_err);
1250
1260
1269
1279
1288
1300 struct AranyaAddTeamQuicSyncConfig *quic);
1301
1313 struct AranyaAddTeamQuicSyncConfig *quic,
1314 struct AranyaExtError *__ext_err);
1315
1327 const struct AranyaTeamId *team_id);
1328
1340 const struct AranyaTeamId *team_id,
1341 struct AranyaExtError *__ext_err);
1342
1355 struct AranyaAddTeamConfig *out);
1356
1369 struct AranyaAddTeamConfig *out,
1370 struct AranyaExtError *__ext_err);
1371
1383 struct AranyaCreateTeamQuicSyncConfig *quic);
1384
1396 struct AranyaCreateTeamQuicSyncConfig *quic,
1397 struct AranyaExtError *__ext_err);
1398
1411 struct AranyaCreateTeamConfig *out);
1412
1425 struct AranyaCreateTeamConfig *out,
1426 struct AranyaExtError *__ext_err);
1427
1437
1446
1459 struct AranyaSyncPeerConfig *out);
1460
1473 struct AranyaSyncPeerConfig *out,
1474 struct AranyaExtError *__ext_err);
1475
1489 AranyaDuration interval);
1490
1504 AranyaDuration interval,
1505 struct AranyaExtError *__ext_err);
1506
1519
1532 struct AranyaExtError *__ext_err);
1533
1545
1557 struct AranyaExtError *__ext_err);
1558
1570 uint32_t sync_on_hello);
1571
1583 uint32_t sync_on_hello,
1584 struct AranyaExtError *__ext_err);
1585
1611 const struct AranyaTeamId *team,
1612 const struct AranyaRoleId *owning_role,
1613 struct AranyaRole *roles_out,
1614 size_t *roles_len);
1615
1641 const struct AranyaTeamId *team,
1642 const struct AranyaRoleId *owning_role,
1643 struct AranyaRole *roles_out,
1644 size_t *roles_len,
1645 struct AranyaExtError *__ext_err);
1646
1658 const struct AranyaTeamId *team,
1659 const struct AranyaRoleId *role,
1660 const struct AranyaRoleId *owning_role);
1661
1673 const struct AranyaTeamId *team,
1674 const struct AranyaRoleId *role,
1675 const struct AranyaRoleId *owning_role,
1676 struct AranyaExtError *__ext_err);
1677
1689 const struct AranyaTeamId *team,
1690 const struct AranyaRoleId *role,
1691 const struct AranyaRoleId *owning_role);
1692
1704 const struct AranyaTeamId *team,
1705 const struct AranyaRoleId *role,
1706 const struct AranyaRoleId *owning_role,
1707 struct AranyaExtError *__ext_err);
1708
1725 const struct AranyaTeamId *team,
1726 const struct AranyaRoleId *role,
1727 struct AranyaRole *roles_out,
1728 size_t *roles_len);
1729
1746 const struct AranyaTeamId *team,
1747 const struct AranyaRoleId *role,
1748 struct AranyaRole *roles_out,
1749 size_t *roles_len,
1750 struct AranyaExtError *__ext_err);
1751
1764 const struct AranyaTeamId *team,
1765 const struct AranyaRoleId *role,
1766 const struct AranyaRoleId *managing_role,
1768
1781 const struct AranyaTeamId *team,
1782 const struct AranyaRoleId *role,
1783 const struct AranyaRoleId *managing_role,
1785 struct AranyaExtError *__ext_err);
1786
1799 const struct AranyaTeamId *team,
1800 const struct AranyaRoleId *role,
1801 const struct AranyaRoleId *managing_role,
1803
1816 const struct AranyaTeamId *team,
1817 const struct AranyaRoleId *role,
1818 const struct AranyaRoleId *managing_role,
1820 struct AranyaExtError *__ext_err);
1821
1838 const struct AranyaTeamId *team,
1839 const struct AranyaDeviceId *device,
1840 const struct AranyaRoleId *old_role,
1841 const struct AranyaRoleId *new_role);
1842
1859 const struct AranyaTeamId *team,
1860 const struct AranyaDeviceId *device,
1861 const struct AranyaRoleId *old_role,
1862 const struct AranyaRoleId *new_role,
1863 struct AranyaExtError *__ext_err);
1864
1880 const struct AranyaTeamId *team,
1881 struct AranyaRole *roles_out,
1882 size_t *roles_out_len);
1883
1899 const struct AranyaTeamId *team,
1900 struct AranyaRole *roles_out,
1901 size_t *roles_out_len,
1902 struct AranyaExtError *__ext_err);
1903
1920 const struct AranyaTeamId *team,
1921 AranyaRoleName role_name,
1922 const struct AranyaRoleId *owning_role,
1923 struct AranyaRole *role_out);
1924
1941 const struct AranyaTeamId *team,
1942 AranyaRoleName role_name,
1943 const struct AranyaRoleId *owning_role,
1944 struct AranyaRole *role_out,
1945 struct AranyaExtError *__ext_err);
1946
1962 const struct AranyaTeamId *team,
1963 const struct AranyaRoleId *role);
1964
1980 const struct AranyaTeamId *team,
1981 const struct AranyaRoleId *role,
1982 struct AranyaExtError *__ext_err);
1983
1997 const struct AranyaTeamId *team,
1998 const struct AranyaRoleId *role,
1999 AranyaPermission perm);
2000
2014 const struct AranyaTeamId *team,
2015 const struct AranyaRoleId *role,
2016 AranyaPermission perm,
2017 struct AranyaExtError *__ext_err);
2018
2032 const struct AranyaTeamId *team,
2033 const struct AranyaRoleId *role,
2034 AranyaPermission perm);
2035
2049 const struct AranyaTeamId *team,
2050 const struct AranyaRoleId *role,
2051 AranyaPermission perm,
2052 struct AranyaExtError *__ext_err);
2053
2073 const struct AranyaTeamId *team,
2074 const struct AranyaDeviceId *device,
2075 const struct AranyaRoleId *role_id);
2076
2096 const struct AranyaTeamId *team,
2097 const struct AranyaDeviceId *device,
2098 const struct AranyaRoleId *role_id,
2099 struct AranyaExtError *__ext_err);
2100
2114 const struct AranyaTeamId *team,
2115 const struct AranyaDeviceId *device,
2116 const struct AranyaRoleId *role_id);
2117
2131 const struct AranyaTeamId *team,
2132 const struct AranyaDeviceId *device,
2133 const struct AranyaRoleId *role_id,
2134 struct AranyaExtError *__ext_err);
2135
2149 const struct AranyaTeamId *team,
2150 AranyaLabelName name,
2151 const struct AranyaRoleId *managing_role_id,
2152 struct AranyaLabelId *__output);
2153
2167 const struct AranyaTeamId *team,
2168 AranyaLabelName name,
2169 const struct AranyaRoleId *managing_role_id,
2170 struct AranyaLabelId *__output,
2171 struct AranyaExtError *__ext_err);
2172
2185 const struct AranyaTeamId *team,
2186 const struct AranyaLabelId *label_id);
2187
2200 const struct AranyaTeamId *team,
2201 const struct AranyaLabelId *label_id,
2202 struct AranyaExtError *__ext_err);
2203
2217 const struct AranyaTeamId *team,
2218 const struct AranyaDeviceId *device,
2219 const struct AranyaLabelId *label_id,
2220 AranyaChanOp op);
2221
2235 const struct AranyaTeamId *team,
2236 const struct AranyaDeviceId *device,
2237 const struct AranyaLabelId *label_id,
2238 AranyaChanOp op,
2239 struct AranyaExtError *__ext_err);
2240
2254 const struct AranyaTeamId *team,
2255 const struct AranyaDeviceId *device,
2256 const struct AranyaLabelId *label_id);
2257
2271 const struct AranyaTeamId *team,
2272 const struct AranyaDeviceId *device,
2273 const struct AranyaLabelId *label_id,
2274 struct AranyaExtError *__ext_err);
2275
2289 const struct AranyaTeamId *team,
2290 const struct AranyaLabelId *label_id,
2291 const struct AranyaRoleId *managing_role_id);
2292
2306 const struct AranyaTeamId *team,
2307 const struct AranyaLabelId *label_id,
2308 const struct AranyaRoleId *managing_role_id,
2309 struct AranyaExtError *__ext_err);
2310
2321 const struct AranyaCreateTeamConfig *cfg,
2322 struct AranyaTeamId *__output);
2323
2334 const struct AranyaCreateTeamConfig *cfg,
2335 struct AranyaTeamId *__output,
2336 struct AranyaExtError *__ext_err);
2337
2350 uint8_t *buf,
2351 size_t buf_len);
2352
2365 uint8_t *buf,
2366 size_t buf_len,
2367 struct AranyaExtError *__ext_err);
2368
2390 const struct AranyaTeamId *team_id,
2391 const uint8_t *keybundle,
2392 size_t keybundle_len,
2393 uint8_t *seed,
2394 size_t *seed_len);
2395
2417 const struct AranyaTeamId *team_id,
2418 const uint8_t *keybundle,
2419 size_t keybundle_len,
2420 uint8_t *seed,
2421 size_t *seed_len,
2422 struct AranyaExtError *__ext_err);
2423
2433 const struct AranyaAddTeamConfig *cfg);
2434
2444 const struct AranyaAddTeamConfig *cfg,
2445 struct AranyaExtError *__ext_err);
2446
2456 const struct AranyaTeamId *team);
2457
2467 const struct AranyaTeamId *team,
2468 struct AranyaExtError *__ext_err);
2469
2479 const struct AranyaTeamId *team);
2480
2490 const struct AranyaTeamId *team,
2491 struct AranyaExtError *__ext_err);
2492
2507 const struct AranyaTeamId *team,
2508 const uint8_t *keybundle,
2509 size_t keybundle_len,
2510 const struct AranyaRoleId *role_id);
2511
2526 const struct AranyaTeamId *team,
2527 const uint8_t *keybundle,
2528 size_t keybundle_len,
2529 const struct AranyaRoleId *role_id,
2530 struct AranyaExtError *__ext_err);
2531
2544 const struct AranyaTeamId *team,
2545 const struct AranyaDeviceId *device);
2546
2559 const struct AranyaTeamId *team,
2560 const struct AranyaDeviceId *device,
2561 struct AranyaExtError *__ext_err);
2562
2578 const struct AranyaTeamId *team,
2579 AranyaAddr addr,
2580 const struct AranyaSyncPeerConfig *config);
2581
2597 const struct AranyaTeamId *team,
2598 AranyaAddr addr,
2599 const struct AranyaSyncPeerConfig *config,
2600 struct AranyaExtError *__ext_err);
2601
2612 const struct AranyaTeamId *team,
2613 AranyaAddr addr);
2614
2625 const struct AranyaTeamId *team,
2626 AranyaAddr addr,
2627 struct AranyaExtError *__ext_err);
2628
2644 const struct AranyaTeamId *team,
2645 AranyaAddr peer,
2646 AranyaDuration graph_change_delay,
2647 AranyaDuration duration,
2648 AranyaDuration schedule_delay);
2649
2665 const struct AranyaTeamId *team,
2666 AranyaAddr peer,
2667 AranyaDuration graph_change_delay,
2668 AranyaDuration duration,
2669 AranyaDuration schedule_delay,
2670 struct AranyaExtError *__ext_err);
2671
2684 const struct AranyaTeamId *team,
2685 AranyaAddr peer);
2686
2699 const struct AranyaTeamId *team,
2700 AranyaAddr peer,
2701 struct AranyaExtError *__ext_err);
2702
2724 const struct AranyaTeamId *team,
2725 AranyaAddr addr,
2726 const struct AranyaSyncPeerConfig *config);
2727
2749 const struct AranyaTeamId *team,
2750 AranyaAddr addr,
2751 const struct AranyaSyncPeerConfig *config,
2752 struct AranyaExtError *__ext_err);
2753
2765 const struct AranyaTeamId *team,
2766 struct AranyaDeviceId *devices,
2767 size_t *devices_len);
2768
2780 const struct AranyaTeamId *team,
2781 struct AranyaDeviceId *devices,
2782 size_t *devices_len,
2783 struct AranyaExtError *__ext_err);
2784
2798 const struct AranyaTeamId *team,
2799 const struct AranyaDeviceId *device,
2800 struct AranyaRole *role_out,
2801 bool *has_role);
2802
2816 const struct AranyaTeamId *team,
2817 const struct AranyaDeviceId *device,
2818 struct AranyaRole *role_out,
2819 bool *has_role,
2820 struct AranyaExtError *__ext_err);
2821
2834 const struct AranyaTeamId *team,
2835 const struct AranyaDeviceId *device,
2836 uint8_t *keybundle,
2837 size_t *keybundle_len);
2838
2851 const struct AranyaTeamId *team,
2852 const struct AranyaDeviceId *device,
2853 uint8_t *keybundle,
2854 size_t *keybundle_len,
2855 struct AranyaExtError *__ext_err);
2856
2873 const struct AranyaTeamId *team,
2874 const struct AranyaDeviceId *device,
2875 struct AranyaLabelId *labels,
2876 size_t *labels_len);
2877
2894 const struct AranyaTeamId *team,
2895 const struct AranyaDeviceId *device,
2896 struct AranyaLabelId *labels,
2897 size_t *labels_len,
2898 struct AranyaExtError *__ext_err);
2899
2915 const struct AranyaTeamId *team,
2916 struct AranyaLabelId *labels,
2917 size_t *labels_len);
2918
2934 const struct AranyaTeamId *team,
2935 struct AranyaLabelId *labels,
2936 size_t *labels_len,
2937 struct AranyaExtError *__ext_err);
2938
2951 const struct AranyaTeamId *team,
2952 const struct AranyaLabelId *label,
2953 bool *__output);
2954
2967 const struct AranyaTeamId *team,
2968 const struct AranyaLabelId *label,
2969 bool *__output,
2970 struct AranyaExtError *__ext_err);
2971
2972#if defined(ENABLE_ARANYA_AFC)
2981#endif
2982
2983#if defined(ENABLE_ARANYA_AFC)
2992#endif
2993
2994#if defined(ENABLE_ARANYA_AFC)
3003#endif
3004
3005#if defined(ENABLE_ARANYA_AFC)
3014#endif
3015
3016#if defined(ENABLE_ARANYA_AFC)
3037 const struct AranyaTeamId *team_id,
3038 const struct AranyaDeviceId *peer_id,
3039 const struct AranyaLabelId *label_id,
3040 struct AranyaAfcSendChannel *channel,
3041 struct AranyaAfcCtrlMsg *control);
3042#endif
3043
3044#if defined(ENABLE_ARANYA_AFC)
3065 const struct AranyaTeamId *team_id,
3066 const struct AranyaDeviceId *peer_id,
3067 const struct AranyaLabelId *label_id,
3068 struct AranyaAfcSendChannel *channel,
3069 struct AranyaAfcCtrlMsg *control,
3070 struct AranyaExtError *__ext_err);
3071#endif
3072
3073#if defined(ENABLE_ARANYA_AFC)
3086 const struct AranyaTeamId *team_id,
3087 const uint8_t *control,
3088 size_t control_len,
3089 struct AranyaAfcReceiveChannel *channel);
3090#endif
3091
3092#if defined(ENABLE_ARANYA_AFC)
3105 const struct AranyaTeamId *team_id,
3106 const uint8_t *control,
3107 size_t control_len,
3108 struct AranyaAfcReceiveChannel *channel,
3109 struct AranyaExtError *__ext_err);
3110#endif
3111
3112#if defined(ENABLE_ARANYA_AFC)
3120 struct AranyaLabelId *__output);
3121#endif
3122
3123#if defined(ENABLE_ARANYA_AFC)
3131 struct AranyaLabelId *__output,
3132 struct AranyaExtError *__ext_err);
3133#endif
3134
3135#if defined(ENABLE_ARANYA_AFC)
3143 struct AranyaAfcChannelId *__output);
3144#endif
3145
3146#if defined(ENABLE_ARANYA_AFC)
3154 struct AranyaAfcChannelId *__output,
3155 struct AranyaExtError *__ext_err);
3156#endif
3157
3158#if defined(ENABLE_ARANYA_AFC)
3166 struct AranyaDeviceId *__output);
3167#endif
3168
3169#if defined(ENABLE_ARANYA_AFC)
3177 struct AranyaDeviceId *__output,
3178 struct AranyaExtError *__ext_err);
3179#endif
3180
3181#if defined(ENABLE_ARANYA_AFC)
3189 struct AranyaLabelId *__output);
3190#endif
3191
3192#if defined(ENABLE_ARANYA_AFC)
3200 struct AranyaLabelId *__output,
3201 struct AranyaExtError *__ext_err);
3202#endif
3203
3204#if defined(ENABLE_ARANYA_AFC)
3212 struct AranyaAfcChannelId *__output);
3213#endif
3214
3215#if defined(ENABLE_ARANYA_AFC)
3223 struct AranyaAfcChannelId *__output,
3224 struct AranyaExtError *__ext_err);
3225#endif
3226
3227#if defined(ENABLE_ARANYA_AFC)
3235 struct AranyaDeviceId *__output);
3236#endif
3237
3238#if defined(ENABLE_ARANYA_AFC)
3246 struct AranyaDeviceId *__output,
3247 struct AranyaExtError *__ext_err);
3248#endif
3249
3250#if defined(ENABLE_ARANYA_AFC)
3261 const uint8_t **ptr,
3262 size_t *len);
3263#endif
3264
3265#if defined(ENABLE_ARANYA_AFC)
3276 const uint8_t **ptr,
3277 size_t *len,
3278 struct AranyaExtError *__ext_err);
3279#endif
3280
3281#if defined(ENABLE_ARANYA_AFC)
3290 const struct AranyaAfcSeq *seq2,
3291 int *__output);
3292#endif
3293
3294#if defined(ENABLE_ARANYA_AFC)
3303 const struct AranyaAfcSeq *seq2,
3304 int *__output,
3305 struct AranyaExtError *__ext_err);
3306#endif
3307
3308#if defined(ENABLE_ARANYA_AFC)
3320 const uint8_t *plaintext,
3321 size_t plaintext_len,
3322 uint8_t *dst,
3323 size_t *dst_len);
3324#endif
3325
3326#if defined(ENABLE_ARANYA_AFC)
3338 const uint8_t *plaintext,
3339 size_t plaintext_len,
3340 uint8_t *dst,
3341 size_t *dst_len,
3342 struct AranyaExtError *__ext_err);
3343#endif
3344
3345#if defined(ENABLE_ARANYA_AFC)
3358 const uint8_t *ciphertext,
3359 size_t ciphertext_len,
3360 uint8_t *dst,
3361 size_t *dst_len,
3362 struct AranyaAfcSeq *seq);
3363#endif
3364
3365#if defined(ENABLE_ARANYA_AFC)
3378 const uint8_t *ciphertext,
3379 size_t ciphertext_len,
3380 uint8_t *dst,
3381 size_t *dst_len,
3382 struct AranyaAfcSeq *seq,
3383 struct AranyaExtError *__ext_err);
3384#endif
3385
3386#if defined(ENABLE_ARANYA_AFC)
3399 struct AranyaAfcSendChannel *channel);
3400#endif
3401
3402#if defined(ENABLE_ARANYA_AFC)
3415 struct AranyaAfcSendChannel *channel,
3416 struct AranyaExtError *__ext_err);
3417#endif
3418
3419#if defined(ENABLE_ARANYA_AFC)
3432 struct AranyaAfcReceiveChannel *channel);
3433#endif
3434
3435#if defined(ENABLE_ARANYA_AFC)
3448 struct AranyaAfcReceiveChannel *channel,
3449 struct AranyaExtError *__ext_err);
3450#endif
3451
3452#ifdef __cplusplus
3453} // extern "C"
3454#endif // __cplusplus
3455
3456#endif /* ARANYA_CLIENT_H */
3457
3458
const char * AranyaRoleName
A role name.
Definition aranya-client.h:619
#define ARANYA_SEED_IKM_LEN
The size in bytes of a PSK seed IKM.
Definition aranya-client.h:101
AranyaError aranya_afc_ctrl_msg_get_bytes_ext(const struct AranyaAfcCtrlMsg *control, const uint8_t **ptr, size_t *len, struct AranyaExtError *__ext_err)
Returns the raw data for a given `AranyaAfcCtrlMsg`.
AranyaError aranya_afc_channel_seal_ext(struct AranyaAfcSendChannel *channel, const uint8_t *plaintext, size_t plaintext_len, uint8_t *dst, size_t *dst_len, struct AranyaExtError *__ext_err)
Encrypts and authenticates plaintext, and writes it to dst.
AranyaError aranya_afc_ctrl_msg_get_bytes(const struct AranyaAfcCtrlMsg *control, const uint8_t **ptr, size_t *len)
Returns the raw data for a given `AranyaAfcCtrlMsg`.
#define ARANYA_ID_LEN
The size in bytes of an ID.
Definition aranya-client.h:91
uint64_t AranyaDuration
A type to represent a span of time in nanoseconds.
Definition aranya-client.h:612
AranyaError aranya_afc_send_channel_get_id(const struct AranyaAfcSendChannel *channel, struct AranyaAfcChannelId *__output)
Returns the `AranyaAfcChannelId` for the associated `AranyaAfcSendChannel`.
AranyaError aranya_afc_channel_open_ext(const struct AranyaAfcReceiveChannel *channel, const uint8_t *ciphertext, size_t ciphertext_len, uint8_t *dst, size_t *dst_len, struct AranyaAfcSeq *seq, struct AranyaExtError *__ext_err)
Decrypts and authenticates ciphertext, and writes it to dst.
AranyaError aranya_afc_send_channel_get_id_ext(const struct AranyaAfcSendChannel *channel, struct AranyaAfcChannelId *__output, struct AranyaExtError *__ext_err)
Returns the `AranyaAfcChannelId` for the associated `AranyaAfcSendChannel`.
const char * AranyaAddr
A network socket address for an Aranya client.
Definition aranya-client.h:640
AranyaError aranya_init_logging(void)
Initializes logging.
AranyaRoleManagementPermission
Role management permission.
Definition aranya-client.h:329
@ ARANYA_ROLE_MANAGEMENT_PERMISSION_CAN_REVOKE_ROLE
Grants a managing role the ability to revoke the target role from any device.
Definition aranya-client.h:339
@ ARANYA_ROLE_MANAGEMENT_PERMISSION_CAN_ASSIGN_ROLE
Grants a managing role the ability to assign the target role to any device except itself.
Definition aranya-client.h:334
@ ARANYA_ROLE_MANAGEMENT_PERMISSION_CAN_CHANGE_ROLE_PERMS
Grants a managing role the ability to change the permissions assigned to the target role.
Definition aranya-client.h:344
AranyaError aranya_afc_receive_channel_get_peer_id_ext(const struct AranyaAfcReceiveChannel *channel, struct AranyaDeviceId *__output, struct AranyaExtError *__ext_err)
Returns the device ID of the peer on the other side of the channel.
AranyaError aranya_afc_receive_channel_get_id(const struct AranyaAfcReceiveChannel *channel, struct AranyaAfcChannelId *__output)
Returns the `AranyaAfcChannelId` for the associated `AranyaAfcReceiveChannel`.
AranyaError aranya_afc_send_channel_get_label_id_ext(const struct AranyaAfcSendChannel *channel, struct AranyaLabelId *__output, struct AranyaExtError *__ext_err)
Returns the `AranyaLabelId` for the associated `AranyaAfcSendChannel`.
AranyaError aranya_afc_receive_channel_get_peer_id(const struct AranyaAfcReceiveChannel *channel, struct AranyaDeviceId *__output)
Returns the device ID of the peer on the other side of the channel.
AranyaError aranya_afc_channel_seal(struct AranyaAfcSendChannel *channel, const uint8_t *plaintext, size_t plaintext_len, uint8_t *dst, size_t *dst_len)
Encrypts and authenticates plaintext, and writes it to dst.
AranyaError aranya_afc_send_channel_get_label_id(const struct AranyaAfcSendChannel *channel, struct AranyaLabelId *__output)
Returns the `AranyaLabelId` for the associated `AranyaAfcSendChannel`.
AranyaError aranya_add_perm_to_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, AranyaPermission perm, struct AranyaExtError *__ext_err)
Add a permission to a role.
AranyaError aranya_afc_seq_cmp_ext(const struct AranyaAfcSeq *seq1, const struct AranyaAfcSeq *seq2, int *__output, struct AranyaExtError *__ext_err)
Returns the three-way comparison between seq1 and seq2.
const char * AranyaLabelName
A label name.
Definition aranya-client.h:626
AranyaError aranya_remove_perm_from_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, AranyaPermission perm, struct AranyaExtError *__ext_err)
Remove a permission from a role.
AranyaError aranya_afc_send_channel_get_peer_id(const struct AranyaAfcSendChannel *channel, struct AranyaDeviceId *__output)
Returns the device ID of the peer on the other side of the channel.
AranyaError aranya_afc_seq_cmp(const struct AranyaAfcSeq *seq1, const struct AranyaAfcSeq *seq2, int *__output)
Returns the three-way comparison between seq1 and seq2.
AranyaPermission
Simple permission.
Definition aranya-client.h:241
@ ARANYA_PERMISSION_CAN_USE_AFC
The role can use AFC.
Definition aranya-client.h:312
@ ARANYA_PERMISSION_CREATE_ROLE
The role can create a role.
Definition aranya-client.h:258
@ ARANYA_PERMISSION_CHANGE_ROLE_MANAGING_ROLE
The role can add a managing role to or remove a managing role from a target role.
Definition aranya-client.h:281
@ ARANYA_PERMISSION_TERMINATE_TEAM
The role can terminate the team.
Definition aranya-client.h:254
@ ARANYA_PERMISSION_DELETE_LABEL
The role can delete a label.
Definition aranya-client.h:289
@ ARANYA_PERMISSION_DELETE_ROLE
The role can delete a role.
Definition aranya-client.h:262
@ ARANYA_PERMISSION_ADD_DEVICE
The role can add a device to the team.
Definition aranya-client.h:245
@ ARANYA_PERMISSION_CREATE_LABEL
The role can create a label.
Definition aranya-client.h:285
@ ARANYA_PERMISSION_SETUP_DEFAULT_ROLE
The role can set up default roles.
Definition aranya-client.h:276
@ ARANYA_PERMISSION_REMOVE_DEVICE
The role can remove a device from the team.
Definition aranya-client.h:249
@ ARANYA_PERMISSION_CREATE_AFC_UNI_CHANNEL
The role can create a unidirectional AFC channel.
Definition aranya-client.h:316
@ ARANYA_PERMISSION_ASSIGN_LABEL
The role can assign a label to a device.
Definition aranya-client.h:301
@ ARANYA_PERMISSION_ASSIGN_ROLE
The role can assign a role to other devices.
Definition aranya-client.h:266
@ ARANYA_PERMISSION_REVOKE_LABEL
The role can revoke a label from a device.
Definition aranya-client.h:307
@ ARANYA_PERMISSION_REVOKE_ROLE
The role can revoke a role from other devices.
Definition aranya-client.h:270
@ ARANYA_PERMISSION_CHANGE_LABEL_MANAGING_ROLE
The role can grant a target role the ability to manage a label.
Definition aranya-client.h:295
AranyaError aranya_init_logging_ext(struct AranyaExtError *__ext_err)
Initializes logging.
AranyaError aranya_add_perm_to_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, AranyaPermission perm)
Add a permission to a role.
AranyaError aranya_afc_receive_channel_get_label_id(const struct AranyaAfcReceiveChannel *channel, struct AranyaLabelId *__output)
Returns the `AranyaLabelId` for the associated `AranyaAfcReceiveChannel`.
AranyaError
An error code.
Definition aranya-client.h:165
@ ARANYA_ERROR_INVALID_ARGUMENT
Invalid argument.
Definition aranya-client.h:181
@ ARANYA_ERROR_CONFIG
Unable to create configuration info.
Definition aranya-client.h:220
@ ARANYA_ERROR_IPC
Could not send request to daemon.
Definition aranya-client.h:201
@ ARANYA_ERROR_INVALID_UTF8
Invalid UTF-8.
Definition aranya-client.h:193
@ ARANYA_ERROR_TIMEOUT
Timed out.
Definition aranya-client.h:177
@ ARANYA_ERROR_BUFFER_TOO_SMALL
Buffer is too small.
Definition aranya-client.h:189
@ ARANYA_ERROR_BUG
Internal bug discovered.
Definition aranya-client.h:173
@ ARANYA_ERROR_INVALID_ADDR
Invalid Address.
Definition aranya-client.h:197
@ ARANYA_ERROR_SERIALIZATION
Serialization error.
Definition aranya-client.h:224
@ ARANYA_ERROR_SUCCESS
Success.
Definition aranya-client.h:169
@ ARANYA_ERROR_NOT_ENABLED
Component is not enabled.
Definition aranya-client.h:185
@ ARANYA_ERROR_OTHER
Some other error occurred.
Definition aranya-client.h:228
@ ARANYA_ERROR_ARANYA
An Aranya error.
Definition aranya-client.h:205
@ ARANYA_ERROR_CLOSED
A connection got unexpectedly closed.
Definition aranya-client.h:216
@ ARANYA_ERROR_WOULD_BLOCK
Tried to poll an endpoint but nothing received yet.
Definition aranya-client.h:212
AranyaChanOp
Valid channel operations for a label assignment.
Definition aranya-client.h:135
@ ARANYA_CHAN_OP_SEND_ONLY
The device can only send data in channels with this label.
Definition aranya-client.h:145
@ ARANYA_CHAN_OP_SEND_RECV
The device can send or receive data in channels with this label.
Definition aranya-client.h:150
@ ARANYA_CHAN_OP_RECV_ONLY
The device can only receive data in channels with this label.
Definition aranya-client.h:140
AranyaError aranya_afc_channel_open(const struct AranyaAfcReceiveChannel *channel, const uint8_t *ciphertext, size_t ciphertext_len, uint8_t *dst, size_t *dst_len, struct AranyaAfcSeq *seq)
Decrypts and authenticates ciphertext, and writes it to dst.
AranyaError aranya_afc_send_channel_get_peer_id_ext(const struct AranyaAfcSendChannel *channel, struct AranyaDeviceId *__output, struct AranyaExtError *__ext_err)
Returns the device ID of the peer on the other side of the channel.
AranyaError aranya_remove_perm_from_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, AranyaPermission perm)
Remove a permission from a role.
AranyaError aranya_afc_receive_channel_get_id_ext(const struct AranyaAfcReceiveChannel *channel, struct AranyaAfcChannelId *__output, struct AranyaExtError *__ext_err)
Returns the `AranyaAfcChannelId` for the associated `AranyaAfcReceiveChannel`.
AranyaError aranya_afc_receive_channel_get_label_id_ext(const struct AranyaAfcReceiveChannel *channel, struct AranyaLabelId *__output, struct AranyaExtError *__ext_err)
Returns the `AranyaLabelId` for the associated `AranyaAfcReceiveChannel`.
A builder for initializing an `AranyaAddTeamConfig`.
Definition aranya-client.h:527
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(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_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:560
A builder for initializing an `AranyaAddTeamQuicSyncConfig`.
Definition aranya-client.h:466
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_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_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:515
Channel ID for AFC channel.
Definition aranya-client.h:707
An AFC Control Message, used to create the other end of a channel.
Definition aranya-client.h:677
AranyaError aranya_afc_ctrl_msg_cleanup(struct AranyaAfcCtrlMsg *ptr)
Releases any resources associated with ptr.
An AFC Receiving Channel Object.
Definition aranya-client.h:660
AranyaError aranya_afc_receive_channel_cleanup(struct AranyaAfcReceiveChannel *ptr)
Releases any resources associated with ptr.
An AFC Sending Channel Object.
Definition aranya-client.h:646
AranyaError aranya_afc_send_channel_cleanup(struct AranyaAfcSendChannel *ptr)
Releases any resources associated with ptr.
An AFC Sequence Number, for reordering messages.
Definition aranya-client.h:693
AranyaError aranya_afc_seq_cleanup(struct AranyaAfcSeq *ptr)
Releases any resources associated with ptr.
Configuration info builder for an Aranya client config `AranyaClientConfig`.
Definition aranya-client.h:452
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_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`.
Configuration info for Aranya.
Definition aranya-client.h:407
A handle to an Aranya Client.
Definition aranya-client.h:393
AranyaError aranya_add_role_owner(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *owning_role)
Adds owning_role as an owner of role.
AranyaError aranya_team_labels(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaLabelId *labels, size_t *labels_len)
Query for list of existing labels.
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_afc_send_channel_delete_ext(const struct AranyaClient *client, struct AranyaAfcSendChannel *channel, struct AranyaExtError *__ext_err)
Removes an `AranyaAfcSendChannel` from use.
AranyaError aranya_afc_accept_channel_ext(const struct AranyaClient *client, const struct AranyaTeamId *team_id, const uint8_t *control, size_t control_len, struct AranyaAfcReceiveChannel *channel, struct AranyaExtError *__ext_err)
Accept a receive-only AFC channel from by a peer by processing a control message.
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_setup_default_roles_ext(struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *owning_role, struct AranyaRole *roles_out, size_t *roles_len, struct AranyaExtError *__ext_err)
Assign a role to 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_change_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaRoleId *old_role, const struct AranyaRoleId *new_role, struct AranyaExtError *__ext_err)
Changes the role on a device
AranyaError aranya_afc_accept_channel(const struct AranyaClient *client, const struct AranyaTeamId *team_id, const uint8_t *control, size_t control_len, struct AranyaAfcReceiveChannel *channel)
Accept a receive-only AFC channel from by a peer by processing a control message.
AranyaError aranya_add_role_owner_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *owning_role, struct AranyaExtError *__ext_err)
Adds owning_role as an owner of role.
AranyaError aranya_sync_hello_unsubscribe_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr peer, struct AranyaExtError *__ext_err)
Unsubscribe from hello notifications from a sync peer.
AranyaError aranya_sync_hello_subscribe_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr peer, AranyaDuration graph_change_delay, AranyaDuration duration, AranyaDuration schedule_delay, struct AranyaExtError *__ext_err)
Subscribe to hello notifications from a sync peer.
AranyaError aranya_revoke_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaRoleId *role_id)
Revoke a role from a device.
AranyaError aranya_team_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_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_remove_role_owner_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *owning_role, struct AranyaExtError *__ext_err)
Removes an owning_role as an owner of role.
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_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_add_device_to_team_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const uint8_t *keybundle, size_t keybundle_len, const struct AranyaRoleId *role_id, struct AranyaExtError *__ext_err)
Add a device to the team with the default role.
AranyaError aranya_team_devices_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaDeviceId *devices, size_t *devices_len, struct AranyaExtError *__ext_err)
Query devices on team.
AranyaError aranya_client_cleanup(struct AranyaClient *ptr)
Releases any resources associated with ptr.
AranyaError aranya_team_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_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_team_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_team_roles(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaRole *roles_out, size_t *roles_out_len)
Returns all of the roles for this team.
AranyaError aranya_remove_team(const struct AranyaClient *client, const struct AranyaTeamId *team)
Remove a team from local device storage.
AranyaError aranya_team_device_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, struct AranyaRole *role_out, bool *has_role, struct AranyaExtError *__ext_err)
Returns the role assigned to the device, if any.
AranyaError aranya_team_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(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device)
Remove a device from the team.
AranyaError aranya_close_team(const struct AranyaClient *client, const struct AranyaTeamId *team)
Close the team and stop all operations on the graph.
AranyaError aranya_team_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_create_role(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaRoleName role_name, const struct AranyaRoleId *owning_role, struct AranyaRole *role_out)
Create a role.
AranyaError aranya_team_devices(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaDeviceId *devices, size_t *devices_len)
Query devices on team.
AranyaError aranya_afc_create_channel_ext(const struct AranyaClient *client, const struct AranyaTeamId *team_id, const struct AranyaDeviceId *peer_id, const struct AranyaLabelId *label_id, struct AranyaAfcSendChannel *channel, struct AranyaAfcCtrlMsg *control, struct AranyaExtError *__ext_err)
Create a send-only AFC channel between this device and a peer.
AranyaError aranya_afc_create_channel(const struct AranyaClient *client, const struct AranyaTeamId *team_id, const struct AranyaDeviceId *peer_id, const struct AranyaLabelId *label_id, struct AranyaAfcSendChannel *channel, struct AranyaAfcCtrlMsg *control)
Create a send-only AFC channel between this device and a peer.
AranyaError aranya_add_device_to_team(const struct AranyaClient *client, const struct AranyaTeamId *team, const uint8_t *keybundle, size_t keybundle_len, const struct AranyaRoleId *role_id)
Add a device to the team with the default role.
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_add_label_managing_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label_id, const struct AranyaRoleId *managing_role_id)
Add label managing role.
AranyaError aranya_client_init(struct AranyaClient *client, const struct AranyaClientConfig *config)
Initializes a new client instance.
AranyaError aranya_add_label_managing_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label_id, const struct AranyaRoleId *managing_role_id, struct AranyaExtError *__ext_err)
Add label managing role.
AranyaError aranya_sync_hello_unsubscribe(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr peer)
Unsubscribe from hello notifications from a sync peer.
AranyaError aranya_remove_role_owner(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *owning_role)
Removes an owning_role as an owner of role.
AranyaError aranya_delete_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role)
Delete a role.
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_team_label_exists(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaLabelId *label, bool *__output)
Query if a label exists.
AranyaError aranya_create_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaRoleName role_name, const struct AranyaRoleId *owning_role, struct AranyaRole *role_out, struct AranyaExtError *__ext_err)
Create a role.
AranyaError aranya_afc_receive_channel_delete(const struct AranyaClient *client, struct AranyaAfcReceiveChannel *channel)
Removes an `AranyaAfcReceiveChannel` from use.
AranyaError aranya_role_owners_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, struct AranyaRole *roles_out, size_t *roles_len, struct AranyaExtError *__ext_err)
Returns the roles that own role.
AranyaError aranya_team_device_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, struct AranyaRole *role_out, bool *has_role)
Returns the role assigned to the device, if any.
AranyaError aranya_assign_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaRoleId *role_id)
Assign a role to a device.
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_sync_hello_subscribe(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaAddr peer, AranyaDuration graph_change_delay, AranyaDuration duration, AranyaDuration schedule_delay)
Subscribe to hello notifications from a sync peer.
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_team_roles_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, struct AranyaRole *roles_out, size_t *roles_out_len, struct AranyaExtError *__ext_err)
Returns all of the roles for this team.
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_afc_receive_channel_delete_ext(const struct AranyaClient *client, struct AranyaAfcReceiveChannel *channel, struct AranyaExtError *__ext_err)
Removes an `AranyaAfcReceiveChannel` from use.
AranyaError aranya_delete_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, struct AranyaExtError *__ext_err)
Delete a role.
AranyaError aranya_add_team(const struct AranyaClient *client, const struct AranyaAddTeamConfig *cfg)
Add a team to the local device store.
AranyaError aranya_role_owners(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, struct AranyaRole *roles_out, size_t *roles_len)
Returns the roles that own role.
AranyaError aranya_setup_default_roles(struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *owning_role, struct AranyaRole *roles_out, size_t *roles_len)
Assign a role to a device.
AranyaError aranya_change_role(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaRoleId *old_role, const struct AranyaRoleId *new_role)
Changes the role on a device
AranyaError aranya_revoke_role_management_permission_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *managing_role, AranyaRoleManagementPermission perm, struct AranyaExtError *__ext_err)
Revokes a role management permission from a managing role.
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_assign_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaRoleId *role_id, struct AranyaExtError *__ext_err)
Assign a role to a device.
AranyaError aranya_revoke_role_management_permission(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *managing_role, AranyaRoleManagementPermission perm)
Revokes a role management permission from a managing role.
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_revoke_role_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaDeviceId *device, const struct AranyaRoleId *role_id, struct AranyaExtError *__ext_err)
Revoke a role from a device.
AranyaError aranya_afc_send_channel_delete(const struct AranyaClient *client, struct AranyaAfcSendChannel *channel)
Removes an `AranyaAfcSendChannel` from use.
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_assign_role_management_permission(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *managing_role, AranyaRoleManagementPermission perm)
Assigns a role management permission to a managing role.
AranyaError aranya_team_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_assign_role_management_permission_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, const struct AranyaRoleId *role, const struct AranyaRoleId *managing_role, AranyaRoleManagementPermission perm, struct AranyaExtError *__ext_err)
Assigns a role management permission to a managing role.
AranyaError aranya_create_label_ext(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaLabelName name, const struct AranyaRoleId *managing_role_id, struct AranyaLabelId *__output, struct AranyaExtError *__ext_err)
Create a channel label.
AranyaError aranya_create_label(const struct AranyaClient *client, const struct AranyaTeamId *team, AranyaLabelName name, const struct AranyaRoleId *managing_role_id, struct AranyaLabelId *__output)
Create a channel label.
A builder for initializing a `AranyaCreateTeamConfig`.
Definition aranya-client.h:539
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_build_ext(struct AranyaCreateTeamConfigBuilder *cfg, struct AranyaCreateTeamConfig *out, struct AranyaExtError *__ext_err)
Attempts to construct a `AranyaCreateTeamConfig`.
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:574
A builder for initializing a `AranyaCreateTeamQuicSyncConfig`.
Definition aranya-client.h:480
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_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_generate(struct AranyaCreateTeamQuicSyncConfigBuilder *cfg)
Attempts to set PSK seed generation mode value on `AranyaCreateTeamQuicSyncConfigBuilder`.
QUIC syncer configuration.
Definition aranya-client.h:501
Device ID.
Definition aranya-client.h:445
Definition aranya-client.h:381
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_cleanup(struct AranyaExtError *ptr)
Releases any resources associated with ptr.
Cryptographically secure Aranya ID.
Definition aranya-client.h:431
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:631
Uniquely identifies a `AranyaRole`.
Definition aranya-client.h:438
A role.
Definition aranya-client.h:419
AranyaError aranya_role_get_author(const struct AranyaRole *role, struct AranyaDeviceId *__output)
Get the author of a role.
AranyaError aranya_role_get_id_ext(const struct AranyaRole *role, struct AranyaRoleId *__output, struct AranyaExtError *__ext_err)
Get ID of role.
AranyaError aranya_role_cleanup(struct AranyaRole *ptr)
Releases any resources associated with ptr.
AranyaError aranya_role_get_name(const struct AranyaRole *role, const char **__output)
Get name of role.
AranyaError aranya_role_get_id(const struct AranyaRole *role, struct AranyaRoleId *__output)
Get ID of role.
AranyaError aranya_role_get_author_ext(const struct AranyaRole *role, struct AranyaDeviceId *__output, struct AranyaExtError *__ext_err)
Get the author of a role.
Raw PSK seed IKM for QUIC syncer.
Definition aranya-client.h:492
Builder for a Sync Peer config `AranyaSyncPeerConfig`.
Definition aranya-client.h:586
AranyaError aranya_sync_peer_config_builder_cleanup(struct AranyaSyncPeerConfigBuilder *ptr)
Releases any resources associated with ptr.
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_sync_on_hello(struct AranyaSyncPeerConfigBuilder *cfg, uint32_t sync_on_hello)
Sets whether automatic syncing should occur when a hello message is received from this peer indicatin...
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_set_sync_on_hello_ext(struct AranyaSyncPeerConfigBuilder *cfg, uint32_t sync_on_hello, struct AranyaExtError *__ext_err)
Sets whether automatic syncing should occur when a hello message is received from this peer indicatin...
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:600
Team ID.
Definition aranya-client.h:551