* Introduced type generic_io_vec, which is similar to iovec, but uses types
that are wide enough for both virtual and physical addresses.
* DMABuffer, IORequest, IOScheduler,... and code using them: Use
generic_io_vec and generic_{addr,size}_t where necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36997 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -129,13 +129,15 @@ public:
|
||||
virtual status_t Commit(off_t size, int priority);
|
||||
virtual bool HasPage(off_t offset);
|
||||
|
||||
virtual status_t Read(off_t offset, const iovec *vecs,
|
||||
virtual status_t Read(off_t offset, const generic_io_vec *vecs,
|
||||
size_t count,uint32 flags,
|
||||
size_t *_numBytes);
|
||||
virtual status_t Write(off_t offset, const iovec *vecs, size_t count,
|
||||
uint32 flags, size_t *_numBytes);
|
||||
virtual status_t WriteAsync(off_t offset, const iovec* vecs,
|
||||
size_t count, size_t numBytes, uint32 flags,
|
||||
generic_size_t *_numBytes);
|
||||
virtual status_t Write(off_t offset, const generic_io_vec *vecs,
|
||||
size_t count, uint32 flags,
|
||||
generic_size_t *_numBytes);
|
||||
virtual status_t WriteAsync(off_t offset,
|
||||
const generic_io_vec* vecs, size_t count,
|
||||
generic_size_t numBytes, uint32 flags,
|
||||
AsyncIOCallback* callback);
|
||||
virtual bool CanWritePage(off_t offset);
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <vm_defs.h>
|
||||
|
||||
|
||||
struct iovec;
|
||||
struct generic_io_vec;
|
||||
struct kernel_args;
|
||||
struct ObjectCache;
|
||||
struct system_memory_info;
|
||||
@@ -93,7 +93,7 @@ area_id vm_map_physical_memory(team_id team, const char *name, void **address,
|
||||
phys_addr_t physicalAddress, bool alreadyWired);
|
||||
area_id vm_map_physical_memory_vecs(team_id team, const char* name,
|
||||
void** _address, uint32 addressSpec, addr_t* _size, uint32 protection,
|
||||
struct iovec* vecs, uint32 vecCount);
|
||||
struct generic_io_vec* vecs, uint32 vecCount);
|
||||
area_id vm_map_file(team_id aid, const char *name, void **address,
|
||||
uint32 addressSpec, addr_t size, uint32 protection, uint32 mapping,
|
||||
bool unmapAddressRange, int fd, off_t offset);
|
||||
|
||||
Reference in New Issue
Block a user