001    /*
002     *  Licensed to the Apache Software Foundation (ASF) under one
003     *  or more contributor license agreements.  See the NOTICE file
004     *  distributed with this work for additional information
005     *  regarding copyright ownership.  The ASF licenses this file
006     *  to you under the Apache License, Version 2.0 (the
007     *  "License"); you may not use this file except in compliance
008     *  with the License.  You may obtain a copy of the License at
009     *  
010     *    http://www.apache.org/licenses/LICENSE-2.0
011     *  
012     *  Unless required by applicable law or agreed to in writing,
013     *  software distributed under the License is distributed on an
014     *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015     *  KIND, either express or implied.  See the License for the
016     *  specific language governing permissions and limitations
017     *  under the License. 
018     *  
019     */
020    
021    package org.apache.directory.server.dhcp.options.misc;
022    
023    
024    import org.apache.directory.server.dhcp.options.DhcpOption;
025    
026    
027    /**
028     * This option is used by clients and servers to exchange vendor-
029     * specific information.  The information is an opaque object of n
030     * octets, presumably interpreted by vendor-specific code on the clients
031     * and servers.  The definition of this information is vendor specific.
032     * The vendor is indicated in the vendor class identifier option.
033     * Servers not equipped to interpret the vendor-specific information
034     * sent by a client MUST ignore it (although it may be reported).
035     * Clients which do not receive desired vendor-specific information
036     * SHOULD make an attempt to operate without it, although they may do so
037     * (and announce they are doing so) in a degraded mode.
038     * 
039     * If a vendor potentially encodes more than one item of information in
040     * this option, then the vendor SHOULD encode the option using
041     * "Encapsulated vendor-specific options" as described below:
042     * The Encapsulated vendor-specific options field SHOULD be encoded as a
043     * sequence of code/length/value fields of identical syntax to the DHCP
044     * options field with the following exceptions:
045     * 
046     *    1) There SHOULD NOT be a "magic cookie" field in the encapsulated
047     *       vendor-specific extensions field.
048     * 
049     *    2) Codes other than 0 or 255 MAY be redefined by the vendor within
050     *       the encapsulated vendor-specific extensions field, but SHOULD
051     *       conform to the tag-length-value syntax defined in section 2.
052     * 
053     *    3) Code 255 (END), if present, signifies the end of the
054     *       encapsulated vendor extensions, not the end of the vendor
055     *       extensions field. If no code 255 is present, then the end of
056     *       the enclosing vendor-specific information field is taken as the
057     *       end of the encapsulated vendor-specific extensions field.
058     * 
059     * The code for this option is 43 and its minimum length is 1.
060     * 
061     * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
062     * @version $Rev: 638228 $, $Date: 2008-03-18 07:12:41 +0100 (Tue, 18 Mar 2008) $
063     */
064    public class VendorSpecificInformation extends DhcpOption
065    {
066        /*
067         * @see org.apache.directory.server.dhcp.options.DhcpOption#getTag()
068         */
069        public byte getTag()
070        {
071            return 43;
072        }
073    }