blob: ecd1f4e1e98dfb7672aaf68abd7f56dcd5e0c2c3 [file] [log] [blame]
/*
*
* Near Field Communication nfctool
*
* Copyright (C) 2012 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#ifndef __NFCTOOL_H
#define __NFCTOOL_H
#include "display.h"
#ifdef DEBUG
#define DBG(fmt, ...) fprintf(stdout, "%s: " fmt "\n", __func__, ## __VA_ARGS__)
#else
#define DBG(fmt, ...)
#endif
#define LLCP_COLOR COLOR_CYAN
#define LLCP_HEADER_INDENT 0
#define LLCP_MSG_INDENT 4
#define SNEP_COLOR COLOR_YELLOW
#define SNEP_HEADER_INDENT 4
#define SNEP_MSG_INDENT 6
#define NDEF_COLOR COLOR_BLUE
#define NDEF_HEADER_INDENT 6
#define NDEF_MSG_INDENT 8
#define NDEF_HEX_INDENT 9
#define print_error(fmt, ...) fprintf(stderr, fmt"\n", ## __VA_ARGS__)
#define POLLING_MODE_INITIATOR 0x01
#define POLLING_MODE_TARGET 0x02
#define POLLING_MODE_BOTH 0x03
#define INVALID_ADAPTER_IDX 0xFFFFFFFF
#define TARGET_TYPE_TAG 0
#define TARGET_TYPE_DEVICE 1
#define SNIFFER_SHOW_TIMESTAMP_NONE 0
#define SNIFFER_SHOW_TIMESTAMP_DELTA 1
#define SNIFFER_SHOW_TIMESTAMP_ABS 2
struct nfctool_options {
gboolean show_version;
gboolean list;
gboolean poll;
guint8 poll_mode;
gchar *device_name;
guint32 adapter_idx;
gboolean enable_dev;
gboolean disable_dev;
gchar *fw_filename;
gboolean set_param;
gint32 lto;
gint32 rw;
gint32 miux;
gboolean need_netlink;
gboolean snl;
GSList *snl_list;
gboolean sniff;
gsize snap_len;
gboolean dump_symm;
guint8 show_timestamp;
guint8 snep_sap;
guint8 handover_sap;
gchar *pcap_filename;
gchar *vendor_cmd;
gboolean push_snep_msg;
gboolean push_snep_uri;
};
struct nfc_snl {
gchar *uri;
gsize uri_size;
guint8 sap;
};
struct nfc_snl *nfctool_snl_alloc(gsize uri_size);
void nfctool_sdres_free(struct nfc_snl *snl);
extern struct nfctool_options opts;
#endif /* __NFCTOOL_H */