Add sys/rctl_impl.h
authorDavid Bartley <dtbartle@glibc.(none)>
Fri, 6 Feb 2009 23:28:03 +0000 (23:28 +0000)
committerDavid Bartley <dtbartle@glibc.(none)>
Fri, 6 Feb 2009 23:28:03 +0000 (23:28 +0000)
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/Makefile
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/rctl.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/rctlP.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/rctl_impl.h [new file with mode: 0644]

index 989d4c7..c212bb5 100644 (file)
@@ -52,10 +52,10 @@ sysdep_headers += sys/feature_tests.h sys/dirent.h sys/utime.h sys/machelf.h \
     sys/fault.h sys/door.h sys/mount.h sys/procfs.h sys/old_procfs.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 sys/mkdev.h \
-    sys/klog.h sys/zone.h sys/processor.h sys/pset.h sys/rctl.h sys/task.h \
-    sys/exacct.h sys/acct.h sys/acctctl.h sys/utssys.h sys/corectl.h \
-    sys/port.h sys/port_impl.h sys/acl.h sys/tsol/label.h sys/loadavg.h \
-    sys/fsid.h sys/fstyp.h
+    sys/klog.h sys/zone.h sys/processor.h sys/pset.h sys/task.h sys/exacct.h \
+    sys/acct.h sys/acctctl.h sys/utssys.h sys/corectl.h sys/loadavg.h \
+    sys/port.h sys/port_impl.h sys/acl.h sys/tsol/label.h sys/fsid.h \
+    sys/fstyp.h sys/rctl.h sys/rctl_impl.h
 sysdep_headers += rtld_db.h pcsample.h atomic.h bits/machtypes.h door.h \
     ucred.h priv.h zone.h port.h deflt.h procfs.h rctl.h
 headers := $(filter-out sys/sysinfo.h sys/xattr.h, $(headers))
index d09f87b..3b81a0a 100644 (file)
@@ -18,7 +18,8 @@
    02111-1307 USA.  */
 
 #include <inline-syscall.h>
-#include <rctlP.h>
+#include <rctl.h>
+#include <sys/rctl_impl.h>
 
 /* Docs: http://docs.sun.com/app/docs/doc/816-5167/getrctl-2?a=view
          http://docs.sun.com/app/docs/doc/816-5168/rctlblk-size-3c?a=view  */
@@ -70,7 +71,7 @@ hrtime_t rctlblk_get_firing_time (rctlblk_t *rblk)
 }
 
 
-int rctlblk_get_global_action (rctlblk_t *rblk)
+unsigned int rctlblk_get_global_action (rctlblk_t *rblk)
 {
   /* Note: rcq_global_flagaction contains both flags and action.  */
   return ((rctl_opaque_t *)rblk)->rcq_global_flagaction &
@@ -78,7 +79,7 @@ int rctlblk_get_global_action (rctlblk_t *rblk)
 }
 
 
-int rctlblk_get_global_flags (rctlblk_t *rblk)
+unsigned int rctlblk_get_global_flags (rctlblk_t *rblk)
 {
   /* Note: rcq_global_flagaction contains both flags and action.  */
   return ((rctl_opaque_t *)rblk)->rcq_global_flagaction &
@@ -86,7 +87,7 @@ int rctlblk_get_global_flags (rctlblk_t *rblk)
 }
 
 
-int rctlblk_get_local_action (rctlblk_t *rblk, int *signalp)
+unsigned int rctlblk_get_local_action (rctlblk_t *rblk, int *signalp)
 {
   /* Note: rcq_local_flagaction contains both flags and action.  */
   return ((rctl_opaque_t *)rblk)->rcq_local_flagaction &
@@ -94,7 +95,7 @@ int rctlblk_get_local_action (rctlblk_t *rblk, int *signalp)
 }
 
 
-int rctlblk_get_local_flags (rctlblk_t *rblk)
+unsigned int rctlblk_get_local_flags (rctlblk_t *rblk)
 {
   /* Note: rcq_local_flagaction contains both flags and action.  */
   return ((rctl_opaque_t *)rblk)->rcq_local_flagaction &
@@ -137,7 +138,7 @@ void rctlblk_set_local_action (rctlblk_t *rblk, unsigned int action,
 }
 
 
-void rctlblk_set_local_flags (rctlblk_t *rblk, int flags)
+void rctlblk_set_local_flags (rctlblk_t *rblk, unsigned int flags)
 {
   /* Note: rcq_local_flagaction contains both flags and action.  */
   rctl_opaque_t *_rblk = (rctl_opaque_t *)rblk;
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/rctlP.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/rctlP.h
deleted file mode 100644 (file)
index 8caa812..0000000
+++ /dev/null
@@ -1,38 +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 _RCTLP_H
-#define _RCTLP_H
-
-#include <sys/rctl.h>
-
-typedef struct rctl_opaque
-  {
-       rctl_qty_t rcq_value;
-       rctl_qty_t rcq_enforced_value;
-       rctl_priv_t rcq_privilege;
-       int rcq_global_flagaction;
-       int rcq_global_syslog_level;
-       int rcq_local_flagaction;
-       int rcq_local_signal;
-       id_t rcq_local_recipient_pid;
-       hrtime_t rcq_firing_time;
-  } rctl_opaque_t;
-
-#endif /* _RCTLP_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/rctl_impl.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/rctl_impl.h
new file mode 100644 (file)
index 0000000..3dfc594
--- /dev/null
@@ -0,0 +1,52 @@
+/* Copyright (C) 2009 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_RCTL_IMPL_H
+#define _SYS_RCTL_IMPL_H
+
+#include <sys/rctl.h>
+#include <sys/types.h>
+#include <features.h>
+
+#define RCTLCTL_GET    0
+#define RCTLCTL_SET    1
+
+typedef struct rctl_opaque
+  {
+       rctl_qty_t rcq_value;
+       rctl_qty_t rcq_enforced_value;
+       rctl_priv_t rcq_privilege;
+       int rcq_global_flagaction;
+       int rcq_global_syslog_level;
+       int rcq_local_flagaction;
+       int rcq_local_signal;
+       id_t rcq_local_recipient_pid;
+       hrtime_t rcq_firing_time;
+  } rctl_opaque_t;
+
+#define RCTLBLK_INC(b, n) (rctlblk_t *)(((char *)b) + (n * rctlblk_size ()))
+
+__BEGIN_DECLS
+
+extern int rctlctl (const char *, rctlblk_t *, int);
+extern size_t rctllist (char *, size_t);
+extern int setprojrctl (const char *, rctlblk_t *, size_t, int);
+
+__END_DECLS
+
+#endif /* _SYS_RCTL_IMPL_H */