template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
class dxd::pci::scatter_gather< limit_t, alignment_t, page_size_t >
- Todo
- templatize endianism!
template<unsigned int limit_t = 64, unsigned int alignment_t = 0, unsigned int page_size_t = 0>
| os_result dxd::pci::scatter_gather< limit_t, alignment_t, page_size_t >::initialize |
( |
const pci & | pci, |
|
|
::MDL * | mdl, |
|
|
unsigned int & | pages, |
|
|
sgl_t & | sgl, |
|
|
unsigned int | limit = limit_t, |
|
|
unsigned int | alignment = alignment_t, |
|
|
unsigned int | page_size = page_size_t ) |
|
inline |
Allows re-initialization,
checks backing store,
checks and obtains DMA adapter from PCI device,
checks if DMA adapter operations are initialized,
- Todo
- iterate GetScatterGatherList over mdl size until map_registers*PAGE_SIZE: http://www.osronline.com/article.cfm?id=55
obtains and returns WDK SGL segments to callers local stack space