root/net/nfc/hci/llc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. nfc_llc_shdlc_register

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Link Layer Control manager
   4  *
   5  * Copyright (C) 2012  Intel Corporation. All rights reserved.
   6  */
   7 
   8 #ifndef __LOCAL_LLC_H_
   9 #define __LOCAL_LLC_H_
  10 
  11 #include <net/nfc/hci.h>
  12 #include <net/nfc/llc.h>
  13 #include <linux/skbuff.h>
  14 
  15 struct nfc_llc_ops {
  16         void *(*init) (struct nfc_hci_dev *hdev, xmit_to_drv_t xmit_to_drv,
  17                        rcv_to_hci_t rcv_to_hci, int tx_headroom,
  18                        int tx_tailroom, int *rx_headroom, int *rx_tailroom,
  19                        llc_failure_t llc_failure);
  20         void (*deinit) (struct nfc_llc *llc);
  21         int (*start) (struct nfc_llc *llc);
  22         int (*stop) (struct nfc_llc *llc);
  23         void (*rcv_from_drv) (struct nfc_llc *llc, struct sk_buff *skb);
  24         int (*xmit_from_hci) (struct nfc_llc *llc, struct sk_buff *skb);
  25 };
  26 
  27 struct nfc_llc_engine {
  28         const char *name;
  29         struct nfc_llc_ops *ops;
  30         struct list_head entry;
  31 };
  32 
  33 struct nfc_llc {
  34         void *data;
  35         struct nfc_llc_ops *ops;
  36         int rx_headroom;
  37         int rx_tailroom;
  38 };
  39 
  40 void *nfc_llc_get_data(struct nfc_llc *llc);
  41 
  42 int nfc_llc_register(const char *name, struct nfc_llc_ops *ops);
  43 void nfc_llc_unregister(const char *name);
  44 
  45 int nfc_llc_nop_register(void);
  46 
  47 #if defined(CONFIG_NFC_SHDLC)
  48 int nfc_llc_shdlc_register(void);
  49 #else
  50 static inline int nfc_llc_shdlc_register(void)
  51 {
  52         return 0;
  53 }
  54 #endif
  55 
  56 #endif /* __LOCAL_LLC_H_ */

/* [<][>][^][v][top][bottom][index][help] */