STRUCT DMA_BUF_EXPORT_INFO(9)
π struct dma_buf_export_info(9) π
ok so bestie, this is the Kernel API Manual page for struct dma_buf_export_info β yes the whole page is literally about one struct, and honestly? she deserves it. π
β¨ NAME β¨
struct dma_buf_export_info β the little info-holder that holds everything you need to export a dma_buf. it's giving "gift-wrapped buffer," iykyk π
π¦ SYNOPSIS π¦
struct dma_buf_export_info {
const char *exp_name;
struct module *owner;
const struct dma_buf_ops *ops;
size_t size;
int flags;
struct dma_resv *resv;
void *priv;
};
like, that's the whole glow-up. seven fields. each one pulling its weight. π
πΈ Members πΈ
exp_nameβ the exporter's name, bestie. lowkey just for debugging, but it's the name tag at the party so nobody forgets who brought the buffer. π·οΈownerβ pointer to the exporter module. this is the refcounting situation for the kernel module β main character energy for lifetime management, no cap.opsβ you attach the allocator-defined dma buf ops to the new buffer here. the allocator picked these out, you're just delivering them. β¨sizeβ size of the buffer. and hear me when I say this: it is invariant over the lifetime of the buffer. it does not change. it will not change. periodt. πflagsβ mode flags for the file. the vibe settings, essentially. π©resvβ the reservation-object. if you passNULL, a default one gets allocated for you. so generous honestly π«Άprivβ attach the allocator's private data to this buffer. it's their personal stash, you just hold the pointer. π
π Description π
fr fr, this structure holds all the information required to export the buffer. that's the whole job. she's used with dma_buf_export only β not with anything else, so don't try to make her something she's not. π
π SEE ALSO π
- Kernel file
./include/linux/dma-buf.h struct dma_buf_ops(9)struct dma_buf(9)struct dma_buf_attach_ops(9)struct dma_buf_attachment(9)DEFINE_DMA_BUF_EXPORT_INFO(9)get_dma_buf(9)dma_buf_is_dynamic(9)
like a whole friend group in one header file, obsessed π
and that's the page bestie!! source lives over in ./include/linux, dated October 2026 β so she's from the future, iconic behavior, mwah ππ¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms