/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.tomcat.jni; /** Status * * @author Mladen Turk */ public class Status { /** * APR_OS_START_ERROR is where the APR specific error values start. */ public static final int APR_OS_START_ERROR = 20000; /** * APR_OS_ERRSPACE_SIZE is the maximum number of errors you can fit * into one of the error/status ranges below -- except for * APR_OS_START_USERERR, which see. */ public static final int APR_OS_ERRSPACE_SIZE = 50000; /** * APR_OS_START_STATUS is where the APR specific status codes start. */ public static final int APR_OS_START_STATUS = (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE); /** * APR_OS_START_USERERR are reserved for applications that use APR that * layer their own error codes along with APR's. Note that the * error immediately following this one is set ten times farther * away than usual, so that users of apr have a lot of room in * which to declare custom error codes. */ public static final int APR_OS_START_USERERR = (APR_OS_START_STATUS + APR_OS_ERRSPACE_SIZE); /** * APR_OS_START_USEERR is obsolete, defined for compatibility only. * Use APR_OS_START_USERERR instead. */ public static final int APR_OS_START_USEERR = APR_OS_START_USERERR; /** * APR_OS_START_CANONERR is where APR versions of errno values are defined * on systems which don't have the corresponding errno. */ public static final int APR_OS_START_CANONERR = (APR_OS_START_USERERR + (APR_OS_ERRSPACE_SIZE * 10)); /** * APR_OS_START_EAIERR folds EAI_ error codes from getaddrinfo() into * apr_status_t values. */ public static final int APR_OS_START_EAIERR = (APR_OS_START_CANONERR + APR_OS_ERRSPACE_SIZE); /** * APR_OS_START_SYSERR folds platform-specific system error values into * apr_status_t values. */ public static final int APR_OS_START_SYSERR = (APR_OS_START_EAIERR + APR_OS_ERRSPACE_SIZE); /** no error. */ public static final int APR_SUCCESS = 0; /** * APR Error Values * <PRE> * <b>APR ERROR VALUES</b> * APR_ENOSTAT APR was unable to perform a stat on the file * APR_ENOPOOL APR was not provided a pool with which to allocate memory * APR_EBADDATE APR was given an invalid date * APR_EINVALSOCK APR was given an invalid socket * APR_ENOPROC APR was not given a process structure * APR_ENOTIME APR was not given a time structure * APR_ENODIR APR was not given a directory structure * APR_ENOLOCK APR was not given a lock structure * APR_ENOPOLL APR was not given a poll structure * APR_ENOSOCKET APR was not given a socket * APR_ENOTHREAD APR was not given a thread structure * APR_ENOTHDKEY APR was not given a thread key structure * APR_ENOSHMAVAIL There is no more shared memory available * APR_EDSOOPEN APR was unable to open the dso object. For more * information call apr_dso_error(). * APR_EGENERAL General failure (specific information not available) * APR_EBADIP The specified IP address is invalid * APR_EBADMASK The specified netmask is invalid * APR_ESYMNOTFOUND Could not find the requested symbol * </PRE> * */ public static final int APR_ENOSTAT = (APR_OS_START_ERROR + 1); public static final int APR_ENOPOOL = (APR_OS_START_ERROR + 2); public static final int APR_EBADDATE = (APR_OS_START_ERROR + 4); public static final int APR_EINVALSOCK = (APR_OS_START_ERROR + 5); public static final int APR_ENOPROC = (APR_OS_START_ERROR + 6); public static final int APR_ENOTIME = (APR_OS_START_ERROR + 7); public static final int APR_ENODIR = (APR_OS_START_ERROR + 8); public static final int APR_ENOLOCK = (APR_OS_START_ERROR + 9); public static final int APR_ENOPOLL = (APR_OS_START_ERROR + 10); public static final int APR_ENOSOCKET = (APR_OS_START_ERROR + 11); public static final int APR_ENOTHREAD = (APR_OS_START_ERROR + 12); public static final int APR_ENOTHDKEY = (APR_OS_START_ERROR + 13); public static final int APR_EGENERAL = (APR_OS_START_ERROR + 14); public static final int APR_ENOSHMAVAIL = (APR_OS_START_ERROR + 15); public static final int APR_EBADIP = (APR_OS_START_ERROR + 16); public static final int APR_EBADMASK = (APR_OS_START_ERROR + 17); public static final int APR_EDSOOPEN = (APR_OS_START_ERROR + 19); public static final int APR_EABSOLUTE = (APR_OS_START_ERROR + 20); public static final int APR_ERELATIVE = (APR_OS_START_ERROR + 21); public static final int APR_EINCOMPLETE = (APR_OS_START_ERROR + 22); public static final int APR_EABOVEROOT = (APR_OS_START_ERROR + 23); public static final int APR_EBADPATH = (APR_OS_START_ERROR + 24); public static final int APR_EPATHWILD = (APR_OS_START_ERROR + 25); public static final int APR_ESYMNOTFOUND = (APR_OS_START_ERROR + 26); public static final int APR_EPROC_UNKNOWN = (APR_OS_START_ERROR + 27); public static final int APR_ENOTENOUGHENTROPY = (APR_OS_START_ERROR + 28); /** APR Status Values * <PRE> * <b>APR STATUS VALUES</b> * APR_INCHILD Program is currently executing in the child * APR_INPARENT Program is currently executing in the parent * APR_DETACH The thread is detached * APR_NOTDETACH The thread is not detached * APR_CHILD_DONE The child has finished executing * APR_CHILD_NOTDONE The child has not finished executing * APR_TIMEUP The operation did not finish before the timeout * APR_INCOMPLETE The operation was incomplete although some processing * was performed and the results are partially valid * APR_BADCH Getopt found an option not in the option string * APR_BADARG Getopt found an option that is missing an argument * and an argument was specified in the option string * APR_EOF APR has encountered the end of the file * APR_NOTFOUND APR was unable to find the socket in the poll structure * APR_ANONYMOUS APR is using anonymous shared memory * APR_FILEBASED APR is using a file name as the key to the shared memory * APR_KEYBASED APR is using a shared key as the key to the shared memory * APR_EINIT Initializer value. If no option has been found, but * the status variable requires a value, this should be used * APR_ENOTIMPL The APR function has not been implemented on this * platform, either because nobody has gotten to it yet, * or the function is impossible on this platform. * APR_EMISMATCH Two passwords do not match. * APR_EBUSY The given lock was busy. * </PRE> * */ public static final int APR_INCHILD = (APR_OS_START_STATUS + 1); public static final int APR_INPARENT = (APR_OS_START_STATUS + 2); public static final int APR_DETACH = (APR_OS_START_STATUS + 3); public static final int APR_NOTDETACH = (APR_OS_START_STATUS + 4); public static final int APR_CHILD_DONE = (APR_OS_START_STATUS + 5); public static final int APR_CHILD_NOTDONE = (APR_OS_START_STATUS + 6); public static final int APR_TIMEUP = (APR_OS_START_STATUS + 7); public static final int APR_INCOMPLETE = (APR_OS_START_STATUS + 8); public static final int APR_BADCH = (APR_OS_START_STATUS + 12); public static final int APR_BADARG = (APR_OS_START_STATUS + 13); public static final int APR_EOF = (APR_OS_START_STATUS + 14); public static final int APR_NOTFOUND = (APR_OS_START_STATUS + 15); public static final int APR_ANONYMOUS = (APR_OS_START_STATUS + 19); public static final int APR_FILEBASED = (APR_OS_START_STATUS + 20); public static final int APR_KEYBASED = (APR_OS_START_STATUS + 21); public static final int APR_EINIT = (APR_OS_START_STATUS + 22); public static final int APR_ENOTIMPL = (APR_OS_START_STATUS + 23); public static final int APR_EMISMATCH = (APR_OS_START_STATUS + 24); public static final int APR_EBUSY = (APR_OS_START_STATUS + 25); public static final int TIMEUP = (APR_OS_START_USERERR + 1); public static final int EAGAIN = (APR_OS_START_USERERR + 2); public static final int EINTR = (APR_OS_START_USERERR + 3); public static final int EINPROGRESS = (APR_OS_START_USERERR + 4); public static final int ETIMEDOUT = (APR_OS_START_USERERR + 5); private static native boolean is(int err, int idx); /* * APR_STATUS_IS Status Value Tests * <br><b>Warning :</b> For any particular error condition, more than one of these tests * may match. This is because platform-specific error codes may not * always match the semantics of the POSIX codes these tests (and the * corresponding APR error codes) are named after. A notable example * are the APR_STATUS_IS_ENOENT and APR_STATUS_IS_ENOTDIR tests on * Win32 platforms. The programmer should always be aware of this and * adjust the order of the tests accordingly. * */ public static final boolean APR_STATUS_IS_ENOSTAT(int s) { return is(s, 1); } public static final boolean APR_STATUS_IS_ENOPOOL(int s) { return is(s, 2); } /* empty slot: +3 */ public static final boolean APR_STATUS_IS_EBADDATE(int s) { return is(s, 4); } public static final boolean APR_STATUS_IS_EINVALSOCK(int s) { return is(s, 5); } public static final boolean APR_STATUS_IS_ENOPROC(int s) { return is(s, 6); } public static final boolean APR_STATUS_IS_ENOTIME(int s) { return is(s, 7); } public static final boolean APR_STATUS_IS_ENODIR(int s) { return is(s, 8); } public static final boolean APR_STATUS_IS_ENOLOCK(int s) { return is(s, 9); } public static final boolean APR_STATUS_IS_ENOPOLL(int s) { return is(s, 10); } public static final boolean APR_STATUS_IS_ENOSOCKET(int s) { return is(s, 11); } public static final boolean APR_STATUS_IS_ENOTHREAD(int s) { return is(s, 12); } public static final boolean APR_STATUS_IS_ENOTHDKEY(int s) { return is(s, 13); } public static final boolean APR_STATUS_IS_EGENERAL(int s) { return is(s, 14); } public static final boolean APR_STATUS_IS_ENOSHMAVAIL(int s){ return is(s, 15); } public static final boolean APR_STATUS_IS_EBADIP(int s) { return is(s, 16); } public static final boolean APR_STATUS_IS_EBADMASK(int s) { return is(s, 17); } /* empty slot: +18 */ public static final boolean APR_STATUS_IS_EDSOPEN(int s) { return is(s, 19); } public static final boolean APR_STATUS_IS_EABSOLUTE(int s) { return is(s, 20); } public static final boolean APR_STATUS_IS_ERELATIVE(int s) { return is(s, 21); } public static final boolean APR_STATUS_IS_EINCOMPLETE(int s){ return is(s, 22); } public static final boolean APR_STATUS_IS_EABOVEROOT(int s) { return is(s, 23); } public static final boolean APR_STATUS_IS_EBADPATH(int s) { return is(s, 24); } public static final boolean APR_STATUS_IS_EPATHWILD(int s) { return is(s, 25); } public static final boolean APR_STATUS_IS_ESYMNOTFOUND(int s) { return is(s, 26); } public static final boolean APR_STATUS_IS_EPROC_UNKNOWN(int s) { return is(s, 27); } public static final boolean APR_STATUS_IS_ENOTENOUGHENTROPY(int s) { return is(s, 28); } /* * APR_Error */ public static final boolean APR_STATUS_IS_INCHILD(int s) { return is(s, 51); } public static final boolean APR_STATUS_IS_INPARENT(int s) { return is(s, 52); } public static final boolean APR_STATUS_IS_DETACH(int s) { return is(s, 53); } public static final boolean APR_STATUS_IS_NOTDETACH(int s) { return is(s, 54); } public static final boolean APR_STATUS_IS_CHILD_DONE(int s) { return is(s, 55); } public static final boolean APR_STATUS_IS_CHILD_NOTDONE(int s) { return is(s, 56); } public static final boolean APR_STATUS_IS_TIMEUP(int s) { return is(s, 57); } public static final boolean APR_STATUS_IS_INCOMPLETE(int s) { return is(s, 58); } /* empty slot: +9 */ /* empty slot: +10 */ /* empty slot: +11 */ public static final boolean APR_STATUS_IS_BADCH(int s) { return is(s, 62); } public static final boolean APR_STATUS_IS_BADARG(int s) { return is(s, 63); } public static final boolean APR_STATUS_IS_EOF(int s) { return is(s, 64); } public static final boolean APR_STATUS_IS_NOTFOUND(int s) { return is(s, 65); } /* empty slot: +16 */ /* empty slot: +17 */ /* empty slot: +18 */ public static final boolean APR_STATUS_IS_ANONYMOUS(int s) { return is(s, 69); } public static final boolean APR_STATUS_IS_FILEBASED(int s) { return is(s, 70); } public static final boolean APR_STATUS_IS_KEYBASED(int s) { return is(s, 71); } public static final boolean APR_STATUS_IS_EINIT(int s) { return is(s, 72); } public static final boolean APR_STATUS_IS_ENOTIMPL(int s) { return is(s, 73); } public static final boolean APR_STATUS_IS_EMISMATCH(int s) { return is(s, 74); } public static final boolean APR_STATUS_IS_EBUSY(int s) { return is(s, 75); } /* Socket errors */ public static final boolean APR_STATUS_IS_EAGAIN(int s) { return is(s, 90); } public static final boolean APR_STATUS_IS_ETIMEDOUT(int s) { return is(s, 91); } public static final boolean APR_STATUS_IS_ECONNABORTED(int s) { return is(s, 92); } public static final boolean APR_STATUS_IS_ECONNRESET(int s) { return is(s, 93); } public static final boolean APR_STATUS_IS_EINPROGRESS(int s) { return is(s, 94); } public static final boolean APR_STATUS_IS_EINTR(int s) { return is(s, 95); } public static final boolean APR_STATUS_IS_ENOTSOCK(int s) { return is(s, 96); } public static final boolean APR_STATUS_IS_EINVAL(int s) { return is(s, 97); } }