mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:42:43 +00:00 
			
		
		
		
	Kernel/Devices: Introduce the Device Control Device
This device will assist userspace to manage hotplug events. A userspace application reads a DeviceEvent entry until the return value is zero which indicates no events that are queued and waiting for processing. Trying to read with a buffer smaller than sizeof(DeviceEvent) results in EOVERFLOW. For now, there's no ioctl mechanism for this device but in the future an acknowledgement mechanism can be implemented via ioctl(2) interface.
This commit is contained in:
		
							parent
							
								
									b60e19fd34
								
							
						
					
					
						commit
						b1ca39411b
					
				
					 7 changed files with 151 additions and 0 deletions
				
			
		
							
								
								
									
										23
									
								
								Kernel/API/DeviceEvent.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								Kernel/API/DeviceEvent.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| /*
 | ||||
|  * Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il> | ||||
|  * | ||||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <AK/Types.h> | ||||
| 
 | ||||
| struct DeviceEvent { | ||||
|     int state; | ||||
|     int is_block_device; | ||||
|     unsigned major_number; | ||||
|     unsigned minor_number; | ||||
| 
 | ||||
|     enum State { | ||||
|         Removed = 0x01, | ||||
|         Inserted = 0x02, | ||||
|         Recovered = 0x03, | ||||
|         FatalError = 0x04, | ||||
|     }; | ||||
| }; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Liav A
						Liav A