/*
* 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); }
}