/** * This file is part of Erjang - A JVM-based Erlang VM * * Copyright (c) 2009 by Trifork * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. **/ package erjang.driver.efile; import java.io.File; import erjang.EObject; /** * */ public class Posix { public static final int EINVAL = 0; public static final int ENOMEM = 1; public static final int EEXIST = 2; public static final int ENOENT = 3; public static final int EPERM = 4; public static final int EISCONN = 5; public static final int EUNKNOWN = 6; public static final int ENETUNREACH = 7; public static final int EADDRNOTAVAIL = 8; public static final int EIO = 9; public static final int EOPNOTSUPP = 10; public static final int ECONNREFUSED = 11; public static final int EMSGSIZE = 12; public static final int ENOTCONN = 13; public static final int EINTR = 14; public static final int EAGAIN = 15; public static final int EALREADY = 16; public static final int ENOTDIR = 17; public static final int EBADF = 18; private static final String[] err_id = { "einval", "enomem", "eexist", "enoent", "eperm", "eisconn", "eunknown", "enetunreach", "eaddrnotavail", "eio", "eopnotsupp", "econnrefused", "emsgsize", "enotconn", "eintr", "eagain", "ealready", "enotdir", "ebadf", }; /** * @param posixErrno * @return */ public static String errno_id(int posixErrno) { if (posixErrno >= err_id.length || posixErrno < 0) return "unknown_posix_error"; else return err_id[posixErrno]; } /** * @param file * @return */ static File CWD = new File("."); public static boolean isCWD(String name, File file) { if (name.equals(".")) return true; if (file.isAbsolute()) { if (file.equals(getCWD())) return true; } else { if (file.getAbsoluteFile().equals(getCWD())) return true; } return false; } public static File getCWD() { return new File(System.getProperty("user.dir")).getAbsoluteFile(); } }