vme_slave_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vme_slave_get(9) β€” from the Kernel API Manual, bestie

okay so picture this: you're deep in vme_slave_get(9) land, and the whole thing lives in the Kernel API Manual. she's giving kernel-doc royalty, ngl. let's get into it πŸŽ€


✨ NAME ✨

vme_slave_get β€” literally just retrieves your VME slave window configuration. that's the whole vibe. πŸ’–


🌸 SYNOPSIS 🌸

int vme_slave_get (struct vme_resource *resource , int *enabled ,
       unsigned long long *vme_base , unsigned long long *size , dma_addr_t
       *buf_base , u32 *aspace , u32 *cycle );

like yes, that's a lot of pointers. she's high-maintenance but she's worth it 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • resource β€” pointer to your VME slave resource. the main character of this whole function, honestly πŸ‘‘
  • enabled β€” pointer to a variable where the state gets stored. so you can find out if it's on or off, iykyk
  • vme_base β€” pointer to a variable for storing the window base address. where the party starts πŸ“
  • size β€” pointer to a variable for storing the window size. yes queen, we need to know how much room we're working with
  • buf_base β€” pointer to a variable for storing the slave buffer base address. the buffer's home address fr fr 🏠
  • aspace β€” pointer to a variable for storing the VME address space. spaces matter, periodt
  • cycle β€” pointer to a variable for storing the VME data transfer cycle type. the whole cycle situation πŸ”„

⭐ DESCRIPTION ⭐

so what does she actually do? she returns the configuration for the provided VME slave window. that's it! that's the function. iconic, low-key minimalist behavior. ✨


πŸ’œ RETURN πŸ’œ

  • Zero on success β€” we love a zero, no notes, ate πŸ’…
  • -EINVAL if the operation is not supported on this device, or if you handed her an invalid resource. like bestie, check your pointers before you come at her 😭
ngl, -EINVAL is doing double duty here: unsupported device or bad resource. two crimes, one error code.

🌈 SEE ALSO 🌈

Kernel file ./drivers/staging/vme_user/vme.c β€” and the whole extended family, because VME is a family function set and you're gonna meet all of them:

vme_alloc_consistent(9), vme_free_consistent(9), vme_get_size(9), vme_slave_request(9), vme_slave_set(9), vme_slave_free(9), vme_master_request(9), vme_master_set(9), vme_master_get(9), vme_master_read(9), vme_master_write(9), vme_master_rmw(9), vme_master_mmap_prepare(9), vme_master_free(9), vme_dma_request(9), vme_new_dma_list(9), vme_dma_pattern_attribute(9), vme_dma_pci_attribute(9), vme_dma_vme_attribute(9), vme_dma_free_attribute(9), vme_dma_list_add(9), vme_dma_list_exec(9), vme_dma_list_free(9), vme_dma_free(9), vme_irq_request(9), vme_irq_free(9), vme_irq_generate(9), vme_lm_request(9), vme_lm_count(9), vme_lm_set(9), vme_lm_get(9), vme_lm_attach(9), vme_lm_detach(9), vme_lm_free(9), vme_slot_num(9), vme_bus_num(9), vme_register_driver(9), vme_unregister_driver(9)

like I said. a whole family. go read them, bestie, you'll be obsessed πŸ§šπŸ’«


that's the page!! this one ships out of ./drivers/staging/vme_user, dated October 2026, and it's filed under vme_slave_get(9) in the Kernel API Manual πŸ’–βœ¨ mwah, go get that configuration πŸŽ€

πŸ“¦ where this page comes from