1*8b26181fSAndroid Build Coastguard Worker /* 2*8b26181fSAndroid Build Coastguard Worker * Copyright (c) 1997 Yen Yen Lim and North Dakota State University 3*8b26181fSAndroid Build Coastguard Worker * All rights reserved. 4*8b26181fSAndroid Build Coastguard Worker * 5*8b26181fSAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without 6*8b26181fSAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions 7*8b26181fSAndroid Build Coastguard Worker * are met: 8*8b26181fSAndroid Build Coastguard Worker * 1. Redistributions of source code must retain the above copyright 9*8b26181fSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer. 10*8b26181fSAndroid Build Coastguard Worker * 2. Redistributions in binary form must reproduce the above copyright 11*8b26181fSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in the 12*8b26181fSAndroid Build Coastguard Worker * documentation and/or other materials provided with the distribution. 13*8b26181fSAndroid Build Coastguard Worker * 3. All advertising materials mentioning features or use of this software 14*8b26181fSAndroid Build Coastguard Worker * must display the following acknowledgement: 15*8b26181fSAndroid Build Coastguard Worker * This product includes software developed by Yen Yen Lim and 16*8b26181fSAndroid Build Coastguard Worker North Dakota State University 17*8b26181fSAndroid Build Coastguard Worker * 4. The name of the author may not be used to endorse or promote products 18*8b26181fSAndroid Build Coastguard Worker * derived from this software without specific prior written permission. 19*8b26181fSAndroid Build Coastguard Worker * 20*8b26181fSAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 21*8b26181fSAndroid Build Coastguard Worker * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22*8b26181fSAndroid Build Coastguard Worker * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23*8b26181fSAndroid Build Coastguard Worker * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 24*8b26181fSAndroid Build Coastguard Worker * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25*8b26181fSAndroid Build Coastguard Worker * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26*8b26181fSAndroid Build Coastguard Worker * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27*8b26181fSAndroid Build Coastguard Worker * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 28*8b26181fSAndroid Build Coastguard Worker * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 29*8b26181fSAndroid Build Coastguard Worker * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30*8b26181fSAndroid Build Coastguard Worker * POSSIBILITY OF SUCH DAMAGE. 31*8b26181fSAndroid Build Coastguard Worker */ 32*8b26181fSAndroid Build Coastguard Worker 33*8b26181fSAndroid Build Coastguard Worker /* Based on UNI3.1 standard by ATM Forum */ 34*8b26181fSAndroid Build Coastguard Worker 35*8b26181fSAndroid Build Coastguard Worker /* ATM traffic types based on VPI=0 and (the following VCI */ 36*8b26181fSAndroid Build Coastguard Worker #define VCI_PPC 0x05 /* Point-to-point signal msg */ 37*8b26181fSAndroid Build Coastguard Worker #define VCI_BCC 0x02 /* Broadcast signal msg */ 38*8b26181fSAndroid Build Coastguard Worker #define VCI_OAMF4SC 0x03 /* Segment OAM F4 flow cell */ 39*8b26181fSAndroid Build Coastguard Worker #define VCI_OAMF4EC 0x04 /* End-to-end OAM F4 flow cell */ 40*8b26181fSAndroid Build Coastguard Worker #define VCI_METAC 0x01 /* Meta signal msg */ 41*8b26181fSAndroid Build Coastguard Worker #define VCI_ILMIC 0x10 /* ILMI msg */ 42*8b26181fSAndroid Build Coastguard Worker 43*8b26181fSAndroid Build Coastguard Worker /* Q.2931 signalling messages */ 44*8b26181fSAndroid Build Coastguard Worker #define CALL_PROCEED 0x02 /* call proceeding */ 45*8b26181fSAndroid Build Coastguard Worker #define CONNECT 0x07 /* connect */ 46*8b26181fSAndroid Build Coastguard Worker #define CONNECT_ACK 0x0f /* connect_ack */ 47*8b26181fSAndroid Build Coastguard Worker #define SETUP 0x05 /* setup */ 48*8b26181fSAndroid Build Coastguard Worker #define RELEASE 0x4d /* release */ 49*8b26181fSAndroid Build Coastguard Worker #define RELEASE_DONE 0x5a /* release_done */ 50*8b26181fSAndroid Build Coastguard Worker #define RESTART 0x46 /* restart */ 51*8b26181fSAndroid Build Coastguard Worker #define RESTART_ACK 0x4e /* restart ack */ 52*8b26181fSAndroid Build Coastguard Worker #define STATUS 0x7d /* status */ 53*8b26181fSAndroid Build Coastguard Worker #define STATUS_ENQ 0x75 /* status ack */ 54*8b26181fSAndroid Build Coastguard Worker #define ADD_PARTY 0x80 /* add party */ 55*8b26181fSAndroid Build Coastguard Worker #define ADD_PARTY_ACK 0x81 /* add party ack */ 56*8b26181fSAndroid Build Coastguard Worker #define ADD_PARTY_REJ 0x82 /* add party rej */ 57*8b26181fSAndroid Build Coastguard Worker #define DROP_PARTY 0x83 /* drop party */ 58*8b26181fSAndroid Build Coastguard Worker #define DROP_PARTY_ACK 0x84 /* drop party ack */ 59*8b26181fSAndroid Build Coastguard Worker 60*8b26181fSAndroid Build Coastguard Worker /* Information Element Parameters in the signalling messages */ 61*8b26181fSAndroid Build Coastguard Worker #define CAUSE 0x08 /* cause */ 62*8b26181fSAndroid Build Coastguard Worker #define ENDPT_REF 0x54 /* endpoint reference */ 63*8b26181fSAndroid Build Coastguard Worker #define AAL_PARA 0x58 /* ATM adaptation layer parameters */ 64*8b26181fSAndroid Build Coastguard Worker #define TRAFF_DESCRIP 0x59 /* atm traffic descriptors */ 65*8b26181fSAndroid Build Coastguard Worker #define CONNECT_ID 0x5a /* connection identifier */ 66*8b26181fSAndroid Build Coastguard Worker #define QOS_PARA 0x5c /* quality of service parameters */ 67*8b26181fSAndroid Build Coastguard Worker #define B_HIGHER 0x5d /* broadband higher layer information */ 68*8b26181fSAndroid Build Coastguard Worker #define B_BEARER 0x5e /* broadband bearer capability */ 69*8b26181fSAndroid Build Coastguard Worker #define B_LOWER 0x5f /* broadband lower information */ 70*8b26181fSAndroid Build Coastguard Worker #define CALLING_PARTY 0x6c /* calling party number */ 71*8b26181fSAndroid Build Coastguard Worker #define CALLED_PARTY 0x70 /* called party nmber */ 72*8b26181fSAndroid Build Coastguard Worker 73*8b26181fSAndroid Build Coastguard Worker #define Q2931 0x09 74*8b26181fSAndroid Build Coastguard Worker 75*8b26181fSAndroid Build Coastguard Worker /* Q.2931 signalling general messages format */ 76*8b26181fSAndroid Build Coastguard Worker #define PROTO_POS 0 /* offset of protocol discriminator */ 77*8b26181fSAndroid Build Coastguard Worker #define CALL_REF_POS 2 /* offset of call reference value */ 78*8b26181fSAndroid Build Coastguard Worker #define MSG_TYPE_POS 5 /* offset of message type */ 79*8b26181fSAndroid Build Coastguard Worker #define MSG_LEN_POS 7 /* offset of message length */ 80*8b26181fSAndroid Build Coastguard Worker #define IE_BEGIN_POS 9 /* offset of first information element */ 81*8b26181fSAndroid Build Coastguard Worker 82*8b26181fSAndroid Build Coastguard Worker /* format of signalling messages */ 83*8b26181fSAndroid Build Coastguard Worker #define TYPE_POS 0 84*8b26181fSAndroid Build Coastguard Worker #define LEN_POS 2 85*8b26181fSAndroid Build Coastguard Worker #define FIELD_BEGIN_POS 4 86