Whamcloud - gitweb
LU-2456 lnet: DLC Feature dynamic net config
[fs/lustre-release.git] / libcfs / libcfs / darwin / darwin-curproc.c
index 7c70abb..b0ac7ad 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -16,8 +14,8 @@
  * in the LICENSE file that accompanied this code).
  *
  * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see [sun.com URL with a
- * copy of GPLv2].
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
  *
  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  * CA 95054 USA or visit www.sun.com if you need additional information or
@@ -26,7 +24,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
@@ -58,18 +56,18 @@ static inline struct ucred *curproc_ucred(void)
 #endif
 }
 
-uid_t  cfs_curproc_uid(void)
+uid_t  current_uid(void)
 {
         return curproc_ucred()->cr_uid;
 }
 
-gid_t  cfs_curproc_gid(void)
+gid_t  current_gid(void)
 {
         LASSERT(curproc_ucred()->cr_ngroups > 0);
         return curproc_ucred()->cr_groups[0];
 }
 
-uid_t  cfs_curproc_fsuid(void)
+uid_t  current_fsuid(void)
 {
 #ifdef __DARWIN8__
         return curproc_ucred()->cr_ruid;
@@ -78,7 +76,7 @@ uid_t  cfs_curproc_fsuid(void)
 #endif
 }
 
-gid_t  cfs_curproc_fsgid(void)
+gid_t  current_fsgid(void)
 {
 #ifdef __DARWIN8__
         return curproc_ucred()->cr_rgid;
@@ -87,7 +85,7 @@ gid_t  cfs_curproc_fsgid(void)
 #endif
 }
 
-pid_t  cfs_curproc_pid(void)
+pid_t  current_pid(void)
 {
 #ifdef __DARWIN8__
         /* no pid for each thread, return address of thread struct */
@@ -97,13 +95,7 @@ pid_t  cfs_curproc_pid(void)
 #endif
 }
 
-int    cfs_curproc_groups_nr(void)
-{
-        LASSERT(curproc_ucred()->cr_ngroups > 0);
-        return curproc_ucred()->cr_ngroups - 1;
-}
-
-int    cfs_curproc_is_in_groups(gid_t gid)
+int    in_group_p(gid_t gid)
 {
         int i;
         struct ucred *cr;
@@ -118,19 +110,7 @@ int    cfs_curproc_is_in_groups(gid_t gid)
         return 0;
 }
 
-void   cfs_curproc_groups_dump(gid_t *array, int size)
-{
-        struct ucred *cr;
-
-        cr = curproc_ucred();
-        LASSERT(cr != NULL);
-        CLASSERT(sizeof array[0] == sizeof (__u32));
-
-        size = min_t(int, size, cr->cr_ngroups);
-        memcpy(array, &cr->cr_groups[1], size * sizeof(gid_t));
-}
-
-mode_t cfs_curproc_umask(void)
+mode_t current_umask(void)
 {
 #ifdef __DARWIN8__
         /*
@@ -145,7 +125,7 @@ mode_t cfs_curproc_umask(void)
 #endif
 }
 
-char  *cfs_curproc_comm(void)
+char  *current_comm(void)
 {
 #ifdef __DARWIN8__
         /*
@@ -163,16 +143,28 @@ char  *cfs_curproc_comm(void)
 #endif
 }
 
-cfs_kernel_cap_t cfs_curproc_cap_get(void)
+struct user_namespace init_user_ns __read_mostly;
+EXPORT_SYMBOL(init_user_ns);
+
+void cfs_cap_raise(cfs_cap_t cap) {}
+void cfs_cap_lower(cfs_cap_t cap) {}
+
+int cfs_cap_raised(cfs_cap_t cap)
 {
+        return 1;
+}
+
+cfs_cap_t cfs_curproc_cap_pack(void) {
         return -1;
 }
 
-void cfs_curproc_cap_set(cfs_kernel_cap_t cap)
-{
-        return;
+void cfs_curproc_cap_unpack(cfs_cap_t cap) {
 }
 
+int cfs_capable(cfs_cap_t cap)
+{
+        return cap == CFS_CAP_SYS_BOOT ? is_suser(): is_suser1();
+}
 
 /*
  * Local variables: