More fixes
authorDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sat, 27 Sep 2008 12:41:52 +0000 (08:41 -0400)
committerDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sat, 27 Sep 2008 12:41:52 +0000 (08:41 -0400)
15 files changed:
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/Makefile
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/mkdev.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/mkdevP.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priocntlP.h [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priv.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/psetP.h [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/pset_getloadavg.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/old_procfs.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/priocntl.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/priv.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/processor.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/procfs.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/procset.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/pset.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/sysmacros.h

index 3e69beb..721946b 100644 (file)
@@ -45,11 +45,10 @@ sysdep_routines += sys_fdsync sys_brk sys_fcntl sys_utssys sys_lwp_private \
     sys_zone_create sys_allocids sys_settaskid sys_zone_lookup sys_port \
     sys_door
 sysdep_headers += sys/feature_tests.h sys/dirent.h sys/utime.h sys/machelf.h \
-    sys/systeminfo.h sys/link.h sys/procfs_isa.h sys/ttold.h \
-    sys/priocntl.h sys/procset.h sys/ptyvar.h sys/synch.h sys/fork.h \
-    sys/sockio.h sys/ioccom.h sys/tty.h sys/trap.h sys/sysconfig.h \
-       sys/ptms.h sys/stack.h sys/regset.h sys/fault.h sys/processor.h \
-    sys/pset.h sys/reg.h sys/siginfo.h sys/types32.h sys/isa_defs.h \
+    sys/systeminfo.h sys/link.h sys/procfs_isa.h sys/ttold.h sys/procset.h \
+    sys/ptyvar.h sys/synch.h sys/fork.h sys/sockio.h sys/ioccom.h sys/tty.h \
+    sys/trap.h sys/sysconfig.h sys/ptms.h sys/stack.h sys/regset.h \
+    sys/fault.h sys/reg.h sys/siginfo.h sys/types32.h sys/isa_defs.h \
     sys/int_types.h sys/inttypes.h sys/atomic.h sys/machtypes.h sys/elf.h
 sysdep_headers += rtld_db.h pcsample.h atomic.h bits/machtypes.h
 headers := $(filter-out sys/sysinfo.h, $(headers))
@@ -65,7 +64,6 @@ endif
 
 ifeq ($(subdir),posix)
 sysdep_routines += exit-thread schedP
-headers := $(filter-out sys/sysmacros.h, $(headers))
 endif
 
 ifeq ($(subdir),resource)
index e37d0f1..9409832 100644 (file)
@@ -32,23 +32,23 @@ major_t __major (const int version, const dev_t devnum)
 
   if (version == OLDDEV)
     {
-      if ((devnum >> ONBITSMINOR) > OMAXMAJ)
+      if ((devnum >> O_BITSMINOR) > O_MAXMAJ)
         {
           __set_errno (EINVAL);
           return NODEV;
         }
 
-        return devnum >> ONBITSMINOR;
+        return devnum >> O_BITSMINOR;
     }
   else /* NEWDEV */
     {
-      if ((devnum >> NBITSMINOR) > MAXMAJ)
+      if ((devnum >> L_BITSMINOR) > L_MAXMAJ)
         {
           __set_errno (EINVAL);
           return NODEV;
         }
 
-        return devnum >> NBITSMINOR;
+        return devnum >> L_BITSMINOR;
     }
 }
 
@@ -62,9 +62,9 @@ minor_t __minor (const int version, const dev_t devnum)
     }
 
   if (version == OLDDEV)
-    return devnum & OMAXMIN;
+    return devnum & O_MAXMIN;
   else /* NEWDEV */
-    return devnum & MAXMIN;
+    return devnum & L_MAXMIN;
 }
 
 
