mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 13:32:45 +00:00 
			
		
		
		
	Kernel: Implement IP multicast support
An IP socket can now join a multicast group by using the IP_ADD_MEMBERSHIP sockopt, which will cause it to start receiving packets sent to the multicast address, even though this address does not belong to this host.
This commit is contained in:
		
							parent
							
								
									b9c367e13b
								
							
						
					
					
						commit
						78459b92d5
					
				
					 5 changed files with 77 additions and 7 deletions
				
			
		|  | @ -525,6 +525,9 @@ enum { | |||
| #define IPPROTO_UDP 17 | ||||
| 
 | ||||
| #define IP_TTL 2 | ||||
| #define IP_MULTICAST_LOOP 3 | ||||
| #define IP_ADD_MEMBERSHIP 4 | ||||
| #define IP_DROP_MEMBERSHIP 5 | ||||
| 
 | ||||
| struct ucred { | ||||
|     pid_t pid; | ||||
|  | @ -548,6 +551,7 @@ struct sockaddr_un { | |||
| struct in_addr { | ||||
|     uint32_t s_addr; | ||||
| }; | ||||
| typedef uint32_t in_addr_t; | ||||
| 
 | ||||
| struct sockaddr_in { | ||||
|     int16_t sin_family; | ||||
|  | @ -556,6 +560,15 @@ struct sockaddr_in { | |||
|     char sin_zero[8]; | ||||
| }; | ||||
| 
 | ||||
| struct ip_mreq { | ||||
|     struct in_addr imr_multiaddr; | ||||
|     struct in_addr imr_interface; | ||||
| }; | ||||
| 
 | ||||
| #define INADDR_ANY ((in_addr_t)0) | ||||
| #define INADDR_NONE ((in_addr_t)-1) | ||||
| #define INADDR_LOOPBACK 0x7f000001 | ||||
| 
 | ||||
| typedef u32 __u32; | ||||
| typedef u16 __u16; | ||||
| typedef u8 __u8; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Sergey Bugaev
						Sergey Bugaev