Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  hci.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (C) 2012  Intel Corporation. All rights reserved.
 */


#ifndef __LOCAL_HCI_H
#define __LOCAL_HCI_H

#include <net/nfc/hci.h>

struct gate_pipe_map {
 u8 gate;
 u8 pipe;
};

struct hcp_message {
 u8 header;  /* type -cmd,evt,rsp- + instruction */
 u8 data[];
} __packed;

struct hcp_packet {
 u8 header;  /* cbit+pipe */
 struct hcp_message message;
} __packed;

struct hcp_exec_waiter {
 wait_queue_head_t *wq;
 bool exec_complete;
 int exec_result;
 struct sk_buff *result_skb;
};

struct hci_msg {
 struct list_head msg_l;
 struct sk_buff_head msg_frags;
 bool wait_response;
 data_exchange_cb_t cb;
 void *cb_context;
 unsigned long completion_delay;
};

struct hci_create_pipe_params {
 u8 src_gate;
 u8 dest_host;
 u8 dest_gate;
} __packed;

struct hci_create_pipe_resp {
 u8 src_host;
 u8 src_gate;
 u8 dest_host;
 u8 dest_gate;
 u8 pipe;
} __packed;

struct hci_delete_pipe_noti {
 u8 pipe;
} __packed;

struct hci_all_pipe_cleared_noti {
 u8 host;
} __packed;

#define NFC_HCI_FRAGMENT 0x7f

#define HCP_HEADER(type, instr) ((((type) & 0x03) << 6) | ((instr) & 0x3f))
#define HCP_MSG_GET_TYPE(header) ((header & 0xc0) >> 6)
#define HCP_MSG_GET_CMD(header) (header & 0x3f)

int nfc_hci_hcp_message_tx(struct nfc_hci_dev *hdev, u8 pipe,
      u8 type, u8 instruction,
      const u8 *payload, size_t payload_len,
      data_exchange_cb_t cb, void *cb_context,
      unsigned long completion_delay);

void nfc_hci_hcp_message_rx(struct nfc_hci_dev *hdev, u8 pipe, u8 type,
       u8 instruction, struct sk_buff *skb);

/* HCP headers */
#define NFC_HCI_HCP_PACKET_HEADER_LEN 1
#define NFC_HCI_HCP_MESSAGE_HEADER_LEN 1
#define NFC_HCI_HCP_HEADER_LEN  2

/* HCP types */
#define NFC_HCI_HCP_COMMAND 0x00
#define NFC_HCI_HCP_EVENT 0x01
#define NFC_HCI_HCP_RESPONSE 0x02

/* Generic commands */
#define NFC_HCI_ANY_SET_PARAMETER 0x01
#define NFC_HCI_ANY_GET_PARAMETER 0x02
#define NFC_HCI_ANY_OPEN_PIPE  0x03
#define NFC_HCI_ANY_CLOSE_PIPE  0x04

/* Reader RF commands */
#define NFC_HCI_WR_XCHG_DATA  0x10

/* Admin commands */
#define NFC_HCI_ADM_CREATE_PIPE   0x10
#define NFC_HCI_ADM_DELETE_PIPE   0x11
#define NFC_HCI_ADM_NOTIFY_PIPE_CREATED  0x12
#define NFC_HCI_ADM_NOTIFY_PIPE_DELETED  0x13
#define NFC_HCI_ADM_CLEAR_ALL_PIPE  0x14
#define NFC_HCI_ADM_NOTIFY_ALL_PIPE_CLEARED 0x15

/* Generic responses */
#define NFC_HCI_ANY_OK    0x00
#define NFC_HCI_ANY_E_NOT_CONNECTED  0x01
#define NFC_HCI_ANY_E_CMD_PAR_UNKNOWN  0x02
#define NFC_HCI_ANY_E_NOK   0x03
#define NFC_HCI_ANY_E_PIPES_FULL  0x04
#define NFC_HCI_ANY_E_REG_PAR_UNKNOWN  0x05
#define NFC_HCI_ANY_E_PIPE_NOT_OPENED  0x06
#define NFC_HCI_ANY_E_CMD_NOT_SUPPORTED  0x07
#define NFC_HCI_ANY_E_INHIBITED   0x08
#define NFC_HCI_ANY_E_TIMEOUT   0x09
#define NFC_HCI_ANY_E_REG_ACCESS_DENIED  0x0a
#define NFC_HCI_ANY_E_PIPE_ACCESS_DENIED 0x0b

#endif /* __LOCAL_HCI_H */

Messung V0.5
C=91 H=100 G=95

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge