alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Tomcat example source code file (Address.java)

This example Tomcat source code file (Address.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Tomcat tags/keywords

address, apr_anyaddr, apr_anyaddr, exception, exception, sockaddr, sockaddr, string, string

The Tomcat Address.java source code

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

/** Address
 *
 * @author Mladen Turk
 * @version $Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $
 */

public class Address {

    static public String APR_ANYADDR = "0.0.0.0";
    /**
     * Fill the Sockaddr class from apr_sockaddr_t
     * @param info Sockaddr class to fill
     * @param sa Structure pointer
     */
    public static native boolean fill(Sockaddr info, long sa);

    /**
     * Create the Sockaddr object from apr_sockaddr_t
     * @param sa Structure pointer
     */
    public static native Sockaddr getInfo(long sa);

    /**
     * Create apr_sockaddr_t from hostname, address family, and port.
     * @param hostname The hostname or numeric address string to resolve/parse, or
     *               NULL to build an address that corresponds to 0.0.0.0 or ::
     * @param family The address family to use, or APR_UNSPEC if the system should
     *               decide.
     * @param port The port number.
     * @param flags Special processing flags:
     * <PRE>
     *       APR_IPV4_ADDR_OK          first query for IPv4 addresses; only look
     *                                 for IPv6 addresses if the first query failed;
     *                                 only valid if family is APR_UNSPEC and hostname
     *                                 isn't NULL; mutually exclusive with
     *                                 APR_IPV6_ADDR_OK
     *       APR_IPV6_ADDR_OK          first query for IPv6 addresses; only look
     *                                 for IPv4 addresses if the first query failed;
     *                                 only valid if family is APR_UNSPEC and hostname
     *                                 isn't NULL and APR_HAVE_IPV6; mutually exclusive
     *                                 with APR_IPV4_ADDR_OK
     * </PRE>
     * @param p The pool for the apr_sockaddr_t and associated storage.
     * @return The new apr_sockaddr_t.
     */
    public static native long info(String hostname, int family,
                                   int port, int flags, long p)
        throws Exception;
    /**
     * Look up the host name from an apr_sockaddr_t.
     * @param sa The apr_sockaddr_t.
     * @param flags Special processing flags.
     * @return The hostname.
     */
    public static native String getnameinfo(long sa, int flags);

    /**
     * Return the IP address (in numeric address string format) in
     * an APR socket address.  APR will allocate storage for the IP address
     * string from the pool of the apr_sockaddr_t.
     * @param sa The socket address to reference.
     * @return The IP address.
     */
    public static native String getip(long sa);

    /**
     * Given an apr_sockaddr_t and a service name, set the port for the service
     * @param sockaddr The apr_sockaddr_t that will have its port set
     * @param servname The name of the service you wish to use
     * @return APR status code.
     */
    public static native int getservbyname(long sockaddr, String servname);

    /**
     * Return an apr_sockaddr_t from an apr_socket_t
     * @param which Which interface do we want the apr_sockaddr_t for?
     * @param sock The socket to use
     * @return The returned apr_sockaddr_t.
     */
    public static native long get(int which, long sock)
        throws Exception;

    /**
     * See if the IP addresses in two APR socket addresses are
     * equivalent.  Appropriate logic is present for comparing
     * IPv4-mapped IPv6 addresses with IPv4 addresses.
     *
     * @param a One of the APR socket addresses.
     * @param b The other APR socket address.
     * The return value will be True if the addresses
     * are equivalent.
     */
    public static native boolean equal(long a, long b);

}

Other Tomcat examples (source code examples)

Here is a short list of links related to this Tomcat Address.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.