nvme_init_copy_range_f1(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme_init_copy_range_f1(9) β€” a libnvme API manual moment

okay bestie, welcome to the libnvme API manual, page for nvme_init_copy_range_f1 πŸŽ€ β€” yes that's a whole mouthful, yes it's iconic, and yes we're gonna get through it together.


✨ NAME ✨

nvme_init_copy_range_f1 β€” constructs a copy range f1 structure πŸ¦‹

like, literally it builds you the structure. that's the whole job. and it slays at it.


🌸 SYNOPSIS 🌸

void nvme_init_copy_range_f1 (struct nvme_copy_range_f1 *copy , __u16
*nlbs , __u64 *slbas , __u64 *eilbrts , __u16 *elbatms , __u16 *elbats ,
__u16 nr );

no cap, that's seven (7) things going in and nothing coming out β€” void return, we love a function that just does the thing and leaves πŸ’…


πŸ’– ARGUMENTS πŸ’–

  • copy β€” the copy range array 🫢 this is the main character, the thing being filled in
  • nlbs β€” number of logical blocks, aka how many lblocks bestie πŸ”₯
  • slbas β€” starting LBA, the spot where it all begins ⭐
  • eilbrts β€” expected initial logical block reference tag, say that five times fast 😭
  • elbatms β€” expected logical block application tag mask (it's the mask one, don't mix it up with the next one πŸ™ˆ)
  • elbats β€” expected logical block application tag, no mask, just tag πŸŽ€
  • nr β€” number of descriptors to construct β€” how many you wanna build, you tell it, it builds πŸ‘‘
lowkey note: elbatms and elbats differ by exactly one letter and they're both __u16 *, so like… vibe check your variable names before you call this, bestie. iykyk πŸ’€

🧚 a lil sign-off 🧚

this page is nvme_init_copy_range_f1(9) from the libnvme API manual, dated October 2026 β€” go forth and construct those copy range f1 structures, you absolute icon πŸ’œβœ¨πŸŒΈ

πŸ“¦ where this page comes from