<p></p>
<p><b>@Ollrogge</b> commented on this pull request.</p>

<hr>

<p>In <a href="https://github.com/RIOT-OS/RIOT/pull/16489#discussion_r639703098">sys/fido2/ctap/ctap.c</a>:</p>
<pre style='color:#555'>> +#include <assert.h>
+
+#include "fmt.h"
+#include "xtimer.h"
+#include "byteorder.h"
+
+#include "fido2/ctap/transport/ctap_transport.h"
+#include "fido2/ctap.h"
+#include "fido2/ctap/ctap_utils.h"
+#include "fido2/ctap/ctap_cbor.h"
+#include "fido2/ctap/ctap_mem.h"
+
+#define ENABLE_DEBUG    (0)
+#include "debug.h"
+
+/*** main CTAP2 functions ***/
</pre>
<p>Yes all the main functions are defined in the spec. The helper functions are specific to this implementation.<br>
I think you are suggesting to define all methods defined in the CTAP spec publicly in <code>ctap.h</code>? This might be useful when the code is used for an internal authenticator that does not communicate over USB/NFC/BLE with the host. Otherwise only exposing <code>fido2_ctap_handle_request</code> should be enough, as the communication layers do not know which kind of CTAP method is being called.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/RIOT-OS/RIOT/pull/16489#discussion_r639703098">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABE7WYALUZF4CEWZG24XWNTTPTWN5ANCNFSM45IUCTGA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/ABE7WYGXTTT2DFQ6NDX5E2LTPTWN5A5CNFSM45IUCTGKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOE7P7HUI.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/RIOT-OS/RIOT/pull/16489#discussion_r639703098",
"url": "https://github.com/RIOT-OS/RIOT/pull/16489#discussion_r639703098",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>