net/nfc/digital_technology.c
Source file repositories/reference/linux-study-clean/net/nfc/digital_technology.c
File Facts
- System
- Linux kernel
- Corpus path
net/nfc/digital_technology.c- Extension
.c- Size
- 27150 bytes
- Lines
- 1307
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: implementation source
- Status
- source implementation candidate
Why This File Exists
Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
digital.h
Detected Declarations
struct digital_sdd_resstruct digital_sel_reqstruct digital_sensb_reqstruct digital_sensb_resstruct digital_attrib_reqstruct digital_attrib_resstruct digital_sensf_reqstruct digital_sensf_resstruct digital_iso15693_inv_reqstruct digital_iso15693_inv_resfunction digital_in_iso_dep_pull_sodfunction digital_in_iso_dep_push_sodfunction digital_in_recv_atsfunction digital_in_send_ratsfunction digital_in_recv_sel_resfunction digital_in_send_sel_reqfunction digital_in_recv_sdd_resfunction digital_in_send_sdd_reqfunction digital_in_recv_sens_resfunction digital_in_send_sens_reqfunction digital_in_recv_mifare_resfunction digital_in_recv_attrib_resfunction digital_in_send_attrib_reqfunction digital_in_recv_sensb_resfunction digital_in_send_sensb_reqfunction digital_in_recv_sensf_resfunction digital_in_send_sensf_reqfunction digital_in_recv_iso15693_inv_resfunction digital_in_send_iso15693_inv_reqfunction digital_tg_send_sel_resfunction digital_tg_recv_sel_reqfunction digital_tg_send_sdd_resfunction digital_tg_recv_sdd_reqfunction digital_tg_send_sens_resfunction digital_tg_recv_sens_reqfunction digital_tg_recv_atr_or_sensf_reqfunction digital_tg_send_sensf_resfunction digital_tg_recv_sensf_reqfunction digital_tg_config_nfcafunction digital_tg_listen_nfcafunction digital_tg_config_nfcffunction digital_tg_listen_nfcffunction digital_tg_recv_md_req
Annotated Snippet
struct digital_sdd_res {
u8 nfcid1[4];
u8 bcc;
} __packed;
struct digital_sel_req {
u8 sel_cmd;
u8 b2;
u8 nfcid1[4];
u8 bcc;
} __packed;
struct digital_sensb_req {
u8 cmd;
u8 afi;
u8 param;
} __packed;
struct digital_sensb_res {
u8 cmd;
u8 nfcid0[4];
u8 app_data[4];
u8 proto_info[3];
} __packed;
struct digital_attrib_req {
u8 cmd;
u8 nfcid0[4];
u8 param1;
u8 param2;
u8 param3;
u8 param4;
} __packed;
struct digital_attrib_res {
u8 mbli_did;
} __packed;
struct digital_sensf_req {
u8 cmd;
u8 sc1;
u8 sc2;
u8 rc;
u8 tsn;
} __packed;
struct digital_sensf_res {
u8 cmd;
u8 nfcid2[8];
u8 pad0[2];
u8 pad1[3];
u8 mrti_check;
u8 mrti_update;
u8 pad2;
u8 rd[2];
} __packed;
struct digital_iso15693_inv_req {
u8 flags;
u8 cmd;
u8 mask_len;
u64 mask;
} __packed;
struct digital_iso15693_inv_res {
u8 flags;
u8 dsfid;
u64 uid;
} __packed;
static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev,
struct nfc_target *target);
int digital_in_iso_dep_pull_sod(struct nfc_digital_dev *ddev,
struct sk_buff *skb)
{
u8 pcb;
u8 block_type;
if (skb->len < 1)
return -EIO;
pcb = *skb->data;
block_type = DIGITAL_ISO_DEP_PCB_TYPE(pcb);
/* No support fo R-block nor S-block */
if (block_type != DIGITAL_ISO_DEP_I_BLOCK) {
pr_err("ISO_DEP R-block and S-block not supported\n");
return -EIO;
}
Annotation
- Immediate include surface: `digital.h`.
- Detected declarations: `struct digital_sdd_res`, `struct digital_sel_req`, `struct digital_sensb_req`, `struct digital_sensb_res`, `struct digital_attrib_req`, `struct digital_attrib_res`, `struct digital_sensf_req`, `struct digital_sensf_res`, `struct digital_iso15693_inv_req`, `struct digital_iso15693_inv_res`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.