@@ -78,22 +78,22 @@ dev_t __makedev (const int version, const major_t majdev, const minor_t mindev)
 
   if (version == OLDDEV)
     {
-      if (majdev > OMAXMAJ || mindev > OMAXMIN)
+      if (majdev > O_MAXMAJ || mindev > O_MAXMIN)
         {
           __set_errno (EINVAL);
           return NODEV;
         }
-      return (majdev << ONBITSMINOR) | mindev;
+      return (majdev << O_BITSMINOR) | mindev;
     }
   else /* NEWDEV */
     {
-      if (majdev > MAXMAJ || mindev > MAXMIN)
+      if (majdev > L_MAXMAJ || mindev > L_MAXMIN)
         {
           __set_errno (EINVAL);
           return NODEV;
         }
 
-      dev_t devnum = (majdev << NBITSMINOR) | mindev;
+      dev_t devnum = (majdev << L_BITSMINOR) | mindev;
       if (devnum == NODEV)
         __set_errno (EINVAL);
       return devnum;
index 9b7cef3..34f99e2 100644 (file)
 #ifndef _MKDEVP_H
 #define _MKDEVP_H
 
-#include <sys/feature_tests.h>
-
-#define ONBITSMAJOR    7
-#define ONBITSMINOR    8
-#define OMAXMAJ                0x7f
-#define OMAXMIN                0xff
-
-#ifdef _LP64
-# define NBITSMAJOR    32
-# define NBITSMINOR    32
-# define MAXMAJ                0xfffffffful
-# define MAXMIN                0xfffffffful
-#else
-# define NBITSMAJOR    14
-# define NBITSMINOR    18
-# define MAXMAJ                0x3ffful
-# define MAXMIN                0x3fffful
-#endif
-
 #define OLDDEV 0
 #define NEWDEV 1
 
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priocntlP.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priocntlP.h
new file mode 100644 (file)
index 0000000..8668e76
--- /dev/null
@@ -0,0 +1,112 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _PRIOCNTLP_H
+#define _PRIOCNTLP_H
+
+#include <features.h>
+#include <sys/types.h>
+#include <sys/procset.h>
+
+#define PC_VERSION             1
+
+#define PC_GETCID              0
+#define PC_GETCLINFO   1
+#define PC_SETPARMS            2
+#define PC_GETPARMS            3
+#define PC_ADMIN               4
+#define PC_GETPRIRANGE 5
+#define PC_DONICE              6
+#define PC_SETXPARMS   7
+#define PC_GETXPARMS   8
+#define PC_SETDFLCL            9
+#define PC_GETDFLCL            10
+#define PC_DOPRIO              11
+
+#define PC_CLNULL              -1
+
+typedef struct pcinfo
+{
+       id_t pc_cid;
+#define PC_CLNMSZ              16
+       char pc_clname[PC_CLNMSZ];
+#define PC_CLINFOSZ            (32 / sizeof (int))
+       int pc_clinfo[PC_CLINFOSZ];
+} pcinfo_t;
+
+typedef struct pcnice
+{
+       int pc_val;
+       int pc_op;
+} pcnice_t;
+
+/* pc_op values.  */
+#define PC_GETNICE             0
+#define PC_SETNICE             1
+
+typedef struct pcprio
+{
+       int pc_op;
+       id_t pc_cid;
+       int pc_val;
+} pcprio_t;
+
+/* pc_op values.  */
+#define PC_GETPRIO             0
+#define PC_SETPRIO             1
+
+typedef struct pc_vaparm
+{
+       int pc_key;
+       unsigned long long pc_parm;
+} pc_vaparm_t;
+
+/* pc_key values.  */
+#define PC_KY_NULL             0
+#define PC_KY_CLNAME   1
+
+typedef struct pc_vaparms
+{
+       unsigned int pc_vaparmscnt;
+#define PC_VAPARMCNT   8
+       pc_vaparm_t pc_parms[PC_VAPARMCNT];
+} pc_vaparms_t;
+
+typedef struct pcpri
+{
+       id_t pc_cid;
+       pri_t pc_clpmax;
+       pri_t pc_clpmin;
+} pcpri_t;
+
+typedef struct pcadmin
+{
+       id_t pc_cid;
+       __caddr_t pc_cladmin;
+} pcadmin_t;
+
+__BEGIN_DECLS
+
+long priocntl (idtype_t idtype, id_t id, int cmd, ...);
+
+long priocntlset (procset_t *ps, int cmd, ...);
+
+__END_DECLS
+
+#endif /* _PRIOCNTLP_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priv.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priv.h
deleted file mode 100644 (file)
index 6232991..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _PRIV_H
-#define _PRIV_H
-
-#include <sys/priv.h>
-#include <features.h>
-
-#define PRIV_STR_PORT  0x00
-#define PRIV_STR_LIT   0x01
-#define PRIV_STR_SHORT 0x02
-
-#define PRIV_ALLSETS   (priv_ptype_t)0
-
-__BEGIN_DECLS
-
-extern int setppriv (priv_op_t, priv_ptype_t, const priv_set_t *);
-extern int getppriv (priv_ptype_t, priv_set_t *);
-extern int setpflags (unsigned int, unsigned int);
-extern unsigned int getpflags (unsigned int);
-extern const priv_impl_info_t *getprivimplinfo (void);
-
-extern int priv_set (priv_op_t, priv_ptype_t, ...);
-extern boolean_t priv_ineffect(const char *);
-
-extern priv_set_t *priv_str_to_set (const char *, const char *, const char **);
-extern char *priv_set_to_str (const priv_set_t *, char, int);
-
-extern int priv_getbyname (const char *);
-extern const char *priv_getbynum (int);
-extern int priv_getsetbyname (const char *);
-extern const char *priv_getsetbynum (int);
-
-extern char *priv_gettext (const char *);
-
-extern priv_set_t *priv_allocset (void);
-extern void priv_freeset (priv_set_t *);
-
-extern void priv_emptyset (priv_set_t *);
-extern void priv_fillset (priv_set_t *);
-
-extern boolean_t priv_isemptyset (const priv_set_t *);
-extern boolean_t priv_isfullset (const priv_set_t *);
-extern boolean_t priv_isequalset (const priv_set_t *, const priv_set_t *);
-extern boolean_t priv_issubset (const priv_set_t *, const priv_set_t *);
-extern boolean_t priv_ismember (const priv_set_t *, const char *);
-
-extern void priv_intersect (const priv_set_t *, priv_set_t *);
-extern void priv_union (const priv_set_t *, priv_set_t *);
-extern void priv_inverse (priv_set_t *);
-
-extern int priv_addset (priv_set_t *, const char *);
-extern void priv_copyset (const priv_set_t *, priv_set_t *);
-extern int priv_delset (priv_set_t *, const char *);
-
-__END_DECLS
-
-#endif /* _PRIV_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/psetP.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/psetP.h
new file mode 100644 (file)
index 0000000..8826e03
--- /dev/null
@@ -0,0 +1,25 @@
+/* Declarations of processor sets.
+   Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _PSETP_H
+#define _PSETP_H
+
+typedef int psetid_t;
+
+#endif /* _PSETP_H */
index b88bb90..bceb573 100644 (file)
@@ -18,7 +18,7 @@
    02111-1307 USA.  */
 
 #include <inline-syscall.h>
-#include <sys/pset.h>
+#include <psetP.h>
 
 DECLARE_INLINE_SYSCALL (int, pset_getloadavg, int *buf, int nelem);
 
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/old_procfs.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/old_procfs.h
deleted file mode 100644 (file)
index e5f9833..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-/* Declarations of old procfs structures.
-   Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_OLD_PROCFS_H
-#define _SYS_OLD_PROCFS_H      1
-
-#if _STRUCTURED_PROC == 0
-
-#include <sys/types.h>
-#include <sys/procset.h>
-#include <sys/ucontext.h>
-#include <sys/signal.h>
-#include <sys/fault.h>
-
-#define        PIOC            ('q'<<8)
-#define        PIOCSTATUS      (PIOC|1)
-#define        PIOCSTOP        (PIOC|2)
-#define        PIOCWSTOP       (PIOC|3)
-#define        PIOCRUN         (PIOC|4)
-#define        PIOCGTRACE      (PIOC|5)
-#define        PIOCSTRACE      (PIOC|6)
-#define        PIOCSSIG        (PIOC|7)
-#define        PIOCKILL        (PIOC|8)
-#define        PIOCUNKILL      (PIOC|9)
-#define        PIOCGHOLD       (PIOC|10)
-#define        PIOCSHOLD       (PIOC|11)
-#define        PIOCMAXSIG      (PIOC|12)
-#define        PIOCACTION      (PIOC|13)
-#define        PIOCGFAULT      (PIOC|14)
-#define        PIOCSFAULT      (PIOC|15)
-#define        PIOCCFAULT      (PIOC|16)
-#define        PIOCGENTRY      (PIOC|17)
-#define        PIOCSENTRY      (PIOC|18)
-#define        PIOCGEXIT       (PIOC|19)
-#define        PIOCSEXIT       (PIOC|20)
-#define        PIOCSFORK       (PIOC|21)
-#define        PIOCRFORK       (PIOC|22)
-#define        PIOCSRLC        (PIOC|23)
-#define        PIOCRRLC        (PIOC|24)
-#define        PIOCGREG        (PIOC|25)
-#define        PIOCSREG        (PIOC|26)
-#define        PIOCGFPREG      (PIOC|27)
-#define        PIOCSFPREG      (PIOC|28)
-#define        PIOCNICE        (PIOC|29)
-#define        PIOCPSINFO      (PIOC|30)
-#define        PIOCNMAP        (PIOC|31)
-#define        PIOCMAP         (PIOC|32)
-#define        PIOCOPENM       (PIOC|33)
-#define        PIOCCRED        (PIOC|34)
-#define        PIOCGROUPS      (PIOC|35)
-#define        PIOCGETPR       (PIOC|36)
-#define        PIOCGETU        (PIOC|37)
-#define        PIOCSET         (PIOC|38)
-#define        PIOCRESET       (PIOC|39)
-#define        PIOCUSAGE       (PIOC|43)
-#define        PIOCOPENPD      (PIOC|44)
-#define        PIOCLWPIDS      (PIOC|45)
-#define        PIOCOPENLWP     (PIOC|46)
-#define        PIOCLSTATUS     (PIOC|47)
-#define        PIOCLUSAGE      (PIOC|48)
-#define        PIOCNAUXV       (PIOC|49)
-#define        PIOCAUXV        (PIOC|50)
-#define        PIOCGXREGSIZE   (PIOC|51)
-#define        PIOCGXREG       (PIOC|52)
-#define        PIOCSXREG       (PIOC|53)
-
-#define        PIOCNLDT        (PIOC|103)
-#define        PIOCLDT         (PIOC|104)
-
-#define PRCLSZ         8
-#define PRSYSARGS      8
-
-#endif /* _STRUCTURED_PROC == 0 */
-
-typedef struct prstatus
-  {
-       int pr_flags;
-       short pr_why;
-       short pr_what;
-       siginfo_t pr_info;
-       short pr_cursig;
-       unsigned short pr_nlwp;
-       sigset_t pr_sigpend;
-       sigset_t pr_sighold;
-       struct sigaltstack pr_altstack;
-       struct sigaction pr_action;
-       pid_t pr_pid;
-       pid_t pr_ppid;
-       pid_t pr_pgrp;
-       pid_t pr_sid;
-       struct timespec pr_utime;
-       struct timespec pr_stime;
-       struct timespec pr_cutime;
-       struct timespec pr_cstime;
-       char pr_clname[PRCLSZ];
-       short pr_syscall;
-       short pr_nsysarg;
-       long pr_sysarg[PRSYSARGS];
-       id_t pr_who;
-       sigset_t pr_lwppend;
-       struct ucontext *pr_oldcontext;
-       caddr_t pr_brkbase;
-       size_t pr_brksize;
-       caddr_t pr_stkbase;
-       size_t pr_stksize;
-       short pr_processor;
-       short pr_bind;
-       long pr_instr;
-       prgregset_t pr_reg;
-  } prstatus_t;
-
-#if _STRUCTURED_PROC == 0
-
-#define        PR_STOPPED      0x0001
-#define        PR_ISTOP        0x0002
-#define        PR_DSTOP        0x0004
-#define        PR_ASLEEP       0x0008
-#define        PR_FORK         0x0010
-#define        PR_RLC          0x0020
-#define        PR_PTRACE       0x0040
-#define        PR_PCINVAL      0x0080
-#define        PR_ISSYS        0x0100
-#define        PR_STEP         0x0200
-#define        PR_KLC          0x0400
-#define        PR_ASYNC        0x0800
-#define        PR_PCOMPAT      0x1000
-#define        PR_MSACCT       0x2000
-#define        PR_BPTADJ       0x4000
-#define        PR_ASLWP        0x8000
-
-#define        PR_REQUESTED    1
-#define        PR_SIGNALLED    2
-#define        PR_SYSENTRY     3
-#define        PR_SYSEXIT      4
-#define        PR_JOBCONTROL   5
-#define        PR_FAULTED      6
-#define        PR_SUSPENDED    7
-#define        PR_CHECKPOINT   8
-
-#define        PRFNSZ          16
-#define        PRARGSZ         80
-
-#endif /* _STRUCTURED_PROC == 0 */
-
-typedef struct prpsinfo
-  {
-       char pr_state;
-       char pr_sname;
-       char pr_zomb;
-       char pr_nice;
-       unsigned int pr_flag;
-       uid_t pr_uid;
-       gid_t pr_gid;
-       pid_t pr_pid;
-       pid_t pr_ppid;
-       pid_t pr_pgrp;
-       pid_t pr_sid;
-       caddr_t pr_addr;
-       size_t pr_size;
-       size_t pr_rssize;
-       caddr_t pr_wchan;
-       struct timespec pr_start;
-       struct timespec pr_time;
-       int pr_pri;
-       char pr_oldpri;
-       char pr_cpu;
-       o_dev_t pr_ottydev;
-       dev_t pr_lttydev;
-       char pr_clname[PRCLSZ];
-       char pr_fname[PRFNSZ];
-       char pr_psargs[PRARGSZ];
-       short pr_syscall;
-       short pr_fill;
-       struct timespec pr_ctime;
-       size_t pr_bysize;
-       size_t pr_byrssize;
-       int pr_argc;
-       char    **pr_argv;
-       char    **pr_envp;
-       int pr_wstat;
-       unsigned short pr_pctcpu;
-       unsigned short pr_pctmem;
-       uid_t pr_euid;
-       gid_t pr_egid;
-       id_t pr_aslwpid;
-       char pr_dmodel;
-       char pr_pad[3];
-       int pr_filler[6];
-  } prpsinfo_t;
-
-#if _STRUCTURED_PROC == 0
-
-typedef struct prrun
-  {
-       int pr_flags;
-       sigset_t pr_trace;
-       sigset_t pr_sighold;
-       fltset_t pr_fault;
-       caddr_t pr_vaddr;
-       int pr_filler[8];
-  } prrun_t;
-
-#define        PRCSIG          0x001
-#define        PRCFAULT        0x002
-#define        PRSTRACE        0x004
-#define        PRSHOLD         0x008
-#define        PRSFAULT        0x010
-#define        PRSVADDR        0x020
-#define        PRSTEP          0x040
-#define        PRSABORT        0x080
-#define        PRSTOP          0x100
-
-typedef struct prmap
-  {
-       caddr_t pr_vaddr;
-       size_t pr_size;
-       off_t pr_off;
-       unsigned int pr_mflags;
-       unsigned int pr_pagesize;
-       long pr_filler[3];
-  } prmap_t;
-
-#define        MA_READ         0x04
-#define        MA_WRITE        0x02
-#define        MA_EXEC         0x01
-#define        MA_SHARED       0x08
-#define        MA_BREAK        0x10
-#define        MA_STACK        0x20
-
-typedef struct prcred
-  {
-       uid_t pr_euid;
-       uid_t pr_ruid;
-       uid_t pr_suid;
-       gid_t pr_egid;
-       gid_t pr_rgid;
-       gid_t pr_sgid;
-       unsigned int pr_ngroups;
-  } prcred_t;
-
-typedef struct prusage
-  {
-       id_t pr_lwpid;
-       int pr_count;
-       struct timespec pr_tstamp;
-       struct timespec pr_create;
-       struct timespec pr_term;
-       struct timespec pr_rtime;
-       struct timespec pr_utime;
-       struct timespec pr_stime;
-       struct timespec pr_ttime;
-       struct timespec pr_tftime;
-       struct timespec pr_dftime;
-       struct timespec pr_kftime;
-       struct timespec pr_ltime;
-       struct timespec pr_slptime;
-       struct timespec pr_wtime;
-       struct timespec pr_stoptime;
-       struct timespec filltime[6];
-       unsigned long pr_minf;
-       unsigned long pr_majf;
-       unsigned long pr_nswap;
-       unsigned long pr_inblk;
-       unsigned long pr_oublk;
-       unsigned long pr_msnd;
-       unsigned long pr_mrcv;
-       unsigned long pr_sigs;
-       unsigned long pr_vctx;
-       unsigned long pr_ictx;
-       unsigned long pr_sysc;
-       unsigned long pr_ioch;
-       unsigned long   filler[10];
-  } prusage_t;
-
-typedef struct prpageheader
-  {
-       struct timespec pr_tstamp;
-       unsigned long pr_nmap;
-       unsigned long pr_npage;
-  } prpageheader_t;
-
-typedef struct prasmap
-  {
-       caddr_t pr_vaddr;
-       size_t pr_npage;
-       off_t pr_off;
-       unsigned int pr_mflags;
-       unsigned int pr_pagesize;
-       long pr_filler[3];
-  } prasmap_t;
-
-#define        PG_REFERENCED   0x02
-#define        PG_MODIFIED     0x01
-#define        PG_HWMAPPED     0x04
-
-/* based on sig*set */
-
-#define prfillset(set) \
-       { int __cnt = sizeof (*set) / sizeof (uint32_t); \
-       while (--__cnt >= 0) ((uint32_t *)(set))[__cnt] = 0xFFFFFFFF; }
-
-#define premptyset(set) \
-       { int __cnt = sizeof (*set) / sizeof (uint32_t); \
-       while (--__cnt >= 0) ((uint32_t *)(set))[__cnt] = 0; }
-
-#define __prmask(flag) \
-  (((uint32_t) 1) << (((flag) - 1) % (8 * (int)sizeof (uint32_t))))
-
-# define __prword(flag)        (((flag) - 1) / (8 * (int)sizeof (uint32_t)))
-
-#define praddset(set, flag) \
-    (((uint32_t *)(set))[__prword (flag)] |= __prmask (flag))
-
-#define prdelset(set, flag) \
-    (((uint32_t *)(set))[__prword (flag)] &= ~__prmask (flag))
-
-#define prismember(set, flag) \
-       ((((uint32_t *)(set))[__prword (flag)] & __prmask (flag)) ? 1 : 0)
-
-#endif /* _STRUCTURED_PROC == 0 */
-
-#endif /* _SYS_OLD_PROCFS_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/priocntl.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/priocntl.h
deleted file mode 100644 (file)
index 95e5e36..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_PRIOCNTL_H
-#define _SYS_PRIOCNTL_H
-
-#include <features.h>
-#include <sys/types.h>
-#include <sys/procset.h>
-
-#define PC_VERSION             1
-
-#define PC_GETCID              0
-#define PC_GETCLINFO   1
-#define PC_SETPARMS            2
-#define PC_GETPARMS            3
-#define PC_ADMIN               4
-#define PC_GETPRIRANGE 5
-#define PC_DONICE              6
-#define PC_SETXPARMS   7
-#define PC_GETXPARMS   8
-#define PC_SETDFLCL            9
-#define PC_GETDFLCL            10
-#define PC_DOPRIO              11
-
-#define PC_CLNULL              -1
-
-typedef struct pcinfo
-{
-       id_t pc_cid;
-#define PC_CLNMSZ              16
-       char pc_clname[PC_CLNMSZ];
-#define PC_CLINFOSZ            (32 / sizeof (int))
-       int pc_clinfo[PC_CLINFOSZ];
-} pcinfo_t;
-
-typedef struct pcparms
-{
-       id_t pc_cid;
-#define PC_CLPARMSZ            (32 / sizeof (int))
-       int pc_clparms[PC_CLPARMSZ];
-} pcparms_t;
-
-typedef struct pcnice
-{
-       int pc_val;
-       int pc_op;
-} pcnice_t;
-
-/* pc_op values.  */
-#define PC_GETNICE             0
-#define PC_SETNICE             1
-
-typedef struct pcprio
-{
-       int pc_op;
-       id_t pc_cid;
-       int pc_val;
-} pcprio_t;
-
-/* pc_op values.  */
-#define PC_GETPRIO             0
-#define PC_SETPRIO             1
-
-typedef struct pc_vaparm
-{
-       int pc_key;
-       unsigned long long pc_parm;
-} pc_vaparm_t;
-
-/* pc_key values.  */
-#define PC_KY_NULL             0
-#define PC_KY_CLNAME   1
-
-typedef struct pc_vaparms
-{
-       unsigned int pc_vaparmscnt;
-#define PC_VAPARMCNT   8
-       pc_vaparm_t pc_parms[PC_VAPARMCNT];
-} pc_vaparms_t;
-
-typedef struct pcpri
-{
-       id_t pc_cid;
-       pri_t pc_clpmax;
-       pri_t pc_clpmin;
-} pcpri_t;
-
-typedef struct pcadmin
-{
-       id_t pc_cid;
-       __caddr_t pc_cladmin;
-} pcadmin_t;
-
-__BEGIN_DECLS
-
-long priocntl (idtype_t idtype, id_t id, int cmd, ...);
-
-long priocntlset (procset_t *ps, int cmd, ...);
-
-__END_DECLS
-
-#endif /* _SYS_PRIOCNTL_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/priv.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/priv.h
deleted file mode 100644 (file)
index 1da00b6..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Declarations of privilege functions and types.
-   Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_PRIV_H
-#define _SYS_PRIV_H
-
-#include <sys/types.h>
-#include <sys/priv_names.h>
-
-/* privsys codes */
-#define        PRIVSYS_SETPPRIV        0
-#define        PRIVSYS_GETPPRIV        1
-#define        PRIVSYS_GETIMPLINFO     2
-#define        PRIVSYS_SETPFLAGS       3
-#define        PRIVSYS_GETPFLAGS       4
-#define        PRIVSYS_ISSETUGID       5
-#define        PRIVSYS_KLPD_REG        6
-#define        PRIVSYS_KLPD_UNREG      7
-
-typedef enum priv_op
-{
-       PRIV_ON,
-       PRIV_OFF,
-       PRIV_SET
-} priv_op_t;
-
-typedef uint32_t priv_chunk_t;
-typedef struct priv_set priv_set_t;
-typedef const char *priv_ptype_t;
-typedef const char *priv_t;
-
-typedef struct priv_impl_info
-{
-       uint32_t priv_headersize;
-       uint32_t priv_flags;
-       uint32_t priv_nsets;
-       uint32_t priv_setsize;
-       uint32_t priv_max;
-       uint32_t priv_infosize;
-       uint32_t priv_globalinfosize;
-} priv_impl_info_t;
-
-#define PRIV_DEBUG             0x0001
-#define PRIV_AWARE             0x0002
-#define PRIV_AWARE_INHERIT     0x0004
-#define __PROC_PROTECT         0x0008
-#define NET_MAC_AWARE          0x0010
-#define NET_MAC_AWARE_INHERIT  0x0020
-#define PRIV_XPOLICY           0x0080
-#define PRIV_USER              (PRIV_DEBUG | NET_MAC_AWARE | \
-       NET_MAC_AWARE_INHERIT |  PRIV_XPOLICY)
-
-#define PRIV_IMPL_INFO_SIZE(p) \
-       ((p)->priv_headersize + (p)->priv_globalinfosize)
-
-typedef struct priv_info
-{
-       uint32_t priv_info_type;
-       uint32_t priv_info_size;
-} priv_info_t;
-
-typedef struct priv_info_uint
-{
-       priv_info_t info;
-       uint_t val;
-} priv_info_uint_t;
-
-typedef struct priv_info_set
-{
-       priv_info_t info;
-       priv_chunk_t set[1];
-} priv_info_set_t;
-
-typedef struct priv_info_names
-{
-       priv_info_t info;
-       int cnt;
-       char names[1];
-} priv_info_names_t;
-
-#define PRIV_PRPRIV_INFO_OFFSET(p) \
-       (sizeof (prpriv_t) + sizeof (priv_chunk_t)) * \
-       ((p)->pr_nsets * (p)->pr_setsize - 1)
-
-#define PRIV_PRPRIV_SIZE(p) \
-       (PRIV_PRPRIV_INFO_OFFSET(p) + (p)->pr_infosize)
-
-#define PRIV_ALL       (-1)
-#define PRIV_MULTIPLE  (-2)
-#define PRIV_NONE      (-3)
-#define PRIV_ALLZONE   (-4)
-#define PRIV_GLOBAL    (-5)
-
-#define PRIV_INFO_SETNAMES     1
-#define PRIV_INFO_PRIVNAMES    2
-#define PRIV_INFO_BASICPRIVS   3
-#define PRIV_INFO_FLAGS                4
-
-#endif /* _SYS_PRIV_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/processor.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/processor.h
deleted file mode 100644 (file)
index 25b345a..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Declarations of processor-related types/macros.
-   Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_PROCESSOR_H
-#define _SYS_PROCESSOR_H
-
-#include <features.h>
-#include <sys/procset.h>
-
-typedef int processorid_t;
-
-typedef struct
-{
-       int pi_state;
-#define PI_TYPELEN     16
-       char pi_processor_type[PI_TYPELEN];
-#define PI_FPUTYPE     32
-       char pi_fputypes[PI_FPUTYPE];
-       int pi_clock;
-} processor_info_t;
-
-/* p_online flag values */
-enum
-{
-       P_OFFLINE = 1,
-#define P_OFFLINE      P_OFFLINE
-       P_ONLINE = 2,
-#define P_ONLINE       P_ONLINE
-       P_STATUS = 3,
-#define P_STATUS       P_STATUS
-       P_FAULTED = 4,
-#define P_FAULTED      P_FAULTED
-#define P_BAD          P_FAULTED
-       P_POWEROFF = 5,
-#define P_POWEROFF     P_POWEROFF
-       P_NOINTR = 6,
-#define P_NOINTR       P_NOINTR
-       P_SPARE = 7,
-#define P_SPARE                P_SPARE
-       P_FORCED = 0x10000000
-#define P_FORCED       P_FORCED
-};
-
-#define PS_OFFLINE     "off-line"
-#define PS_ONLINE      "on-line"
-#define PS_FAULTED     "faulted"
-#define PS_POWEROFF    "powered-off"
-#define PS_NOINTR      "no-intr"
-#define PS_SPARE       "spare"
-
-#define PBIND_NONE     -1
-#define PBIND_QUERY    -2
-#define PBIND_HARD     -3
-#define PBIND_SOFT     -4
-#define PBIND_QUERY_TYPE       -5
-
-__BEGIN_DECLS
-
-extern int processor_info (processorid_t processorid, processor_info_t *infop);
-
-extern int processor_bind (idtype_t idtype, id_t id, processorid_t processorid,
-     processorid_t *obind);
-
-extern int p_online (processorid_t processorid, int flag);
-
-extern processorid_t getcpuid (void);
-
-__END_DECLS
-
-#endif /* _SYS_PROCESSOR_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/procfs.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/procfs.h
deleted file mode 100644 (file)
index 670089f..0000000
+++ /dev/null
@@ -1,489 +0,0 @@
-/* Declarations of procfs structures.
-   Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H  1
-
-#ifndef _STRUCTURED_PROC
-# define _STRUCTURED_PROC      0
-#endif
-
-#if _STRUCTURED_PROC == 0
-
-# include <sys/old_procfs.h>
-
-#else
-
-#include <sys/types.h>
-#include <sys/signal.h>
-#include <sys/fault.h>
-#include <sys/syscall.h>
-#include <sys/processor.h>
-#include <sys/pset.h>
-#include <sys/priv.h>
-#include <bits/regset.h>
-#include <time.h>
-#include <bits/wordsize.h>
-#include <sys/procfs_isa.h>
-
-/* control codes for ctl and lwpctl */
-#define PCNULL         0
-#define PCSTOP         1
-#define PCDSTOP                2
-#define PCWSTOP                3
-#define PCTWSTOP       4
-#define PCRUN          5
-#define PCCSIG         6
-#define PCCFAULT       7
-#define PCSSIG         8
-#define PCKILL         9
-#define PCUNKILL       10
-#define PCSHOLD                11
-#define PCSTRACE       12
-#define PCSFAULT       13
-#define PCSENTRY       14
-#define PCSEXIT                15
-#define PCSET          16
-#define PCUNSET                17
-#define PCSREG         18
-#define PCSFPREG       19
-#define PCSXREG                20
-#define PCNICE         21
-#define PCSVADDR       22
-#define PCWATCH                23
-#define PCAGENT                24
-#define PCREAD         25
-#define PCWRITE                26
-#define PCSCRED                27
-#define PCSASRS                28
-#define PCSPRIV                29
-#define PCSZONE                30
-#define PCSCREDX       31
-
-/* PCRUN codes */
-#define PRCSIG         0x01
-#define PRCFAULT       0x02
-#define PRSTEP         0x04
-#define PRSABORT       0x08
-#define PRSTOP         0x10
-
-/* /proc/<pid>/lwp/<lwpid>/lwpstatus */
-typedef struct lwpstatus
-{
-       int     pr_flags;
-       id_t pr_lwpid;
-       short pr_why;
-       short pr_what;
-       short pr_cursig;
-       short pr_pad1;
-       siginfo_t pr_info;
-       sigset_t pr_lwppend;
-       sigset_t pr_lwphold;
-       struct sigaction pr_action;
-       stack_t pr_altstack;
-       uintptr_t pr_oldcontext;
-       short pr_syscall;
-       short pr_nsysarg;
-       int     pr_errno;
-#define        PRSYSARGS       8
-       long pr_sysarg[PRSYSARGS];
-       long pr_rval1;
-       long pr_rval2;
-#define        PRCLSZ          8
-       char pr_clname[PRCLSZ];
-       struct timespec pr_tstamp;
-       struct timespec pr_utime;
-       struct timespec pr_stime;
-       int     pr_filler[11 - 2 * sizeof (struct timespec) / sizeof (int)];
-       int     pr_errpriv;
-       uintptr_t pr_ustack;
-       unsigned long pr_instr;
-       prgregset_t pr_reg;
-       prfpregset_t pr_fpreg;
-} lwpstatus_t;
-
-/* /proc/<pid>/status */
-typedef struct pstatus
-{
-       int     pr_flags;
-       int     pr_nlwp;
-       pid_t pr_pid;
-       pid_t pr_ppid;
-       pid_t pr_pgid;
-       pid_t pr_sid;
-       id_t pr_aslwpid;
-       id_t pr_agentid;
-       sigset_t pr_sigpend;
-       uintptr_t pr_brkbase;
-       size_t pr_brksize;
-       uintptr_t pr_stkbase;
-       size_t pr_stksize;
-       struct timespec pr_utime;
-       struct timespec pr_stime;
-       struct timespec pr_cutime;
-       struct timespec pr_cstime;
-       sigset_t pr_sigtrace;
-       fltset_t pr_flttrace;
-       sysset_t pr_sysentry;
-       sysset_t pr_sysexit;
-       char pr_dmodel;
-       char pr_pad[3];
-       taskid_t pr_taskid;
-       projid_t pr_projid;
-       int pr_nzomb;
-       zoneid_t pr_zoneid;
-       int pr_filler[15];
-       lwpstatus_t pr_lwp;
-} pstatus_t;
-
-/* pr_flags */
-#define        PR_STOPPED              0x00000001
-#define        PR_ISTOP                0x00000002
-#define        PR_DSTOP                0x00000004
-#define        PR_STEP                 0x00000008
-#define        PR_ASLEEP               0x00000010
-#define        PR_PCINVAL              0x00000020
-#define        PR_ASLWP                0x00000040
-#define        PR_AGENT                0x00000080
-#define        PR_DETACH               0x00000100
-#define        PR_DAEMON               0x00000200
-#define        PR_IDLE                 0x00000400
-#define        PR_ISSYS                0x00001000
-#define        PR_VFORKP               0x00002000
-#define        PR_ORPHAN               0x00004000
-#define        PR_NOSIGCHLD    0x00008000
-#define        PR_WAITPID          0x00010000
-#define        PR_FORK                 0x00100000
-#define        PR_RLC                  0x00200000
-#define        PR_KLC                  0x00400000
-#define        PR_ASYNC                0x00800000
-#define        PR_MSACCT               0x01000000
-#define        PR_BPTADJ               0x02000000
-#define        PR_PTRACE               0x04000000
-#define        PR_MSFORK               0x08000000
-
-/* pr_why */
-enum
-{
-       PR_REQUESTED = 1,
-#define        PR_REQUESTED PR_REQUESTED
-       PR_SIGNALLED = 2,
-#define        PR_SIGNALLED PR_SIGNALLED
-       PR_SYSENTRY = 3,
-#define        PR_SYSENTRY PR_SYSENTRY
-       PR_SYSEXIT = 4,
-#define        PR_SYSEXIT PR_SYSEXIT
-       PR_JOBCONTROL = 5,
-#define        PR_JOBCONTROL PR_JOBCONTROL
-       PR_FAULTED = 6,
-#define        PR_FAULTED PR_FAULTED
-       PR_SUSPENDED = 7,
-#define        PR_SUSPENDED PR_SUSPENDED
-       PR_CHECKPOINT = 8
-#define        PR_CHECKPOINT PR_CHECKPOINT
-};
-
-/* /proc/<pid>/lwp/<lwpid>/lwpsinfo */
-typedef struct lwpsinfo
-{
-       int     pr_flag;
-       id_t    pr_lwpid;
-       uintptr_t pr_addr;
-       uintptr_t pr_wchan;
-       char pr_stype;
-       char pr_state;
-       char pr_sname;
-       char pr_nice;
-       short pr_syscall;
-       char pr_oldpri;
-       char pr_cpu;
-       int     pr_pri;
-       unsigned short pr_pctcpu;
-       unsigned short pr_pad;
-       struct timespec pr_start;
-       struct timespec pr_time;
-#define        PRFNSZ          16
-       char pr_clname[PRCLSZ];
-       char pr_name[PRFNSZ];
-       processorid_t pr_onpro;
-       processorid_t pr_bindpro;
-       psetid_t pr_bindpset;
-       int     pr_lgrp;
-       int     pr_filler[4];
-} lwpsinfo_t;
-
-/* pr_ttydev: non-existent device */
-#define        PRNODEV (dev_t)(-1)
-
-/* /proc/<pid>/psinfo */
-typedef struct psinfo
-{
-       int     pr_flag;
-       int     pr_nlwp;
-       pid_t pr_pid;
-       pid_t pr_ppid;
-       pid_t pr_pgid;
-       pid_t pr_sid;
-       uid_t pr_uid;
-       uid_t pr_euid;
-       gid_t pr_gid;
-       gid_t pr_egid;
-       uintptr_t pr_addr;
-       size_t pr_size;
-       size_t pr_rssize;
-       size_t pr_pad1;
-       dev_t pr_ttydev;
-       unsigned short pr_pctcpu;
-       unsigned short pr_pctmem;
-       struct timespec pr_start;
-       struct timespec pr_time;
-       struct timespec pr_ctime;
-       char pr_fname[PRFNSZ];
-#define        PRARGSZ         80
-       char pr_psargs[PRARGSZ];
-       int pr_wstat;
-       int pr_argc;
-       uintptr_t pr_argv;
-       uintptr_t pr_envp;
-       char pr_dmodel;
-       char pr_pad2[3];
-       taskid_t pr_taskid;
-       projid_t pr_projid;
-       int pr_nzomb;
-       poolid_t pr_poolid;
-       zoneid_t pr_zoneid;
-       id_t pr_contract;
-       int pr_filler[1];
-       lwpsinfo_t pr_lwp;
-} psinfo_t;
-
-/* /proc/<pid>/map, /proc/<pid>/rmap */
-typedef struct prmap
-{
-       uintptr_t pr_vaddr;
-       size_t pr_size;
-#define        PRMAPSZ 64
-       char pr_mapname[PRMAPSZ];
-       offset_t pr_offset;
-       int pr_mflags;
-       int pr_pagesize;
-       int pr_shmid;
-       int pr_filler[1];
-} prmap_t;
-
-/* pr_mflags values */
-#define        MA_EXEC                 0x0001
-#define        MA_WRITE                0x0002
-#define        MA_READ                 0x0004
-#define        MA_SHARED               0x0008
-#define        MA_BREAK                0x0010
-#define        MA_STACK                0x0020
-#define        MA_ANON                 0x0040
-#define        MA_ISM                  0x0080
-#define        MA_NORESERVE    0x0100
-#define        MA_SHM                  0x0200
-#define        MA_RESERVED1    0x0400
-
-/* /proc/<pid>/xmap */
-typedef struct prxmap
-{
-       uintptr_t pr_vaddr;
-       size_t pr_size;
-       char pr_mapname[PRMAPSZ];
-       offset_t pr_offset;
-       int pr_mflags;
-       int pr_pagesize;
-       int pr_shmid;
-       dev_t pr_dev;
-       uint64_t pr_ino;
-       size_t pr_rss;
-       size_t pr_anon;
-       size_t pr_locked;
-       size_t pr_pad;
-       uint64_t pr_hatpagesize;
-#if __WORDSIZE == 32
-       unsigned long pr_filler[6];
-#else
-       unsigned long pr_filler[7];
-#endif
-} prxmap_t;
-
-/* pr_mflags */
-#define MA_EXEC                        0x0001
-#define MA_WRITE               0x0002
-#define MA_READ                        0x0004
-#define MA_SHARED              0x0008
-#define MA_ANON                        0x0040
-#define MA_ISM                 0x0080
-#define MA_NORESERVE   0x0100
-#define MA_SHM                 0x0200
-#define MA_RESERVED1   0x0400
-
-/* /proc/<pid>/cred */
-typedef struct prcred
-{
-       uid_t pr_euid;
-       uid_t pr_ruid;
-       uid_t pr_suid;
-       gid_t pr_egid;
-       gid_t pr_rgid;
-       gid_t pr_sgid;
-       int pr_ngroups;
-       gid_t pr_groups[1];
-} prcred_t;
-
-/* /proc/<pid>/priv */
-typedef struct prpriv
-{
-       uint32_t pr_nsets;
-       uint32_t pr_setsize;
-       uint32_t pr_infosize;
-       priv_chunk_t pr_sets[1];
-} prpriv_t;
-
-/* /proc/<pid>/watch */
-typedef struct prwatch
-{
-       uintptr_t pr_vaddr;
-       size_t pr_size;
-       int pr_wflags;
-       int pr_pad;
-} prwatch_t;
-
-/* pr_wflags */
-#define WA_EXEC                        0x01
-#define WA_WRITE               0x02
-#define WA_READ                        0x04
-#define WA_TRAPAFTER   0x08
-
-typedef struct priovec {
-       void *pio_base;
-       size_t pio_len;
-       off_t pio_offset;
-} priovec_t;
-
-/* /proc/<pid>/usage, /proc/<pid>/lwp/<lwpid>/lwpusage */
-typedef struct prusage
-{
-       id_t pr_lwpid;
-       int pr_count;
-       struct timespec pr_tstamp;
-       struct timespec pr_create;
-       struct timespec pr_term;
-       struct timespec pr_rtime;
-       struct timespec pr_utime;
-       struct timespec pr_stime;
-       struct timespec pr_ttime;
-       struct timespec pr_tftime;
-       struct timespec pr_dftime;
-       struct timespec pr_kftime;
-       struct timespec pr_ltime;
-       struct timespec pr_slptime;
-       struct timespec pr_wtime;
-       struct timespec pr_stoptime;
-       struct timespec filltime[6];
-       unsigned long pr_minf;
-       unsigned long pr_majf;
-       unsigned long pr_nswap;
-       unsigned long pr_inblk;
-       unsigned long pr_oublk;
-       unsigned long pr_msnd;
-       unsigned long pr_mrcv;
-       unsigned long pr_sigs;
-       unsigned long pr_vctx;
-       unsigned long pr_ictx;
-       unsigned long pr_sysc;
-       unsigned long pr_ioch;
-       unsigned long filler[10];
-} prusage_t;
-
-/* /proc/<pid>/pagedata file header */
-typedef struct prpageheader
-{
-       struct timespec pr_tstamp;
-       long pr_nmap;
-       long pr_npage;
-} prpageheader_t;
-
-/* /proc/<pid>/pagedata mapping header */
-typedef struct prasmap
-{
-       uintptr_t pr_vaddr;
-       size_t pr_npage;
-       char pr_mapname[PRMAPSZ];
-       offset_t pr_offset;
-       int pr_mflags;
-       int pr_pagesize;
-       int pr_shmid;
-       int pr_filler[1];
-} prasmap_t;
-
-/* pr_npage-long byte array (plus 8-byte alignment) of the following flags */
-#define        PG_REFERENCED   0x02
-#define        PG_MODIFIED             0x01
-#define        PG_HWMAPPED             0x04
-
-/* /proc/<pid>/lstatus, /proc/<pid>/lpsinfo, /proc/<pid>/lusage header */
-typedef struct prheader
-{
-       long pr_nent;
-       long pr_entsize;
-} prheader_t;
-
-/* based on sig*set */
-
-#define prfillset(set) \
-       { int __cnt = sizeof (*set) / sizeof (uint32_t); \
-       while (--__cnt >= 0) ((uint32_t *)(set))[__cnt] = 0xFFFFFFFF; }
-
-#define premptyset(set) \
-       { int __cnt = sizeof (*set) / sizeof (uint32_t); \
-       while (--__cnt >= 0) ((uint32_t *)(set))[__cnt] = 0; }
-
-#define __prmask(flag) \
-  (((uint32_t) 1) << (((flag) - 1) % (8 * (int)sizeof (uint32_t))))
-
-# define __prword(flag)        (((flag) - 1) / (8 * (int)sizeof (uint32_t)))
-
-#define praddset(set, flag) \
-    (((uint32_t *)(set))[__prword (flag)] |= __prmask (flag))
-
-#define prdelset(set, flag) \
-    (((uint32_t *)(set))[__prword (flag)] &= ~__prmask (flag))
-
-#define prismember(set, flag) \
-       ((((uint32_t *)(set))[__prword (flag)] & __prmask (flag)) ? 1 : 0)
-
-/* Data models.  */
-#define PR_MODEL_UNKNOWN       0
-#define PR_MODEL_ILP32 1
-#define PR_MODEL_LP64   2
-#if defined(_LP64)
-# define PR_MODEL_NATIVE       PR_MODEL_LP64
-#elif defined(_ILP32)
-# define PR_MODEL_NATIVE       PR_MODEL_ILP32
-#else
-# error Unknown data model
-#endif
-
-typedef unsigned char instr_t;
-
-#endif /* _STRUCTURED_PROC == 0 */
-
-#endif /* _SYS_PROCFS_H */
index 393d750..3fd95b1 100644 (file)
@@ -21,6 +21,7 @@
 #define _SYS_PROCSET_H
 
 #include <sys/types.h>
