XPT(4)
β¨ XPT(4) β¨
okay bestie, so this is the manual page for xpt from the Kernel Interfaces Manual, and it's giving CAM transport layer interface π
π NAME π
xpt β the CAM transport layer interface. that's it, that's the name, slay π
π¦ SYNOPSIS π¦
None.
literally none. no synopsis. nothing to see here, bestie π
πΈ DESCRIPTION πΈ
so the xpt driver is basically the β¨glow-up portalβ¨ that lets userland applications issue certain CAM CCBs to the kernel. iconic behaviour, no cap.
β οΈ okay listen, this part is serious. since the xpt driver allows direct access to the CAM subsystem, system administrators should exercise caution when granting access to this driver. if used improperly, this driver can allow userland applications to crash a machine or cause data loss. π like, that's not a vibe, that's a genuine disaster. be careful fr fr.
π KERNEL CONFIGURATION π
good news bestie: there is no kernel configuration required for the xpt driver. it's just enabled when SCSI support is enabled in the kernel. automatic queen behaviour π
and the way it works: there is one instance of the xpt driver per CAM transport layer instance. and since there is currently only one CAM transport layer, there will only be one instance of this driver. one girl, one crown, periodt π
π IOCTLS π
two of them. let's get into it π«Ά
CAMIOCOMMANDβ this ioctl takes certain kinds of CAM CCBs and passes them through to the CAM transport layer for action. but bestie, only the following CCB types are supported:XPT_SCAN_BUSXPT_RESET_BUSXPT_SCAN_LUNXPT_ENG_INQXPT_ENG_EXECXPT_DEBUGXPT_DEV_MATCHXPT_PATH_INQ
and the reason those are the only ones supported? because it makes more sense to send them through a generic passthrough device rather than a passthrough device tied to a particular underlying SCSI device. logic β¨
CAMGETPASSTHRUβ this ioctl takes anXPT_GDEVLISTCCB, and returns the passthrough device corresponding to the device in question. cute, efficient, we love her π
π FILES π
/dev/xpt0β character device node for thexptdriver. that's the doorway bestie πͺβ¨
π§ DIAGNOSTICS π§
None.
no diagnostics. she's not dramatic like that π
π SEE ALSO π
go read those too, iykyk π
β HISTORY β
the CAM transport layer driver first appeared in FreeBSD 3.0. vintage icon behaviour, honestly π
π AUTHORS π
Kenneth Merry <ken@FreeBSD.org> β thank you king, we appreciate you ππ
and that's a wrap on the xpt(4) page bestie!! this one came out of the Debian edition, dated October 10, 1998 β yes, 1998, she's been serving since before some of us were born πβ¨ go forth and be careful with that direct CAM access, mwah π«Άπ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1998 Kenneth D. Merry
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms