| /* |
| * Copyright (C) 2010 NXP Semiconductors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /** |
| * \file phNfcLlcpTypes.h |
| * \brief NFC LLCP public types |
| * |
| * Project: NFC-FRI |
| * |
| */ |
| |
| |
| #ifndef PHNFCLLCPTYPES_H /* */ |
| #define PHNFCLLCPTYPES_H /* */ |
| |
| #include <phNfcTypes.h> |
| #include <phLibNfcStatus.h> |
| |
| /*=========== CONSTANTS ===========*/ |
| |
| /** |
| * \name LLCP default parameters. |
| * |
| * Definitions for use when wanting to use default LLCP parameter values. |
| * |
| */ |
| /*@{*/ |
| #define PHFRINFC_LLCP_MIU_DEFAULT 128 /**< Default MIU value (in bytes).*/ |
| #define PHFRINFC_LLCP_WKS_DEFAULT 1 /**< Default WKS value (bitfield).*/ |
| #define PHFRINFC_LLCP_LTO_DEFAULT 10 /**< Default LTO value (in step of 10ms).*/ |
| #define PHFRINFC_LLCP_RW_DEFAULT 1 /**< Default RW value (in frames).*/ |
| #define PHFRINFC_LLCP_OPTION_DEFAULT 0 /**< Default OPTION value (in frames).*/ |
| #define PHFRINFC_LLCP_MIUX_DEFAULT 0 /**< Default MIUX value (in bytes) */ |
| #define PHFRINFC_LLCP_MIUX_MAX 0x7FF /**< Max MIUX value (in bytes) */ |
| #define PHFRINFC_LLCP_PDU_HEADER_MAX 3 /**< Max size of PDU header (in bytes) */ |
| #define PHFRINFC_LLCP_SN_MAX_LENGTH 255 /**< Max length value for the Service Name */ |
| #define PHFRINFC_LLCP_RW_MAX 15 /**< Max RW value (in frames).*/ |
| /*@}*/ |
| |
| /** |
| * \name LLCP config parameters. |
| * |
| * Definitions used for internal LLCP configuration. |
| * |
| */ |
| /*@{*/ |
| #define PHFRINFC_LLCP_NB_SOCKET_MAX 10 /**< Max.number of simultaneous sockets */ |
| #define PHFRINFC_LLCP_SNL_RESPONSE_MAX 256 /**< Max.number of simultaneous discovery requests */ |
| /*@}*/ |
| |
| /** |
| * \internal |
| * \name Fixed value for ERROR op code. |
| * |
| */ |
| /*@{*/ |
| #define PHFRINFC_LLCP_ERR_DISCONNECTED 0x00 |
| #define PHFRINFC_LLCP_ERR_FRAME_REJECTED 0x01 |
| #define PHFRINFC_LLCP_ERR_BUSY_CONDITION 0x02 |
| #define PHFRINFC_LLCP_ERR_NOT_BUSY_CONDITION 0x03 |
| |
| /** |
| * \internal |
| * \name Fixed value for DM op code. |
| * |
| */ |
| /*@{*/ |
| #define PHFRINFC_LLCP_DM_OPCODE_DISCONNECTED 0x00 |
| #define PHFRINFC_LLCP_DM_OPCODE_SAP_NOT_ACTIVE 0x01 |
| #define PHFRINFC_LLCP_DM_OPCODE_SAP_NOT_FOUND 0x02 |
| #define PHFRINFC_LLCP_DM_OPCODE_CONNECT_REJECTED 0x03 |
| #define PHFRINFC_LLCP_DM_OPCODE_CONNECT_NOT_ACCEPTED 0x20 |
| #define PHFRINFC_LLCP_DM_OPCODE_SOCKET_NOT_AVAILABLE 0x21 |
| |
| |
| /*========== ENUMERATES ===========*/ |
| |
| /* Enum reperesents the different LLCP Link status*/ |
| typedef enum phFriNfc_LlcpMac_eLinkStatus |
| { |
| phFriNfc_LlcpMac_eLinkDefault, |
| phFriNfc_LlcpMac_eLinkActivated, |
| phFriNfc_LlcpMac_eLinkDeactivated |
| }phFriNfc_LlcpMac_eLinkStatus_t; |
| |
| /* Enum represents the different Socket types */ |
| typedef enum phFriNfc_LlcpTransport_eSocketType |
| { |
| phFriNfc_LlcpTransport_eDefaultType, |
| phFriNfc_LlcpTransport_eConnectionOriented, |
| phFriNfc_LlcpTransport_eConnectionLess |
| }phFriNfc_LlcpTransport_eSocketType_t; |
| |
| |
| /*========== STRUCTURES ===========*/ |
| |
| typedef struct phFriNfc_LlcpTransport_sSocketOptions |
| { |
| /** The remote Maximum Information Unit Extension (NOTE: this is MIUX, not MIU !)*/ |
| uint16_t miu; |
| |
| /** The Receive Window size (4 bits)*/ |
| uint8_t rw; |
| |
| }phFriNfc_LlcpTransport_sSocketOptions_t; |
| |
| typedef struct phFriNfc_Llcp_sLinkParameters |
| { |
| /** The remote Maximum Information Unit (NOTE: this is MIU, not MIUX !)*/ |
| uint16_t miu; |
| |
| /** The remote Well-Known Services*/ |
| uint16_t wks; |
| |
| /** The remote Link TimeOut (in 1/100s)*/ |
| uint8_t lto; |
| |
| /** The remote options*/ |
| uint8_t option; |
| |
| } phFriNfc_Llcp_sLinkParameters_t; |
| |
| #endif |
| |
| /* EOF */ |