content: 
  /*
   * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
   *
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.  Oracle designates this
   * particular file as subject to the "Classpath" exception as provided
   * by Oracle in the LICENSE file that accompanied this code.
   *
   * This code 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 General Public License
   * version 2 for more details (a copy is included 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 work; if not, write to the Free Software Foundation,
   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   *
   * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   * or visit www.oracle.com if you need additional information or have any
   * questions.
   *
   */
  // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
  package com.termux.shared.file.filesystem;
  
  // BEGIN Android-changed: Use constants from android.system.OsConstants. http://b/32203242
  // Those constants are initialized by native code to ensure correctness on different architectures.
  // AT_SYMLINK_NOFOLLOW (used by fstatat) and AT_REMOVEDIR (used by unlinkat) as of July 2018 do not
  // have equivalents in android.system.OsConstants so left unchanged.
  import android.os.Build;
  import android.system.OsConstants;
  
  import androidx.annotation.RequiresApi;
  
  /**
   * https://cs.android.com/android/platform/superproject/+/android-11.0.0_r3:libcore/ojluni/src/main/java/sun/nio/fs/UnixConstants.java
   */
  public class UnixConstants {
      private UnixConstants() { }
  
      static final int O_RDONLY = OsConstants.O_RDONLY;
  
      static final int O_WRONLY = OsConstants.O_WRONLY;
  
      static final int O_RDWR = OsConstants.O_RDWR;
  
      static final int O_APPEND = OsConstants.O_APPEND;
  
      static final int O_CREAT = OsConstants.O_CREAT;
  
      static final int O_EXCL = OsConstants.O_EXCL;
  
      static final int O_TRUNC = OsConstants.O_TRUNC;
  
      static final int O_SYNC = OsConstants.O_SYNC;
  
      // Crash on Android 5.
      // No static field O_DSYNC of type I in class Landroid/system/OsConstants; or its superclasses
      // (declaration of 'android.system.OsConstants' appears in /system/framework/core-libart.jar)
      //@RequiresApi(Build.VERSION_CODES.O_MR1)
      //static final int O_DSYNC = OsConstants.O_DSYNC;
  
      static final int O_NOFOLLOW = OsConstants.O_NOFOLLOW;
  
      static final int S_IAMB = get_S_IAMB();
  
      static final int S_IRUSR = OsConstants.S_IRUSR;
  
      static final int S_IWUSR = OsConstants.S_IWUSR;
  
      static final int S_IXUSR = OsConstants.S_IXUSR;
  
      static final int S_IRGRP = OsConstants.S_IRGRP;
  
      static final int S_IWGRP = OsConstants.S_IWGRP;
  
      static final int S_IXGRP = OsConstants.S_IXGRP;
  
      static final int S_IROTH = OsConstants.S_IROTH;
  
      static final int S_IWOTH = OsConstants.S_IWOTH;
  
      static final int S_IXOTH = OsConstants.S_IXOTH;
  
      static final int S_IFMT = OsConstants.S_IFMT;
  
      static final int S_IFREG = OsConstants.S_IFREG;
  
      static final int S_IFDIR = OsConstants.S_IFDIR;
  
      static final int S_IFLNK = OsConstants.S_IFLNK;
  
      static final int S_IFSOCK = OsConstants.S_IFSOCK;
  
      static final int S_IFCHR = OsConstants.S_IFCHR;
  
      static final int S_IFBLK = OsConstants.S_IFBLK;
  
      static final int S_IFIFO = OsConstants.S_IFIFO;
  
      static final int R_OK = OsConstants.R_OK;
  
      static final int W_OK = OsConstants.W_OK;
  
      static final int X_OK = OsConstants.X_OK;
  
      static final int F_OK = OsConstants.F_OK;
  
      static final int ENOENT = OsConstants.ENOENT;
  
      static final int EACCES = OsConstants.EACCES;
  
      static final int EEXIST = OsConstants.EEXIST;
  
      static final int ENOTDIR = OsConstants.ENOTDIR;
  
      static final int EINVAL = OsConstants.EINVAL;
  
      static final int EXDEV = OsConstants.EXDEV;
  
      static final int EISDIR = OsConstants.EISDIR;
  
      static final int ENOTEMPTY = OsConstants.ENOTEMPTY;
  
      static final int ENOSPC = OsConstants.ENOSPC;
  
      static final int EAGAIN = OsConstants.EAGAIN;
  
      static final int ENOSYS = OsConstants.ENOSYS;
  
      static final int ELOOP = OsConstants.ELOOP;
  
      static final int EROFS = OsConstants.EROFS;
  
      static final int ENODATA = OsConstants.ENODATA;
  
      static final int ERANGE = OsConstants.ERANGE;
  
      static final int EMFILE = OsConstants.EMFILE;
  
      // S_IAMB are access mode bits, therefore, calculated by taking OR of all the read, write and
      // execute permissions bits for owner, group and other.
      private static int get_S_IAMB() {
          return (OsConstants.S_IRUSR | OsConstants.S_IWUSR | OsConstants.S_IXUSR |
              OsConstants.S_IRGRP | OsConstants.S_IWGRP | OsConstants.S_IXGRP |
              OsConstants.S_IROTH | OsConstants.S_IWOTH | OsConstants.S_IXOTH);
      }
      // END Android-changed: Use constants from android.system.OsConstants. http://b/32203242
  
  
      static final int AT_SYMLINK_NOFOLLOW = 0x100;
      static final int AT_REMOVEDIR = 0x200;
  }
  