Path: blob/main/contrib/libfido2/examples/reset.c
103756 views
/*1* Copyright (c) 2018-2021 Yubico AB. All rights reserved.2* Use of this source code is governed by a BSD-style3* license that can be found in the LICENSE file.4* SPDX-License-Identifier: BSD-2-Clause5*/67/*8* Perform a factory reset on a given authenticator.9*/1011#include <fido.h>12#include <stdio.h>13#include <stdlib.h>1415#include "../openbsd-compat/openbsd-compat.h"16#include "extern.h"1718int19main(int argc, char **argv)20{21fido_dev_t *dev;22int r;2324if (argc != 2) {25fprintf(stderr, "usage: reset <device>\n");26exit(EXIT_FAILURE);27}2829fido_init(0);3031if ((dev = fido_dev_new()) == NULL)32errx(1, "fido_dev_new");3334if ((r = fido_dev_open(dev, argv[1])) != FIDO_OK)35errx(1, "fido_dev_open: %s (0x%x)", fido_strerr(r), r);3637if ((r = fido_dev_reset(dev)) != FIDO_OK) {38fido_dev_cancel(dev);39errx(1, "fido_dev_reset: %s (0x%x)", fido_strerr(r), r);40}4142if ((r = fido_dev_close(dev)) != FIDO_OK)43errx(1, "fido_dev_close: %s (0x%x)", fido_strerr(r), r);4445fido_dev_free(&dev);4647exit(0);48}495051