- Make open(2) more POSIX compliant - Add a test case for dangling symlinks and open() syscall with O_CREAT and O_EXCL on a symlink. - Update open(2) man page to reflect change.
39 lines
808 B
C
39 lines
808 B
C
|
|
/* Low level request messages are built and sent by wrapper functions.
|
|
* This file contains the request and response structures for accessing
|
|
* those wrappers functions.
|
|
*/
|
|
|
|
#include <sys/types.h>
|
|
|
|
/* Structure for response that contains inode details */
|
|
typedef struct node_details {
|
|
endpoint_t fs_e;
|
|
ino_t inode_nr;
|
|
mode_t fmode;
|
|
off_t fsize;
|
|
uid_t uid;
|
|
gid_t gid;
|
|
|
|
/* For char/block special files */
|
|
dev_t dev;
|
|
} node_details_t;
|
|
|
|
/* Structure for a lookup response */
|
|
typedef struct lookup_res {
|
|
endpoint_t fs_e;
|
|
ino_t inode_nr;
|
|
mode_t fmode;
|
|
off_t fsize;
|
|
uid_t uid;
|
|
gid_t gid;
|
|
/* For char/block special files */
|
|
dev_t dev;
|
|
|
|
/* Fields used for handling mount point and symbolic links */
|
|
int char_processed;
|
|
unsigned char symloop;
|
|
} lookup_res_t;
|
|
|
|
|
|
/* Structure for REQ_ request */
|