added SIOCATMARK and times() syscall
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@70 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
		
							parent
							
								
									bc8a22cc30
								
							
						
					
					
						commit
						32f36bcefc
					
				| 
						 | 
					@ -66,6 +66,7 @@
 | 
				
			||||||
     IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG))
 | 
					     IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG))
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  IOCTL(SIOCATMARK, 0, TYPE_NULL)
 | 
				
			||||||
  IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
 | 
					  IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
 | 
				
			||||||
  IOCTL(SIOCDELRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
 | 
					  IOCTL(SIOCDELRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
 | 
				
			||||||
  IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
 | 
					  IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,6 +40,7 @@
 | 
				
			||||||
#include <sys/socket.h>
 | 
					#include <sys/socket.h>
 | 
				
			||||||
#include <sys/uio.h>
 | 
					#include <sys/uio.h>
 | 
				
			||||||
#include <sys/poll.h>
 | 
					#include <sys/poll.h>
 | 
				
			||||||
 | 
					#include <sys/times.h>
 | 
				
			||||||
//#include <sys/user.h>
 | 
					//#include <sys/user.h>
 | 
				
			||||||
#include <netinet/tcp.h>
 | 
					#include <netinet/tcp.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1367,7 +1368,18 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
    case TARGET_NR_times:
 | 
					    case TARGET_NR_times:
 | 
				
			||||||
        goto unimplemented;
 | 
					        {
 | 
				
			||||||
 | 
					            struct target_tms *tmsp = (void *)arg1;
 | 
				
			||||||
 | 
					            struct tms tms;
 | 
				
			||||||
 | 
					            ret = get_errno(times(&tms));
 | 
				
			||||||
 | 
					            if (tmsp) {
 | 
				
			||||||
 | 
					                tmsp->tms_utime = tswapl(tms.tms_utime);
 | 
				
			||||||
 | 
					                tmsp->tms_stime = tswapl(tms.tms_stime);
 | 
				
			||||||
 | 
					                tmsp->tms_cutime = tswapl(tms.tms_cutime);
 | 
				
			||||||
 | 
					                tmsp->tms_cstime = tswapl(tms.tms_cstime);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
    case TARGET_NR_prof:
 | 
					    case TARGET_NR_prof:
 | 
				
			||||||
        goto unimplemented;
 | 
					        goto unimplemented;
 | 
				
			||||||
    case TARGET_NR_setgid:
 | 
					    case TARGET_NR_setgid:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,6 +39,15 @@ struct target_itimerval {
 | 
				
			||||||
    struct target_timeval it_value;
 | 
					    struct target_timeval it_value;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef target_long target_clock_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct target_tms {
 | 
				
			||||||
 | 
					    target_clock_t tms_utime;
 | 
				
			||||||
 | 
					    target_clock_t tms_stime;
 | 
				
			||||||
 | 
					    target_clock_t tms_cutime;
 | 
				
			||||||
 | 
					    target_clock_t tms_cstime;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct target_iovec {
 | 
					struct target_iovec {
 | 
				
			||||||
    target_long iov_base;   /* Starting address */
 | 
					    target_long iov_base;   /* Starting address */
 | 
				
			||||||
    target_long iov_len;   /* Number of bytes */
 | 
					    target_long iov_len;   /* Number of bytes */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1065,3 +1065,5 @@ union target_semun {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TARGET_VFAT_IOCTL_READDIR_BOTH    0x82187201
 | 
					#define TARGET_VFAT_IOCTL_READDIR_BOTH    0x82187201
 | 
				
			||||||
#define TARGET_VFAT_IOCTL_READDIR_SHORT   0x82187202
 | 
					#define TARGET_VFAT_IOCTL_READDIR_SHORT   0x82187202
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TARGET_SIOCATMARK	0x8905
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue