1 /*
   2  * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
   3  *
   4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5  *
   6  * This code is free software; you can redistribute it and/or modify it
   7  * under the terms of the GNU General Public License version 2 only, as
   8  * published by the Free Software Foundation.  Oracle designates this
   9  * particular file as subject to the "Classpath" exception as provided
  10  * by Oracle in the LICENSE file that accompanied this code.
  11  *
  12  * This code is distributed in the hope that it will be useful, but WITHOUT
  13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  14  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  15  * version 2 for more details (a copy is included in the LICENSE file that
  16  * accompanied this code).
  17  *
  18  * You should have received a copy of the GNU General Public License version
  19  * 2 along with this work; if not, write to the Free Software Foundation,
  20  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  21  *
  22  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  23  * or visit www.oracle.com if you need additional information or have any
  24  * questions.
  25  */
  26 
  27 @@END_COPYRIGHT@@
  28 
  29 #include <stdio.h>
  30 #include <errno.h>
  31 #include <unistd.h>
  32 #include <sys/acl.h>
  33 #include <fcntl.h>
  34 #include <sys/stat.h>
  35 
  36 /* On Solaris, "sun" is defined as a macro. Undefine to make package
  37    declaration valid */
  38 #undef sun
  39 
  40 /* To be able to name the Java constants the same as the C constants without
  41    having the preprocessor rewrite those identifiers, add PREFIX_ to all
  42    identifiers matching a C constant. The PREFIX_ is filtered out in the
  43    makefile. */
  44 
  45 @@START_HERE@@
  46 
  47 package sun.nio.fs;
  48 class SolarisConstants {
  49 
  50     private SolarisConstants() { }
  51 
  52     static final int PREFIX_O_XATTR = O_XATTR;
  53     static final int PREFIX__PC_XATTR_ENABLED = _PC_XATTR_ENABLED;
  54     static final int PREFIX__PC_ACL_ENABLED = _PC_ACL_ENABLED;
  55     static final int PREFIX__ACL_ACE_ENABLED = _ACL_ACE_ENABLED;
  56     static final int PREFIX_ACE_GETACL = ACE_GETACL;
  57     static final int PREFIX_ACE_SETACL = ACE_SETACL;
  58     static final int PREFIX_ACE_ACCESS_ALLOWED_ACE_TYPE = ACE_ACCESS_ALLOWED_ACE_TYPE;
  59     static final int PREFIX_ACE_ACCESS_DENIED_ACE_TYPE = ACE_ACCESS_DENIED_ACE_TYPE;
  60     static final int PREFIX_ACE_SYSTEM_AUDIT_ACE_TYPE = ACE_SYSTEM_AUDIT_ACE_TYPE;
  61     static final int PREFIX_ACE_SYSTEM_ALARM_ACE_TYPE = ACE_SYSTEM_ALARM_ACE_TYPE;
  62     static final int PREFIX_ACE_READ_DATA = ACE_READ_DATA;
  63     static final int PREFIX_ACE_LIST_DIRECTORY = ACE_LIST_DIRECTORY;
  64     static final int PREFIX_ACE_WRITE_DATA = ACE_WRITE_DATA;
  65     static final int PREFIX_ACE_ADD_FILE = ACE_ADD_FILE;
  66     static final int PREFIX_ACE_APPEND_DATA = ACE_APPEND_DATA;
  67     static final int PREFIX_ACE_ADD_SUBDIRECTORY = ACE_ADD_SUBDIRECTORY;
  68     static final int PREFIX_ACE_READ_NAMED_ATTRS = ACE_READ_NAMED_ATTRS;
  69     static final int PREFIX_ACE_WRITE_NAMED_ATTRS = ACE_WRITE_NAMED_ATTRS;
  70     static final int PREFIX_ACE_EXECUTE = ACE_EXECUTE;
  71     static final int PREFIX_ACE_DELETE_CHILD = ACE_DELETE_CHILD;
  72     static final int PREFIX_ACE_READ_ATTRIBUTES = ACE_READ_ATTRIBUTES;
  73     static final int PREFIX_ACE_WRITE_ATTRIBUTES = ACE_WRITE_ATTRIBUTES;
  74     static final int PREFIX_ACE_DELETE = ACE_DELETE;
  75     static final int PREFIX_ACE_READ_ACL = ACE_READ_ACL;
  76     static final int PREFIX_ACE_WRITE_ACL = ACE_WRITE_ACL;
  77     static final int PREFIX_ACE_WRITE_OWNER = ACE_WRITE_OWNER;
  78     static final int PREFIX_ACE_SYNCHRONIZE = ACE_SYNCHRONIZE;
  79     static final int PREFIX_ACE_FILE_INHERIT_ACE = ACE_FILE_INHERIT_ACE;
  80     static final int PREFIX_ACE_DIRECTORY_INHERIT_ACE = ACE_DIRECTORY_INHERIT_ACE;
  81     static final int PREFIX_ACE_NO_PROPAGATE_INHERIT_ACE = ACE_NO_PROPAGATE_INHERIT_ACE;
  82     static final int PREFIX_ACE_INHERIT_ONLY_ACE = ACE_INHERIT_ONLY_ACE;
  83     static final int PREFIX_ACE_SUCCESSFUL_ACCESS_ACE_FLAG = ACE_SUCCESSFUL_ACCESS_ACE_FLAG;
  84     static final int PREFIX_ACE_FAILED_ACCESS_ACE_FLAG = ACE_FAILED_ACCESS_ACE_FLAG;
  85     static final int PREFIX_ACE_IDENTIFIER_GROUP = ACE_IDENTIFIER_GROUP;
  86     static final int PREFIX_ACE_OWNER = ACE_OWNER;
  87     static final int PREFIX_ACE_GROUP = ACE_GROUP;
  88     static final int PREFIX_ACE_EVERYONE = ACE_EVERYONE;
  89 }