summaryrefslogtreecommitdiff
path: root/eio.h
diff options
context:
space:
mode:
authorroot <root>2009-06-15 05:34:49 +0000
committerroot <root>2009-06-15 05:34:49 +0000
commitd01ae9f4905b4156b851683215658e58929758a7 (patch)
treea7549ac7b5752e8152444be5a73724b09f88cfba /eio.h
parent931d536a4c70efe39722b61a885c0bdfdf9250d4 (diff)
doh, lotsa work
Diffstat (limited to 'eio.h')
-rw-r--r--eio.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/eio.h b/eio.h
index 126b091..53c482e 100644
--- a/eio.h
+++ b/eio.h
@@ -95,12 +95,11 @@ enum eio_dtype {
};
struct eio_dirent {
- char *name;
- ino_t inode;
- unsigned short namelen;
- unsigned char type;
+ int nameofs; /* offset of null-terminated name string in (char *)req->ptr2 */
+ unsigned short namelen; /* size of filename without trailing 0 */
+ unsigned char type; /* one of EIO_DT_* */
signed char score; /* internal use */
- /* 0-4 bytes padding */
+ ino_t inode; /* the inode number, if available, otherwise unspecified */
};
/* eio_sync_file_range flags */
@@ -144,8 +143,8 @@ struct eio_req
ssize_t result; /* result of syscall, e.g. result = read (... */
off_t offs; /* read, write, truncate, readahead, sync_file_range: file offset */
size_t size; /* read, write, readahead, sendfile, msync, sync_file_range: length */
- void *ptr1; /* all applicable requests: pathname, old name; readdir: possible output memory buffer */
- void *ptr2; /* all applicable requests: new name or memory buffer */
+ void *ptr1; /* all applicable requests: pathname, old name; readdir: optional eio_dirents */
+ void *ptr2; /* all applicable requests: new name or memory buffer; readdir: name strings */
eio_tstamp nv1; /* utime, futime: atime; busy: sleep time */
eio_tstamp nv2; /* utime, futime: mtime */