net/bluetooth/rfcomm/core.c
Source file repositories/reference/linux-study-clean/net/bluetooth/rfcomm/core.c
File Facts
- System
- Linux kernel
- Corpus path
net/bluetooth/rfcomm/core.c- Extension
.c- Size
- 51931 bytes
- Lines
- 2318
- 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.
- 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/module.hlinux/debugfs.hlinux/kthread.hlinux/unaligned.hnet/bluetooth/bluetooth.hnet/bluetooth/hci_core.hnet/bluetooth/l2cap.hnet/bluetooth/rfcomm.htrace/events/sock.h
Detected Declarations
function rfcomm_schedulefunction __fcsfunction __fcs2function __check_fcsfunction rfcomm_l2state_changefunction rfcomm_l2data_readyfunction rfcomm_l2sock_createfunction rfcomm_check_securityfunction rfcomm_session_timeoutfunction rfcomm_session_set_timerfunction rfcomm_session_clear_timerfunction rfcomm_dlc_timeoutfunction rfcomm_dlc_set_timerfunction rfcomm_dlc_clear_timerfunction rfcomm_dlc_clear_statefunction rfcomm_dlc_freefunction rfcomm_dlc_linkfunction rfcomm_dlc_unlinkfunction rfcomm_check_channelfunction __rfcomm_dlc_openfunction rfcomm_dlc_openfunction __rfcomm_dlc_disconnfunction __rfcomm_dlc_closefunction rfcomm_dlc_closefunction rfcomm_dlc_send_fragfunction rfcomm_dlc_sendfunction rfcomm_dlc_send_noerrorfunction __rfcomm_dlc_throttlefunction __rfcomm_dlc_unthrottlefunction rfcomm_dlc_set_modem_statusfunction rfcomm_dlc_get_modem_statusfunction rfcomm_session_getaddrfunction rfcomm_send_framefunction rfcomm_send_cmdfunction rfcomm_send_sabmfunction rfcomm_send_uafunction rfcomm_send_discfunction rfcomm_queue_discfunction rfcomm_send_dmfunction rfcomm_send_nscfunction rfcomm_send_pnfunction rfcomm_send_rpnfunction rfcomm_send_rlsfunction rfcomm_send_mscfunction rfcomm_send_fcofffunction rfcomm_send_fconfunction rfcomm_send_testfunction rfcomm_send_credits
Annotated Snippet
module_init(rfcomm_init);
module_exit(rfcomm_exit);
module_param(disable_cfc, bool, 0644);
MODULE_PARM_DESC(disable_cfc, "Disable credit based flow control");
module_param(channel_mtu, int, 0644);
MODULE_PARM_DESC(channel_mtu, "Default MTU for the RFCOMM channel");
module_param(l2cap_ertm, bool, 0644);
MODULE_PARM_DESC(l2cap_ertm, "Use L2CAP ERTM mode for connection");
MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
MODULE_DESCRIPTION("Bluetooth RFCOMM ver " VERSION);
MODULE_VERSION(VERSION);
MODULE_LICENSE("GPL");
MODULE_ALIAS("bt-proto-3");
Annotation
- Immediate include surface: `linux/module.h`, `linux/debugfs.h`, `linux/kthread.h`, `linux/unaligned.h`, `net/bluetooth/bluetooth.h`, `net/bluetooth/hci_core.h`, `net/bluetooth/l2cap.h`, `net/bluetooth/rfcomm.h`.
- Detected declarations: `function rfcomm_schedule`, `function __fcs`, `function __fcs2`, `function __check_fcs`, `function rfcomm_l2state_change`, `function rfcomm_l2data_ready`, `function rfcomm_l2sock_create`, `function rfcomm_check_security`, `function rfcomm_session_timeout`, `function rfcomm_session_set_timer`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: integration implementation candidate.
- 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.