+#include <features.h>
 
 #if defined __USE_MISC || defined __USE_XOPEN
 typedef enum
@@ -48,6 +49,7 @@ typedef enum
 #define        P_INITUID       0
 #define        P_INITPGID      0
 
+#ifdef __USE_MISC
 typedef enum idop
 {
        POP_DIFF,
@@ -55,6 +57,7 @@ typedef enum idop
        POP_OR,
        POP_XOR
 } idop_t;
+#endif
 
 typedef struct procset
 {
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/pset.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/pset.h
deleted file mode 100644 (file)
index 35e11e3..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Declarations of processor sets.
-   Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_PSET_H
-#define _SYS_PSET_H
-
-#include <sys/processor.h>
-#include <features.h>
-
-typedef int psetid_t;
-
-/* Syscall sub-call numbers.  */
-#define PSET_CREATE            0
-#define PSET_DESTROY           1
-#define PSET_ASSIGN            2
-#define PSET_INFO              3
-#define PSET_BIND              4
-#define PSET_GETLOADAVG                5
-#define PSET_LIST              6
-#define PSET_SETATTR           7
-#define PSET_GETATTR           8
-#define PSET_ASSIGN_FORCED     9
-
-#define PS_NONE                -1
-#define PS_QUERY       -2
-#define PS_MYID                -3
-#define PS_SOFT                -4
-#define PS_HARD                -5
-#define PS_QUERY_TYPE  -6
-
-/* types of processor sets */
-#define PS_SYSTEM      1
-#define PS_PRIVATE     2
-
-__BEGIN_DECLS
-
-extern int  pset_create (psetid_t *newpset);
-
-extern int  pset_destroy (psetid_t pset);
-
-extern int  pset_assign (psetid_t pset, processorid_t cpu, psetid_t *opset);
-
-extern int  pset_info (psetid_t pset, int *type, unsigned int *numcpus,
-    processorid_t *cpulist);
-
-extern int  pset_bind (psetid_t pset, idtype_t idtype, id_t id,
-    psetid_t *opset);
-
-extern int  pset_getloadavg (psetid_t pset, double loadavg[], int nelem);
-
-extern int  pset_list (psetid_t *psetlist, unsigned int *numpsets);
-
-extern int  pset_setattr (psetid_t pset, unsigned int attr);
-
-extern int  pset_getattr (psetid_t pset, unsigned int *attr);
-
-__END_DECLS
-
-#endif /* _SYS_PSET_H */
index 2f9539c..2ecd7ef 100644 (file)
@@ -1,2 +1,119 @@
-/* This file is intended to be a stub, to be replaced by the official
-   OpenSolaris version.  */
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _SYS_SYSMACROS_H
+#define _SYS_SYSMACROS_H
+
+#include <sys/feature_tests.h>
+
+#ifdef __USE_MISC
+
+# define dtob(DD)      ((DD) << DEV_BSHIFT)
+# define btod(BB)      (((BB) + DEV_BSIZE - 1) >> DEV_BSHIFT)
+# define btodt(BB)     ((BB) >> DEV_BSHIFT)
+# define lbtod(BB)     (((offset_t)(BB) + DEV_BSIZE - 1) >> DEV_BSHIFT)
+
+# define O_BITSMAJOR   7
+# define O_BITSMINOR   8
+# define O_MAXMAJ      0x7f
+# define O_MAXMIN      0xff
+# define L_BITSMAJOR32 14
+# define L_BITSMINOR32 18
+# define L_MAXMAJ32    0x3fff
+# define L_MAXMIN32    0x3ffff
+
+# ifdef _LP64
+#  define L_BITSMAJOR  32
+#  define L_BITSMINOR  32
+#  define L_MAXMAJ     0xfffffffful
+#  define L_MAXMIN     0xfffffffful
+# else
+#  define L_BITSMAJOR  L_BITSMAJOR32
+#  define L_BITSMINOR  L_BITSMINOR32
+#  define L_MAXMAJ     L_MAXMAJ32
+#  define L_MAXMIN     L_MAXMIN32
+#  endif
+
+# define major(x)      (major_t)((((unsigned)(x)) >> O_BITSMINOR) & O_MAXMAJ)
+# define minor(x)      (minor_t)((x) & O_MAXMIN)
+
+# define makedev(x, y)         (unsigned short)(((x) << O_BITSMINOR) | \
+       ((y) & O_MAXMIN))
+# define makedevice(x, y)      (dev_t)(((dev_t)(x) << L_BITSMINOR) | \
+       ((y) & L_MAXMIN))
+
+# define emajor(x)     (major_t)(((unsigned int)(x) >> O_BITSMINOR) > \
+       O_MAXMAJ) ? NODEV : (((unsigned int)(x) >> O_BITSMINOR) & O_MAXMAJ)
+# define eminor(x)     (minor_t)((x) & O_MAXMIN)
+
+# define getemajor(x)  (major_t)((((dev_t)(x) >> L_BITSMINOR) > L_MAXMAJ) ? \
+                           NODEV : (((dev_t)(x) >> L_BITSMINOR) & L_MAXMAJ))
+# define geteminor(x)  (minor_t)((x) & L_MAXMIN)
+
+# define cmpdev(x)     (o_dev_t)((((x) >> L_BITSMINOR) > O_MAXMAJ || \
+       ((x) & L_MAXMIN) > O_MAXMIN) ? NODEV : \
+       ((((x) >> L_BITSMINOR) << O_BITSMINOR) | ((x) & O_MAXMIN)))
+# define expdev(x)     (dev_t)(((dev_t)(((x) >> O_BITSMINOR) & O_MAXMAJ) << \
+       L_BITSMINOR) | ((x) & O_MAXMIN))
+
+
+# define howmany(x, y) (((x)+((y)-1))/(y))
+# define roundup(x, y) ((((x)+((y)-1))/(y))*(y))
+
+#endif /* __USE_MISC */
+
+#ifdef _SUN_SOURCE
+
+# ifndef MIN
+#  define MIN(a, b)    ((a) < (b) ? (a) : (b))
+# endif
+# ifndef MAX
+#  define MAX(a, b)    ((a) < (b) ? (b) : (a))
+# endif
+# ifndef ABS
+#  define ABS(a)       ((a) < 0 ? -(a) : (a))
+# endif
+
+# define IS_P2ALIGNED(v, a)    ((((uintptr_t)(v)) & ((uintptr_t)(a) - 1)) == 0)
+# define ISP2(x)                       (((x) & ((x) - 1)) == 0)
+
+# define P2ALIGN(x, align)             ((x) & -(align))
+# define P2PHASE(x, align)             ((x) & ((align) - 1))
+# define P2NPHASE(x, align)            (-(x) & ((align) - 1))
+# define P2ROUNDUP(x, align)           (-(-(x) & -(align)))
+# define P2END(x, align)                       (-(~(x) & -(align)))
+# define P2PHASEUP(x, align, phase)    ((phase) - (((phase) - (x)) & -(align)))
+# define P2CROSS(x, y, align)          (((x) ^ (y)) > (align) - 1)
+# define P2SAMEHIGHBIT(x, y)           (((x) ^ (y)) < ((x) & (y)))
+
+# define P2ALIGN_TYPED(x, align, type) ((type)(x) & -(type)(align))
+# define P2PHASE_TYPED(x, align, type) ((type)(x) & ((type)(align) - 1))
+# define P2NPHASE_TYPED(x, align, type)        (-(type)(x) & ((type)(align) - 1))
+# define P2ROUNDUP_TYPED(x, align, type)       (-(-(type)(x) & -(type)(align)))
+# define P2END_TYPED(x, align, type)   (-(~(type)(x) & -(type)(align)))
+# define P2PHASEUP_TYPED(x, align, phase, type)        ((type)(phase) - \
+       (((type)(phase) - (type)(x)) & -(type)(align)))
+# define P2CROSS_TYPED(x, y, align, type)      (((type)(x) ^ (type)(y)) > \
+       (type)(align) - 1)
+# define P2SAMEHIGHBIT_TYPED(x, y, type)       (((type)(x) ^ (type)(y)) < \
+       ((type)(x) & (type)(y)))
+
+#endif /* _SUN_SOURCE */
+
+#endif /* _SYS_SYSMACROS_H */