ENUM NAND_PAGE_IO_REQ_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum nand_page_io_req_type(9) β€” the Kernel API Manual, bestie edition

okay so this is a page from the Kernel API Manual (that's the enum nand_page_io_req_type(9) manual, iykyk) and it's genuinely so simple it's iconic.

✨ NAME ✨

enum nand_page_io_req_type β€” literally just the Direction of an I/O request. which way is the data going?? that's it. that's the whole vibe check. πŸ¦‹


🌸 SYNOPSIS 🌸

enum nand_page_io_req_type {
    NAND_PAGE_READ ,
    NAND_PAGE_WRITE

};

look at her. two constants. no notes. periodt. πŸ’…


πŸŽ€ Constants πŸŽ€

  • NAND_PAGE_READ β€” data flowing from the chip, to the controller. the chip is doing the talking, the controller is listening. main character energy tbh. πŸ‘‘
  • NAND_PAGE_WRITE β€” data flowing from the controller, to the chip. now the controller's in charge and the chip is receiving. roles reversed, slay. ✨
ngl bestie, this enum is the entire personality of the direction of an I/O request β€” nothing more, nothing less. no cap. πŸ’―

πŸ”₯ SEE ALSO πŸ”₯

this is the part where it gets long, so buckle up 🫢 β€” the kernel file this lives in is ./include/linux/mtd/nand.h, and it's part of the struct family reunion:

nand_memory_organization(9), struct nand_row_converter(9), struct nand_pos(9), struct nand_page_io_req(9), enum nand_ecc_engine_type(9), enum nand_ecc_placement(9), enum nand_ecc_algo(9), struct nand_ecc_props(9), struct nand_bbt(9), struct nand_ops(9), struct nand_ecc_context(9), struct nand_ecc_engine_ops(9), enum nand_ecc_engine_integration(9), struct nand_ecc_engine(9), struct nand_ecc_req_tweak_ctx(9), struct nand_ecc(9), struct nand_device(9), struct nand_io_iter(9), mtd_to_nanddev(9), nanddev_to_mtd(9), nanddev_page_size(9), nanddev_per_page_oobsize(9), nanddev_pages_per_eraseblock(9), nanddev_pages_per_target(9), nanddev_eraseblocks_per_lun(9), nanddev_eraseblocks_per_target(9), nanddev_target_size(9), nanddev_neraseblocks(9), nanddev_size(9), nanddev_get_memorg(9), nanddev_get_ecc_conf(9), nanddev_get_ecc_nsteps(9), nanddev_get_ecc_bytes_per_step(9), nanddev_get_ecc_requirements(9), nanddev_set_ecc_requirements(9), nanddev_register(9), nanddev_unregister(9), nanddev_set_of_node(9), nanddev_get_of_node(9), nanddev_offs_to_pos(9), nanddev_pos_cmp(9), nanddev_pos_to_offs(9), nanddev_pos_to_row(9), nanddev_pos_next_target(9), nanddev_pos_next_lun(9), nanddev_pos_next_eraseblock(9), nanddev_pos_next_page(9), nanddev_bbt_pos_to_entry(9), nanddev_bbt_is_initialized(9)

like. that's the whole mtd friend group. read them, love them, cite them. πŸ§šπŸ’œ


okay that's the whole page, you ate that πŸ’– this lil gem lives in ./include/linux/mtd and the manual's dated October 2026, closing out as enum nand_page_io_req_type(9) β€” mwah, goodbye bestie! πŸŒˆβ­πŸ“

πŸ“¦ where this page comes from