-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NFC: add nfc generic netlink interface
The NFC generic netlink interface exports the NFC control operations to the user space. Signed-off-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org> Signed-off-by: Aloisio Almeida Jr <aloisio.almeida@openbossa.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
- Loading branch information
Lauro Ramos Venancio
authored and
John W. Linville
committed
Jul 5, 2011
1 parent
3e256b8
commit 4d12b8b
Showing
6 changed files
with
773 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
/* | ||
* Copyright (C) 2011 Instituto Nokia de Tecnologia | ||
* | ||
* Authors: | ||
* Lauro Ramos Venancio <lauro.venancio@openbossa.org> | ||
* Aloisio Almeida Jr <aloisio.almeida@openbossa.org> | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation; either version 2 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* 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., | ||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
*/ | ||
|
||
#ifndef __LINUX_NFC_H | ||
#define __LINUX_NFC_H | ||
|
||
#define NFC_GENL_NAME "nfc" | ||
#define NFC_GENL_VERSION 1 | ||
|
||
#define NFC_GENL_MCAST_EVENT_NAME "events" | ||
|
||
/** | ||
* enum nfc_commands - supported nfc commands | ||
* | ||
* @NFC_CMD_UNSPEC: unspecified command | ||
* | ||
* @NFC_CMD_GET_DEVICE: request information about a device (requires | ||
* %NFC_ATTR_DEVICE_INDEX) or dump request to get a list of all nfc devices | ||
* @NFC_CMD_START_POLL: start polling for targets using the given protocols | ||
* (requires %NFC_ATTR_DEVICE_INDEX and %NFC_ATTR_PROTOCOLS) | ||
* @NFC_CMD_STOP_POLL: stop polling for targets (requires | ||
* %NFC_ATTR_DEVICE_INDEX) | ||
* @NFC_CMD_GET_TARGET: dump all targets found by the previous poll (requires | ||
* %NFC_ATTR_DEVICE_INDEX) | ||
* @NFC_EVENT_TARGETS_FOUND: event emitted when a new target is found | ||
* (it sends %NFC_ATTR_DEVICE_INDEX) | ||
* @NFC_EVENT_DEVICE_ADDED: event emitted when a new device is registred | ||
* (it sends %NFC_ATTR_DEVICE_NAME, %NFC_ATTR_DEVICE_INDEX and | ||
* %NFC_ATTR_PROTOCOLS) | ||
* @NFC_EVENT_DEVICE_REMOVED: event emitted when a device is removed | ||
* (it sends %NFC_ATTR_DEVICE_INDEX) | ||
*/ | ||
enum nfc_commands { | ||
NFC_CMD_UNSPEC, | ||
NFC_CMD_GET_DEVICE, | ||
NFC_CMD_START_POLL, | ||
NFC_CMD_STOP_POLL, | ||
NFC_CMD_GET_TARGET, | ||
NFC_EVENT_TARGETS_FOUND, | ||
NFC_EVENT_DEVICE_ADDED, | ||
NFC_EVENT_DEVICE_REMOVED, | ||
/* private: internal use only */ | ||
__NFC_CMD_AFTER_LAST | ||
}; | ||
#define NFC_CMD_MAX (__NFC_CMD_AFTER_LAST - 1) | ||
|
||
/** | ||
* enum nfc_attrs - supported nfc attributes | ||
* | ||
* @NFC_ATTR_UNSPEC: unspecified attribute | ||
* | ||
* @NFC_ATTR_DEVICE_INDEX: index of nfc device | ||
* @NFC_ATTR_DEVICE_NAME: device name, max 8 chars | ||
* @NFC_ATTR_PROTOCOLS: nfc protocols - bitwise or-ed combination from | ||
* NFC_PROTO_*_MASK constants | ||
* @NFC_ATTR_TARGET_INDEX: index of the nfc target | ||
* @NFC_ATTR_TARGET_SENS_RES: NFC-A targets extra information such as NFCID | ||
* @NFC_ATTR_TARGET_SEL_RES: NFC-A targets extra information (useful if the | ||
* target is not NFC-Forum compliant) | ||
*/ | ||
enum nfc_attrs { | ||
NFC_ATTR_UNSPEC, | ||
NFC_ATTR_DEVICE_INDEX, | ||
NFC_ATTR_DEVICE_NAME, | ||
NFC_ATTR_PROTOCOLS, | ||
NFC_ATTR_TARGET_INDEX, | ||
NFC_ATTR_TARGET_SENS_RES, | ||
NFC_ATTR_TARGET_SEL_RES, | ||
/* private: internal use only */ | ||
__NFC_ATTR_AFTER_LAST | ||
}; | ||
#define NFC_ATTR_MAX (__NFC_ATTR_AFTER_LAST - 1) | ||
|
||
#define NFC_DEVICE_NAME_MAXSIZE 8 | ||
|
||
/* NFC protocols */ | ||
#define NFC_PROTO_JEWEL 1 | ||
#define NFC_PROTO_MIFARE 2 | ||
#define NFC_PROTO_FELICA 3 | ||
#define NFC_PROTO_ISO14443 4 | ||
#define NFC_PROTO_NFC_DEP 5 | ||
|
||
#define NFC_PROTO_MAX 6 | ||
|
||
/* NFC protocols masks used in bitsets */ | ||
#define NFC_PROTO_JEWEL_MASK (1 << NFC_PROTO_JEWEL) | ||
#define NFC_PROTO_MIFARE_MASK (1 << NFC_PROTO_MIFARE) | ||
#define NFC_PROTO_FELICA_MASK (1 << NFC_PROTO_FELICA) | ||
#define NFC_PROTO_ISO14443_MASK (1 << NFC_PROTO_ISO14443) | ||
#define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP) | ||
|
||
#endif /*__LINUX_NFC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,4 +4,4 @@ | |
|
||
obj-$(CONFIG_NFC) += nfc.o | ||
|
||
nfc-objs := core.o | ||
nfc-objs := core.o netlink.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.