mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 06:02:44 +00:00 
			
		
		
		
	Kernel: Have File virtuals take a FileDescriptor& rather than a Process&.
This will allow us to implement different behaviors depending on the role of the descriptor a File is being accessed through.
This commit is contained in:
		
							parent
							
								
									3761bc3ed7
								
							
						
					
					
						commit
						8cbb7f101f
					
				
					 39 changed files with 156 additions and 155 deletions
				
			
		|  | @ -31,14 +31,14 @@ String MasterPTY::pts_name() const | |||
|     return m_pts_name; | ||||
| } | ||||
| 
 | ||||
| ssize_t MasterPTY::read(Process&, byte* buffer, ssize_t size) | ||||
| ssize_t MasterPTY::read(FileDescriptor&, byte* buffer, ssize_t size) | ||||
| { | ||||
|     if (!m_slave && m_buffer.is_empty()) | ||||
|         return 0; | ||||
|     return m_buffer.read(buffer, size); | ||||
| } | ||||
| 
 | ||||
| ssize_t MasterPTY::write(Process&, const byte* buffer, ssize_t size) | ||||
| ssize_t MasterPTY::write(FileDescriptor&, const byte* buffer, ssize_t size) | ||||
| { | ||||
|     if (!m_slave) | ||||
|         return -EIO; | ||||
|  | @ -46,14 +46,14 @@ ssize_t MasterPTY::write(Process&, const byte* buffer, ssize_t size) | |||
|     return size; | ||||
| } | ||||
| 
 | ||||
| bool MasterPTY::can_read(Process&) const | ||||
| bool MasterPTY::can_read(FileDescriptor&) const | ||||
| { | ||||
|     if (!m_slave) | ||||
|         return true; | ||||
|     return !m_buffer.is_empty(); | ||||
| } | ||||
| 
 | ||||
| bool MasterPTY::can_write(Process&) const | ||||
| bool MasterPTY::can_write(FileDescriptor&) const | ||||
| { | ||||
|     return true; | ||||
| } | ||||
|  | @ -96,9 +96,9 @@ void MasterPTY::close() | |||
|     } | ||||
| } | ||||
| 
 | ||||
| int MasterPTY::ioctl(Process& process, unsigned request, unsigned arg) | ||||
| int MasterPTY::ioctl(FileDescriptor& descriptor, unsigned request, unsigned arg) | ||||
| { | ||||
|     if (request == TIOCSWINSZ) | ||||
|         return m_slave->ioctl(process, request, arg); | ||||
|         return m_slave->ioctl(descriptor, request, arg); | ||||
|     return -EINVAL; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling