 ca9280e097
			
		
	
	
		ca9280e097
		
	
	
	
	
		
			
			- 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.
		
			
				
	
	
		
			40 lines
		
	
	
		
			808 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 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 */
 |