net/9p/trans_usbg.c
Source file repositories/reference/linux-study-clean/net/9p/trans_usbg.c
File Facts
- System
- Linux kernel
- Corpus path
net/9p/trans_usbg.c- Extension
.c- Size
- 23227 bytes
- Lines
- 970
- 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/cleanup.hlinux/kernel.hlinux/module.hlinux/fs_context.hlinux/usb/composite.hlinux/usb/func_utils.hnet/9p/9p.hnet/9p/client.hnet/9p/transport.h
Detected Declarations
struct f_usb9pfsstruct f_usb9pfs_optsstruct f_usb9pfs_devfunction usb9pfs_queue_txfunction usb9pfs_queue_rxfunction usb9pfs_transmitfunction usb9pfs_tx_completefunction usb9pfs_rx_completefunction disable_epfunction disable_usb9pfsfunction alloc_requestsfunction enable_endpointfunction enable_usb9pfsfunction p9_usbg_createfunction list_for_each_entryfunction usb9pfs_clear_txfunction p9_usbg_closefunction p9_usbg_requestfunction p9_usbg_cancelfunction usb9pfs_func_bindfunction usb9pfs_func_unbindfunction usb9pfs_free_funcfunction usb9pfs_set_altfunction usb9pfs_disablefunction usb9pfs_attr_releasefunction f_usb9pfs_opts_buflen_showfunction f_usb9pfs_opts_buflen_storefunction list_for_each_entryfunction usb9pfs_tag_instancefunction usb9pfs_set_inst_tagfunction usb9pfs_free_instancefunction usb9pfs_modinitfunction usb9pfs_modexitmodule init usb9pfs_modinit
Annotated Snippet
module_init(usb9pfs_modinit);
module_exit(usb9pfs_modexit);
MODULE_ALIAS_9P("usbg");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("USB gadget 9pfs transport");
MODULE_AUTHOR("Michael Grzeschik");
Annotation
- Immediate include surface: `linux/cleanup.h`, `linux/kernel.h`, `linux/module.h`, `linux/fs_context.h`, `linux/usb/composite.h`, `linux/usb/func_utils.h`, `net/9p/9p.h`, `net/9p/client.h`.
- Detected declarations: `struct f_usb9pfs`, `struct f_usb9pfs_opts`, `struct f_usb9pfs_dev`, `function usb9pfs_queue_tx`, `function usb9pfs_queue_rx`, `function usb9pfs_transmit`, `function usb9pfs_tx_complete`, `function usb9pfs_rx_complete`, `function disable_ep`, `function disable_usb9pfs`.
- 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.