2 /* Low level request messages are built and sent by wrapper functions.
3 * This file contains the request and response structures for accessing
4 * those wrappers functions.
10 /* Structure for REQ_GETNODE and REQ_PUTNODE requests */
11 typedef struct node_req
{
17 /* Structure for response that contains inode details */
18 typedef struct node_details
{
23 unsigned short inode_index
;
24 /* For char/block special files */
27 /* Fields used by the exec() syscall */
34 /* Structure for REQ_OPEN request */
35 typedef struct open_req
{
46 /* Structure for REQ_READ and REQ_WRITE request */
47 typedef struct readwrite_req
{
52 unsigned short inode_index
;
55 unsigned int num_of_bytes
;
60 /* Structure for response of REQ_READ and REQ_WRITE */
61 typedef struct readwrite_res
{
67 /* Structure for REQ_PIPE request */
68 typedef struct pipe_req
{
75 /* Structure for REQ_CLONE_OPCL request */
76 typedef struct clone_opcl_req
{
82 /* Structure for REQ_FTRUNC request */
83 typedef struct ftrunc_req
{
91 /* Structure for REQ_CHOWN request */
92 typedef struct chown_req
{
102 /* Structure for REQ_CHMOD request */
103 typedef struct chmod_req
{
112 /* Structure for REQ_ACCESS request */
113 typedef struct access_req
{
122 /* Structure for REQ_MKNOD request */
123 typedef struct mknod_req
{
134 /* Structure for REQ_MKDIR request */
135 typedef struct mkdir_req
{
145 /* Structure for REQ_UNLINK request */
146 typedef struct unlink_req
{
155 /* Structure for REQ_UTIME request */
156 typedef struct utime_req
{
166 /* Structure for REQ_LINK request */
167 typedef struct link_req
{
177 /* Structure for REQ_SLINK request */
178 typedef struct slink_req
{
186 unsigned short path_length
;
190 /* Structure for REQ_RDLINK request */
191 typedef struct rdlink_req
{
198 unsigned short max_length
;
202 /* Structure for REQ_RENAME request */
203 typedef struct rename_req
{
214 /* Structure for REQ_MOUNTPOINT request */
215 typedef struct mountpoint_req
{
223 /* Structure for REQ_READSUPER request */
224 typedef struct readsuper_req
{
234 /* Structure for response of READSUPER request */
235 typedef struct readsuper_res
{
245 /* Structure for REQ_TRUNC request */
246 typedef struct trunc_req
{
255 /* Structure for REQ_LOOKUP request */
256 typedef struct lookup_req
{
257 /* Fields filled in by the caller */
261 /* Fields filled in by the path name traversal method */
264 ino_t root_dir
; /* process' root directory */
267 unsigned char symloop
;
271 /* Structure for a lookup response */
272 typedef struct lookup_res
{
279 /* For char/block special files */
282 /* Fields used for handling mount point and symbolic links */
284 unsigned char symloop
;
288 /* Structure for REQ_BREAD and REQ_BWRITE request (block spec files) */
289 typedef struct breadwrite_req
{
297 unsigned int num_of_bytes
;
303 /* Structure for REQ_ request */