summaryrefslogtreecommitdiffstats
path: root/inc/phNfcLlcpTypes.h
diff options
context:
space:
mode:
authorNick Pelly <npelly@google.com>2010-09-23 12:47:58 -0700
committerNick Pelly <npelly@google.com>2010-09-23 13:53:18 -0700
commit5d9927ba30ba449badb9f6df0fbeb4d6aedc6e2a (patch)
tree190f9251c6db03d3550ec7f30b51a2561c01d9cf /inc/phNfcLlcpTypes.h
parent4ff7c86a2c706b150078274455406f1b04966e1a (diff)
downloadexternal_libnfc-nxp-5d9927ba30ba449badb9f6df0fbeb4d6aedc6e2a.zip
external_libnfc-nxp-5d9927ba30ba449badb9f6df0fbeb4d6aedc6e2a.tar.gz
external_libnfc-nxp-5d9927ba30ba449badb9f6df0fbeb4d6aedc6e2a.tar.bz2
Initial libnfc checkin
Source: Trusted_NFC_Device_Host_AA03.01e02_google.zip code drop (23-Sep-2010) Change-Id: Ie47f18423f949a8d3e0815d13f55c814312add24 Signed-off-by: Nick Pelly <npelly@google.com>
Diffstat (limited to 'inc/phNfcLlcpTypes.h')
-rw-r--r--inc/phNfcLlcpTypes.h135
1 files changed, 135 insertions, 0 deletions
diff --git a/inc/phNfcLlcpTypes.h b/inc/phNfcLlcpTypes.h
new file mode 100644
index 0000000..3c555c2
--- /dev/null
+++ b/inc/phNfcLlcpTypes.h
@@ -0,0 +1,135 @@
+/*
+ * 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_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 5 /**< Max.number of simultaneous sockets */
+/*@}*/
+
+/**
+ * \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 */