The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/ngatm/netnatm/sig/unimkmsg.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2001-2003
    3  *      Fraunhofer Institute for Open Communication Systems (FhG Fokus).
    4  *      All rights reserved.
    5  *
    6  * Redistribution and use in source and binary forms, with or without
    7  * modification, are permitted provided that the following conditions
    8  * are met:
    9  * 1. Redistributions of source code must retain the above copyright
   10  *    notice, this list of conditions and the following disclaimer.
   11  * 2. Redistributions in binary form must reproduce the above copyright
   12  *    notice, this list of conditions and the following disclaimer in the
   13  *    documentation and/or other materials provided with the distribution.
   14  *
   15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   25  * SUCH DAMAGE.
   26  *
   27  * Author: Hartmut Brandt <harti@freebsd.org>
   28  *
   29  * $Begemot: libunimsg/netnatm/sig/unimkmsg.h,v 1.4 2003/09/19 12:03:34 hbb Exp $
   30  *
   31  * Macros to make messages.
   32  */
   33 
   34 #define MK_MSG_ORIG(MSG,TYPE,CREF,FLAG)                                 \
   35     do {                                                                \
   36         (MSG)->mtype = (TYPE);                                          \
   37         (MSG)->u.hdr.cref.cref = (CREF);                                \
   38         (MSG)->u.hdr.cref.flag = (FLAG);                                \
   39         (MSG)->u.hdr.act = UNI_MSGACT_DEFAULT;                          \
   40     } while(0)
   41 
   42 #define MK_MSG_RESP(MSG,TYPE,CREF)                                      \
   43     do {                                                                \
   44         (MSG)->mtype = (TYPE);                                          \
   45         (MSG)->u.hdr.cref.cref = (CREF)->cref;                          \
   46         (MSG)->u.hdr.cref.flag = !(CREF)->flag;                         \
   47         (MSG)->u.hdr.act = UNI_MSGACT_DEFAULT;                          \
   48     } while(0)
   49 
   50 #define MK_IE_CALLSTATE(IE,CS)                                          \
   51     do {                                                                \
   52         (IE).h.present = 0;                                             \
   53         IE_SETPRESENT(IE);                                              \
   54         (IE).h.coding = UNI_CODING_ITU;                                 \
   55         (IE).h.act = UNI_IEACT_DEFAULT;                                 \
   56         (IE).state = CS;                                                \
   57     } while(0)
   58 
   59 #define MK_IE_EPREF(IE,EPREF,FLAG)                                      \
   60     do {                                                                \
   61         (IE).h.present = 0;                                             \
   62         IE_SETPRESENT(IE);                                              \
   63         (IE).h.coding = UNI_CODING_ITU;                                 \
   64         (IE).h.act = UNI_IEACT_DEFAULT;                                 \
   65         (IE).epref = EPREF;                                             \
   66         (IE).flag = FLAG;                                               \
   67     } while(0)
   68 
   69 #define MK_IE_EPSTATE(IE,STATE)                                         \
   70     do {                                                                \
   71         (IE).h.present = 0;                                             \
   72         IE_SETPRESENT(IE);                                              \
   73         (IE).h.coding = UNI_CODING_ITU;                                 \
   74         (IE).h.act = UNI_IEACT_DEFAULT;                                 \
   75         (IE).state = STATE;                                             \
   76     } while(0)
   77 
   78 #define MK_IE_CAUSE(IE,LOC,CAUSE)                                       \
   79     do {                                                                \
   80         (IE).h.present = 0;                                             \
   81         IE_SETPRESENT(IE);                                              \
   82         (IE).h.coding = UNI_CODING_ITU;                                 \
   83         (IE).h.act = UNI_IEACT_DEFAULT;                                 \
   84         (IE).loc = LOC;                                                 \
   85         (IE).cause = CAUSE;                                             \
   86     } while(0)
   87 
   88 #define ADD_CAUSE_MTYPE(IE,MTYPE)                                       \
   89     do {                                                                \
   90         (IE).h.present |= UNI_CAUSE_MTYPE_P;                            \
   91         (IE).u.mtype = MTYPE;                                           \
   92     } while(0)
   93 
   94 #define ADD_CAUSE_CHANNID(IE,VPI,VCI)                                   \
   95     do {                                                                \
   96         (IE).h.present |= UNI_CAUSE_VPCI_P;                             \
   97         (IE).u.vpci.vpci = VPI;                                         \
   98         (IE).u.vpci.vci = VCI;                                          \
   99     } while(0)
  100 
  101 #define ADD_CAUSE_TIMER(IE,TIMER)                                       \
  102     do {                                                                \
  103         (IE).h.present |= UNI_CAUSE_TIMER_P;                            \
  104         (IE).u.timer[0] = (TIMER)[0];                                   \
  105         (IE).u.timer[1] = (TIMER)[1];                                   \
  106         (IE).u.timer[2] = (TIMER)[2];                                   \
  107     } while(0)
  108 
  109 /************************************************************/
  110 
  111 #define COPY_FROM_RELEASE_COMPL(U,DEST)                                 \
  112     do {                                                                \
  113         u_int _i, _j;                                                   \
  114                                                                         \
  115         for(_i = _j = 0; _i < 2; _i++)                                  \
  116                 if(IE_ISGOOD((U)->u.release_compl.cause[_i]))           \
  117                         (DEST)->cause[_j++] =                           \
  118                             (U)->u.release_compl.cause[_i];             \
  119         for(_i = _j = 0; _i < UNI_NUM_IE_GIT; _i++)                     \
  120                 if(IE_ISGOOD((U)->u.release_compl.git[_i]))             \
  121                         (DEST)->git[_j++] =                             \
  122                             (U)->u.release_compl.git[_i];               \
  123         if(IE_ISGOOD((U)->u.release_compl.uu))                          \
  124                 (DEST)->uu = (U)->u.release_compl.uu;                   \
  125         if(IE_ISGOOD((U)->u.release_compl.crankback))                   \
  126                 (DEST)->crankback = (U)->u.release_compl.crankback;     \
  127     } while(0)
  128 
  129 #define COPY_FROM_DROP_ACK(U,DEST)                                      \
  130     do {                                                                \
  131         u_int _i, _j;                                                   \
  132                                                                         \
  133         if(IE_ISGOOD((U)->u.drop_party_ack.epref))                      \
  134                 (DEST)->epref = (U)->u.drop_party_ack.epref;            \
  135         if(IE_ISGOOD((U)->u.drop_party_ack.cause))                      \
  136                 (DEST)->cause = (U)->u.drop_party_ack.cause;            \
  137         if(IE_ISGOOD((U)->u.drop_party_ack.uu))                         \
  138                 (DEST)->uu = (U)->u.drop_party_ack.uu;                  \
  139         for(_i = _j = 0; _i < UNI_NUM_IE_GIT; _i++)                     \
  140                 if(IE_ISGOOD((U)->u.drop_party_ack.git[_i]))            \
  141                         (DEST)->git[_j++] =                             \
  142                             (U)->u.drop_party_ack.git[_i];              \
  143     } while(0)
  144 
  145 #define COPY_FROM_ADD_REJ(U,DEST)                                       \
  146     do {                                                                \
  147         u_int _i, _j;                                                   \
  148                                                                         \
  149         if(IE_ISGOOD((U)->u.add_party_rej.epref))                       \
  150                 (DEST)->epref = (U)->u.add_party_rej.epref;             \
  151         if(IE_ISGOOD((U)->u.add_party_rej.cause))                       \
  152                 (DEST)->cause = (U)->u.add_party_rej.cause;             \
  153         if(IE_ISGOOD((U)->u.add_party_rej.uu))                          \
  154                 (DEST)->uu = (U)->u.add_party_rej.uu;                   \
  155         for(_i = _j = 0; _i < UNI_NUM_IE_GIT; _i++)                     \
  156                 if(IE_ISGOOD((U)->u.add_party_rej.git[_i]))             \
  157                         (DEST)->git[_j++] =                             \
  158                             (U)->u.add_party_rej.git[_i];               \
  159     } while(0)

Cache object: a4a8ed530cde813fc9cde7dbaf6de60b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.