Lines Matching refs:nl

565 fido_nl_power_nfc(fido_nl_t *nl, uint32_t dev)  in fido_nl_power_nfc()  argument
572 if ((m = nlmsg_new(nl->nfc_type, NLM_F_ACK, 64)) == NULL || in fido_nl_power_nfc()
575 nlmsg_tx(nl->fd, m) < 0) { in fido_nl_power_nfc()
580 if ((r = nlmsg_rx(nl->fd, reply, sizeof(reply), -1)) < 0) { in fido_nl_power_nfc()
584 if ((ok = nl_parse_reply(reply, (size_t)r, nl->nfc_type, in fido_nl_power_nfc()
594 nl_nfc_poll(fido_nl_t *nl, uint32_t dev) in nl_nfc_poll() argument
601 if ((m = nlmsg_new(nl->nfc_type, NLM_F_ACK, 64)) == NULL || in nl_nfc_poll()
605 nlmsg_tx(nl->fd, m) < 0) { in nl_nfc_poll()
610 if ((r = nlmsg_rx(nl->fd, reply, sizeof(reply), -1)) < 0) { in nl_nfc_poll()
614 if ((ok = nl_parse_reply(reply, (size_t)r, nl->nfc_type, in nl_nfc_poll()
624 nl_dump_nfc_target(fido_nl_t *nl, uint32_t dev, uint32_t *target, int ms) in nl_dump_nfc_target() argument
632 if ((m = nlmsg_new(nl->nfc_type, NLM_F_DUMP, 64)) == NULL || in nl_dump_nfc_target()
635 nlmsg_tx(nl->fd, m) < 0) { in nl_dump_nfc_target()
640 if ((r = nlmsg_rx(nl->fd, reply, sizeof(reply), ms)) < 0) { in nl_dump_nfc_target()
646 if ((ok = nl_parse_reply(reply, (size_t)r, nl->nfc_type, in nl_dump_nfc_target()
682 fido_nl_get_nfc_target(fido_nl_t *nl, uint32_t dev, uint32_t *target) in fido_nl_get_nfc_target() argument
689 if (nl_nfc_poll(nl, dev) < 0) { in fido_nl_get_nfc_target()
694 if (setsockopt(nl->fd, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, in fido_nl_get_nfc_target()
695 &nl->nfc_mcastgrp, sizeof(nl->nfc_mcastgrp)) == -1) { in fido_nl_get_nfc_target()
700 r = nlmsg_rx(nl->fd, reply, sizeof(reply), NETLINK_POLL_MS); in fido_nl_get_nfc_target()
702 if (setsockopt(nl->fd, SOL_NETLINK, NETLINK_DROP_MEMBERSHIP, in fido_nl_get_nfc_target()
703 &nl->nfc_mcastgrp, sizeof(nl->nfc_mcastgrp)) == -1) { in fido_nl_get_nfc_target()
714 if ((ok = nl_parse_reply(reply, (size_t)r, nl->nfc_type, in fido_nl_get_nfc_target()
723 if (nl_dump_nfc_target(nl, dev, target, -1) < 0) { in fido_nl_get_nfc_target()
734 fido_nl_t *nl; in fido_nl_free() local
736 if (nlp == NULL || (nl = *nlp) == NULL) in fido_nl_free()
738 if (nl->fd != -1 && close(nl->fd) == -1) in fido_nl_free()
741 free(nl); in fido_nl_free()
748 fido_nl_t *nl; in fido_nl_new() local
751 if ((nl = calloc(1, sizeof(*nl))) == NULL) in fido_nl_new()
753 if ((nl->fd = socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, in fido_nl_new()
758 nl->saddr.nl_family = AF_NETLINK; in fido_nl_new()
759 if (bind(nl->fd, (struct sockaddr *)&nl->saddr, in fido_nl_new()
760 sizeof(nl->saddr)) == -1) { in fido_nl_new()
764 if (nl_get_nfc_family(nl->fd, &nl->nfc_type, &nl->nfc_mcastgrp) < 0) { in fido_nl_new()
772 fido_nl_free(&nl); in fido_nl_new()
774 return (nl); in fido_nl_new()