VirtualBox

Changeset 633 in kBuild


Ignore:
Timestamp:
Nov 26, 2006 2:05:05 PM (18 years ago)
Author:
bird
Message:

More hacking.

Location:
trunk/src/ash/win
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ash/win/mscfakes.h

    r632 r633  
    2828
    2929#define setmode setmode_msc
     30#include <sys/cdefs.h>
    3031#include <io.h>
    3132#include <direct.h>
     
    3940#define __attribute__(a)
    4041#endif
    41 
    42 typedef int pid_t;
    4342
    4443#define S_ISDIR(m)  (((m) & _S_IFMT) == _S_IFDIR)
     
    8685typedef int mode_t;
    8786typedef unsigned short nlink_t;
    88 typedef unsigned short uid_t;
    89 typedef unsigned short gid_t;
    9087typedef long ssize_t;
    9188typedef unsigned long u_long;
     
    153150    unsigned long __bitmap[1];
    154151} sigset_t;
     152typedef void __sighandler_t(int);
     153typedef void __siginfohandler_t(int, struct __siginfo *, void *);
     154typedef __sighandler_t *sig_t; /** BSD 4.4 type. */
     155struct sigaction
     156{
     157    union
     158    {
     159        __siginfohandler_t *__sa_sigaction;
     160        __sighandler_t     *__sa_handler;
     161    }  __sigaction_u;
     162    sigset_t    sa_mask;
     163    int         sa_flags;
     164};
     165#define sa_handler      __sigaction_u.__sa_handler
     166#define sa_sigaction    __sigaction_u.__sa_sigaction
     167
    155168int     sigprocmask(int, const sigset_t *, sigset_t *);
    156169#define SIG_BLOCK           1
     
    158171#define SIG_SETMASK         3
    159172
    160 #define SIGTTIN 0
    161 #define SIGTSTP 0
    162 #define SIGTTOU 0
    163 #define SIGCONT 0
    164 #define SIGPIPE 0
    165 #define SIGQUIT 0
    166 #define SIGHUP 0
     173#define SIGTTIN 29
     174#define SIGTSTP 28
     175#define SIGTTOU 27
     176#define SIGCONT 26
     177#define SIGPIPE 25
     178#define SIGQUIT 24
     179#define SIGHUP 23
    167180#ifndef NSIG
    168181#define NSIG 32
     
    180193//int   sigsuspend(const sigset_t *);
    181194//int   sigwait(const sigset_t *, int *);
     195int     siginterrupt(int, int);
    182196
    183197#endif /* _MSC_VER */
  • trunk/src/ash/win/strings.h

    r632 r633  
    22#define strcasecmp stricmp
    33#define strncasecmp strnicmp
     4#define index(str, ch) strchr((str), (ch))
  • trunk/src/ash/win/sys/cdefs.h

    r632 r633  
    33
    44#define __attribute__(a)
     5typedef int pid_t;
     6typedef unsigned short uid_t;
     7typedef unsigned short gid_t;
    58
    69#endif
  • trunk/src/ash/win/sys/resource.h

    r632 r633  
    1 /* */
     1/*
     2 * Copyright (c) 1982, 1986, 1993
     3 *      The Regents of the University of California.  All rights reserved.
     4 *
     5 * Redistribution and use in source and binary forms, with or without
     6 * modification, are permitted provided that the following conditions
     7 * are met:
     8 * 1. Redistributions of source code must retain the above copyright
     9 *    notice, this list of conditions and the following disclaimer.
     10 * 2. Redistributions in binary form must reproduce the above copyright
     11 *    notice, this list of conditions and the following disclaimer in the
     12 *    documentation and/or other materials provided with the distribution.
     13 * 4. Neither the name of the University nor the names of its contributors
     14 *    may be used to endorse or promote products derived from this software
     15 *    without specific prior written permission.
     16 *
     17 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     20 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     27 * SUCH DAMAGE.
     28 *
     29 *      @(#)resource.h  8.4 (Berkeley) 1/9/95
     30 * $FreeBSD: src/sys/sys/resource.h,v 1.23 2004/06/13 22:07:58 das Exp $
     31 */
     32
     33/** @file
     34 * FreeBSD 5.3
     35 * @changed bird: get/setpriority takes id_t not int according to SuS.
     36 * @changed bird: include sys/types.h to get id_t.
     37 */
     38
     39#ifndef _SYS_RESOURCE_H_
     40#define _SYS_RESOURCE_H_
     41
     42#include <sys/cdefs.h>
     43#include "mscfakes.h"
     44
     45
     46/*
     47 * Process priority specifications to get/setpriority.
     48 */
     49#define PRIO_MIN        -20
     50#define PRIO_MAX        20
     51
     52#define PRIO_PROCESS    0
     53#define PRIO_PGRP       1
     54#define PRIO_USER       2
     55
     56/*
     57 * Resource utilization information.
     58 */
     59
     60#define RUSAGE_SELF     0
     61#define RUSAGE_CHILDREN -1
     62
     63struct rusage {
     64        struct timeval ru_utime;        /* user time used */
     65        struct timeval ru_stime;        /* system time used */
     66        long    ru_maxrss;              /* max resident set size */
     67#define ru_first        ru_ixrss
     68        long    ru_ixrss;               /* integral shared memory size */
     69        long    ru_idrss;               /* integral unshared data " */
     70        long    ru_isrss;               /* integral unshared stack " */
     71        long    ru_minflt;              /* page reclaims */
     72        long    ru_majflt;              /* page faults */
     73        long    ru_nswap;               /* swaps */
     74        long    ru_inblock;             /* block input operations */
     75        long    ru_oublock;             /* block output operations */
     76        long    ru_msgsnd;              /* messages sent */
     77        long    ru_msgrcv;              /* messages received */
     78        long    ru_nsignals;            /* signals received */
     79        long    ru_nvcsw;               /* voluntary context switches */
     80        long    ru_nivcsw;              /* involuntary " */
     81#define ru_last         ru_nivcsw
     82};
     83
     84/*
     85 * Resource limits
     86 */
     87#define RLIMIT_CPU      0               /* cpu time in milliseconds */
     88#define RLIMIT_FSIZE    1               /* maximum file size */
     89#define RLIMIT_DATA     2               /* data size */
     90#define RLIMIT_STACK    3               /* stack size */
     91#define RLIMIT_CORE     4               /* core file size */
     92#define RLIMIT_RSS      5               /* resident set size */
     93#define RLIMIT_MEMLOCK  6               /* locked-in-memory address space */
     94#define RLIMIT_NPROC    7               /* number of processes */
     95#define RLIMIT_NOFILE   8               /* number of open files */
     96#define RLIMIT_SBSIZE   9               /* maximum size of all socket buffers */
     97#define RLIMIT_VMEM     10              /* virtual process size (inclusive of mmap) */
     98#define RLIMIT_AS       RLIMIT_VMEM     /* standard name for RLIMIT_VMEM */
     99#define RLIMIT_OBJREST  11              /* bird: size left in the top heap object. kLIBC specific. */
     100
     101#define RLIM_NLIMITS    12              /* number of resource limits */ /* bird: was 11 */
     102
     103#define RLIM_INFINITY   (((rlim_t)1 << 63) - 1)
     104/* XXX Missing: RLIM_SAVED_MAX, RLIM_SAVED_CUR */
     105
     106
     107/*
     108 * Resource limit string identifiers
     109 */
     110
     111#ifdef _RLIMIT_IDENT
     112static char *rlimit_ident[] = {
     113        "cpu",
     114        "fsize",
     115        "data",
     116        "stack",
     117        "core",
     118        "rss",
     119        "memlock",
     120        "nproc",
     121        "nofile",
     122        "sbsize",
     123        "vmem",
     124};
     125#endif
     126
     127typedef __int64 rlim_t;
     128
     129struct rlimit {
     130        rlim_t  rlim_cur;               /* current (soft) limit */
     131        rlim_t  rlim_max;               /* maximum value for rlim_cur */
     132};
     133
     134
     135/* XXX 2nd arg to [gs]etpriority() should be an id_t */
     136//int   getpriority(int, /*int*/ id_t);         /* bird: SuS uses id_t */
     137//int   getrlimit(int, struct rlimit *);
     138int     getrusage(int, struct rusage *);
     139//int   setpriority(int, /*int*/ id_t, int);    /* bird: SuS uses id_t */
     140int     setrlimit(int, const struct rlimit *);
     141
     142#endif  /* !_SYS_RESOURCE_H_ */
     143
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette