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
021package org.apache.directory.server.dns.io.encoder;
022
023
024/**
025 * 3.4.2. WKS RDATA format
026 * 
027 *     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
028 *     |                    ADDRESS                    |
029 *     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
030 *     |       PROTOCOL        |                       |
031 *     +--+--+--+--+--+--+--+--+                       |
032 *     |                                               |
033 *     /                   <BIT MAP>                   /
034 *     /                                               /
035 *     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
036 * 
037 * where:
038 * 
039 * ADDRESS         An 32 bit Internet address
040 * 
041 * PROTOCOL        An 8 bit IP protocol number
042 * 
043 * <BIT MAP>       A variable length bit map.  The bit map must be a
044 *                 multiple of 8 bits long.
045 * 
046 * The WKS record is used to describe the well known services supported by
047 * a particular protocol on a particular internet address.  The PROTOCOL
048 * field specifies an IP protocol number, and the bit map has one bit per
049 * port of the specified protocol.  The first bit corresponds to port 0,
050 * the second to port 1, etc.  If the bit map does not include a bit for a
051 * protocol of interest, that bit is assumed zero.  The appropriate values
052 * and mnemonics for ports and protocols are specified in [RFC-1010].
053 * 
054 * For example, if PROTOCOL=TCP (6), the 26th bit corresponds to TCP port
055 * 25 (SMTP).  If this bit is set, a SMTP server should be listening on TCP
056 * port 25; if zero, SMTP service is not supported on the specified
057 * address.
058 * 
059 * The purpose of WKS RRs is to provide availability information for
060 * servers for TCP and UDP.  If a server supports both TCP and UDP, or has
061 * multiple Internet addresses, then multiple WKS RRs are used.
062 * 
063 * WKS RRs cause no additional section processing.
064 * 
065 * In master files, both ports and protocols are expressed using mnemonics
066 * or decimal numbers.
067 * 
068 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
069 */
070public class WellKnownServicesRecordEncoder
071{
072}