Use ds_retrieve_u32 to get the endpoint of inet and of the ethernet drivers.
This commit is contained in:
		
							parent
							
								
									9852471c08
								
							
						
					
					
						commit
						33d31720a5
					
				| @ -50,6 +50,7 @@ from DL_ETH: | ||||
| #include <time.h> | ||||
| #include <unistd.h> | ||||
| #include <sys/svrctl.h> | ||||
| #include <minix/ds.h> | ||||
| 
 | ||||
| #include "mq.h" | ||||
| #include "qp.h" | ||||
| @ -96,6 +97,7 @@ PUBLIC void main() | ||||
| 	mq_t *mq; | ||||
| 	int r; | ||||
| 	int source, m_type, timerand, fd; | ||||
| 	u32_t tasknr; | ||||
| 	struct fssignon device; | ||||
| #ifdef __minix_vmd | ||||
| 	struct systaskinfo info; | ||||
| @ -157,8 +159,10 @@ PUBLIC void main() | ||||
| #else /* Minix 3 */ | ||||
| 
 | ||||
| 	/* Our new identity as a server. */ | ||||
| 	if ((this_proc = getprocnr()) < 0) | ||||
| 		ip_panic(( "unable to get own process nr\n")); | ||||
| 	r= ds_retrieve_u32("inet", &tasknr); | ||||
| 	if (r != OK) | ||||
| 		ip_panic(("inet: ds_retrieve_u32 failed for 'inet': %d", r)); | ||||
| 	this_proc= tasknr; | ||||
| #endif | ||||
| 
 | ||||
| 	/* Register the device group. */ | ||||
|  | ||||
| @ -7,6 +7,7 @@ Copyright 1995 Philip Homburg | ||||
| */ | ||||
| 
 | ||||
| #include "inet.h" | ||||
| #include <minix/ds.h> | ||||
| #include <minix/safecopies.h> | ||||
| #include "proto.h" | ||||
| #include "osdep_eth.h" | ||||
| @ -37,7 +38,8 @@ FORWARD _PROTOTYPE( int asynsend, (endpoint_t dst, message *mp) ); | ||||
| 
 | ||||
| PUBLIC void osdep_eth_init() | ||||
| { | ||||
| 	int i, j, r, tasknr, rport; | ||||
| 	int i, j, r, rport; | ||||
| 	u32_t tasknr; | ||||
| 	struct eth_conf *ecp; | ||||
| 	eth_port_t *eth_port, *rep; | ||||
| 	message mess; | ||||
| @ -102,7 +104,12 @@ PUBLIC void osdep_eth_init() | ||||
| #ifdef __minix_vmd | ||||
| 		r= sys_findproc(ecp->ec_task, &tasknr, 0); | ||||
| #else /* Minix 3 */ | ||||
| 		r = _pm_findproc(ecp->ec_task, &tasknr); | ||||
| 		r= ds_retrieve_u32(ecp->ec_task, &tasknr); | ||||
| 		if (r != OK && r != ESRCH) | ||||
| 		{ | ||||
| 			printf("inet: ds_retrieve_u32 failed for '%s': %d\n", | ||||
| 				ecp->ec_task, r); | ||||
| 		} | ||||
| #endif  | ||||
| 		if (r != OK) | ||||
| 		{ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Philip Homburg
						Philip Homburg