34 lines
		
	
	
		
			786 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			786 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __UM_SLIRP_H
 | |
| #define __UM_SLIRP_H
 | |
| 
 | |
| #include "slip_common.h"
 | |
| 
 | |
| #define SLIRP_MAX_ARGS 100
 | |
| /*
 | |
|  * XXX this next definition is here because I don't understand why this
 | |
|  * initializer doesn't work in slirp_kern.c:
 | |
|  *
 | |
|  *   argv :  { init->argv[ 0 ... SLIRP_MAX_ARGS-1 ] },
 | |
|  *
 | |
|  * or why I can't typecast like this:
 | |
|  *
 | |
|  *   argv :  (char* [SLIRP_MAX_ARGS])(init->argv), 
 | |
|  */
 | |
| struct arg_list_dummy_wrapper { char *argv[SLIRP_MAX_ARGS]; };
 | |
| 
 | |
| struct slirp_data {
 | |
| 	void *dev;
 | |
| 	struct arg_list_dummy_wrapper argw;
 | |
| 	int pid;
 | |
| 	int slave;
 | |
| 	struct slip_proto slip;
 | |
| };
 | |
| 
 | |
| extern const struct net_user_info slirp_user_info;
 | |
| 
 | |
| extern int slirp_user_read(int fd, void *buf, int len, struct slirp_data *pri);
 | |
| extern int slirp_user_write(int fd, void *buf, int len,
 | |
| 			    struct slirp_data *pri);
 | |
| 
 | |
| #endif
 |