net/bluetooth/hidp/core.c
Source file repositories/reference/linux-study-clean/net/bluetooth/hidp/core.c
File Facts
- System
- Linux kernel
- Corpus path
net/bluetooth/hidp/core.c- Extension
.c- Size
- 40595 bytes
- Lines
- 1523
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: exported/initcall integration point
- Status
- integration 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.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Touches user memory; correctness depends on fault-safe copying and privilege boundary handling.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- 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
linux/kref.hlinux/module.hlinux/file.hlinux/kthread.hlinux/hidraw.hnet/bluetooth/bluetooth.hnet/bluetooth/hci_core.hnet/bluetooth/l2cap.hhidp.h
Detected Declarations
function hidp_copy_sessionfunction hidp_send_messagefunction hidp_send_ctrl_messagefunction hidp_send_intr_messagefunction hidp_input_eventfunction hidp_input_reportfunction hidp_get_raw_reportfunction hidp_set_raw_reportfunction hidp_output_reportfunction hidp_raw_requestfunction hidp_idle_timeoutfunction hidp_set_timerfunction hidp_del_timerfunction hidp_process_reportfunction hidp_process_handshakefunction hidp_process_hid_controlfunction hidp_process_datafunction hidp_recv_ctrl_framefunction hidp_recv_intr_framefunction hidp_send_framefunction hidp_process_transmitfunction hidp_setup_inputfunction hidp_openfunction hidp_closefunction hidp_startfunction hidp_stopfunction hidp_setup_hidfunction hidp_session_dev_initfunction hidp_session_dev_destroyfunction hidp_session_dev_addfunction hidp_session_dev_delfunction hidp_session_dev_workfunction hidp_session_newfunction hidp_session_getfunction session_freefunction hidp_session_putfunction list_for_each_entryfunction __hidp_session_findfunction hidp_session_newfunction hipd_session_stop_syncfunction hidp_session_terminatefunction hidp_session_probefunction hidp_session_removefunction l2cap_unregister_userfunction hidp_session_runfunction hidp_session_wake_functionfunction hidp_session_runfunction hidp_verify_sockets
Annotated Snippet
module_init(hidp_init);
module_exit(hidp_exit);
MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
MODULE_AUTHOR("David Herrmann <dh.herrmann@gmail.com>");
MODULE_DESCRIPTION("Bluetooth HIDP ver " VERSION);
MODULE_VERSION(VERSION);
MODULE_LICENSE("GPL");
MODULE_ALIAS("bt-proto-6");
Annotation
- Immediate include surface: `linux/kref.h`, `linux/module.h`, `linux/file.h`, `linux/kthread.h`, `linux/hidraw.h`, `net/bluetooth/bluetooth.h`, `net/bluetooth/hci_core.h`, `net/bluetooth/l2cap.h`.
- Detected declarations: `function hidp_copy_session`, `function hidp_send_message`, `function hidp_send_ctrl_message`, `function hidp_send_intr_message`, `function hidp_input_event`, `function hidp_input_report`, `function hidp_get_raw_report`, `function hidp_set_raw_report`, `function hidp_output_report`, `function hidp_raw_request`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: integration implementation candidate.
- This snippet crosses the user/kernel memory boundary; validate fault handling and access checks before translating the pattern.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
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.