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/netatm/atm.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  *
    3  * ===================================
    4  * HARP  |  Host ATM Research Platform
    5  * ===================================
    6  *
    7  *
    8  * This Host ATM Research Platform ("HARP") file (the "Software") is
    9  * made available by Network Computing Services, Inc. ("NetworkCS")
   10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
   11  * support of any kind.
   12  *
   13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
   14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
   15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
   16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
   17  * In no event shall NetworkCS be responsible for any damages, including
   18  * but not limited to consequential damages, arising from or relating to
   19  * any use of the Software or related support.
   20  *
   21  * Copyright 1994-1998 Network Computing Services, Inc.
   22  *
   23  * Copies of this Software may be made, however, the above copyright
   24  * notice must be reproduced on all copies.
   25  *
   26  *      @(#) $FreeBSD$
   27  *
   28  */
   29 
   30 /*
   31  * Core ATM Services
   32  * -----------------
   33  *
   34  * ATM address family definitions
   35  *
   36  */
   37 
   38 #ifndef _NETATM_ATM_H
   39 #define _NETATM_ATM_H
   40 
   41 
   42 /*
   43  * The definitions in this file are intended to conform to the 
   44  * specifications defined in:
   45  *
   46  *      The Open Group, Networking Services (XNS) Issue 5
   47  *
   48  *      ATM Transport Protocol Information for Sockets
   49  *
   50  * which is Copyright (c) 1997, The Open Group.
   51  *
   52  * All extensions contained in this file to the base specification 
   53  * are denoted with a comment string of "XNS_EXT".
   54  */
   55 
   56 /*
   57  * ATM socket protocols
   58  */
   59 #define ATM_PROTO_AAL5          0x5301  /* AAL type 5 protocol */
   60 #define ATM_PROTO_SSCOP         0x5302  /* SSCOP protocol      */
   61 
   62 
   63 /*
   64  * ATM address defintions
   65  */
   66 /*
   67  * General format of an ATM address
   68  */
   69 #define ATM_ADDR_LEN    20              /* Size of address field (XNS_EXT) */
   70 
   71 struct t_atm_addr {
   72         int8_t          address_format; /* Address format (see below) */
   73         u_int8_t        address_length; /* Length of address field */
   74         u_int8_t        address[ATM_ADDR_LEN];  /* Address field */
   75 };
   76 typedef struct t_atm_addr       Atm_addr;       /* XNS_EXT */
   77 
   78 /*
   79  * ATM address formats
   80  */
   81 #define T_ATM_ABSENT            (-1)    /* No address present */
   82 #define T_ATM_ENDSYS_ADDR       1       /* ATM Endsystem */
   83 #define T_ATM_NSAP_ADDR         1       /* NSAP */
   84 #define T_ATM_E164_ADDR         2       /* E.164 */
   85 #define T_ATM_SPANS_ADDR        3       /* FORE SPANS (XNS_EXT) */
   86 #define T_ATM_PVC_ADDR          4       /* PVC (VPI,VCI) (XNS_EXT) */
   87 
   88 /*
   89  * ATM Endsystem / NSAP address format
   90  */
   91 struct atm_addr_nsap {                  /* XNS_EXT */
   92         u_char          aan_afi;        /* Authority and Format Identifier */
   93                                         /* (see below) */
   94         u_char          aan_afspec[12]; /* AFI specific fields */
   95         u_char          aan_esi[6];     /* End System Identifier */
   96         u_char          aan_sel;        /* Selector */
   97 };
   98 typedef struct atm_addr_nsap    Atm_addr_nsap;
   99 
  100 /*
  101  * AFI codes
  102  */
  103 #define AFI_DCC         0x39            /* DCC ATM Format (XNS_EXT) */
  104 #define AFI_ICD         0x47            /* ICD ATM Format (XNS_EXT) */
  105 #define AFI_E164        0x45            /* E.164 ATM Format (XNS_EXT) */
  106 
  107 /*
  108  * E.164 address format
  109  */
  110 struct atm_addr_e164 {                  /* XNS_EXT */
  111         u_char          aae_addr[15];   /* E.164 address */
  112 };
  113 typedef struct atm_addr_e164    Atm_addr_e164;
  114 
  115 /*
  116  * SPANS address format
  117  */
  118 struct atm_addr_spans {                 /* XNS_EXT */
  119         u_char          aas_addr[8];    /* See SPANS code for specific fields */
  120 };
  121 typedef struct atm_addr_spans   Atm_addr_spans;
  122 
  123 /*
  124  * PVC address format
  125  */
  126 struct atm_addr_pvc {                   /* XNS_EXT */
  127         u_int8_t        aap_vpi[2];     /* VPI */
  128         u_int8_t        aap_vci[2];     /* VCI */
  129 };
  130 typedef struct atm_addr_pvc     Atm_addr_pvc;
  131 
  132 #define ATM_PVC_GET_VPI(addr)           /* XNS_EXT */           \
  133         ((u_int16_t)(((addr)->aap_vpi[0] << 8) | (addr)->aap_vpi[1]))
  134 #define ATM_PVC_GET_VCI(addr)           /* XNS_EXT */           \
  135         ((u_int16_t)(((addr)->aap_vci[0] << 8) | (addr)->aap_vci[1]))
  136 #define ATM_PVC_SET_VPI(addr,vpi) {     /* XNS_EXT */           \
  137         (addr)->aap_vpi[0] = ((vpi) >> 8) & 0xff;               \
  138         (addr)->aap_vpi[1] = (vpi) & 0xff;                      \
  139 }
  140 #define ATM_PVC_SET_VCI(addr,vci) {     /* XNS_EXT */           \
  141         (addr)->aap_vci[0] = ((vci) >> 8) & 0xff;               \
  142         (addr)->aap_vci[1] = (vci) & 0xff;                      \
  143 }
  144 
  145 
  146 /*
  147  * ATM service access point (SAP)
  148  *
  149  * A SAP address consists of SAP Vector Elements (SVE).  Each SVE consists 
  150  * of the following fields:
  151  *      o tag - defines the interpretation of the SVE;
  152  *      o length - the length of the SVE value field;
  153  *      o value - the value associated with the SVE;
  154  *
  155  * All of the possible SAP field values are either defined below
  156  * or in the corresponding option value definitions.
  157  */
  158 
  159 /*
  160  * ATM Address and Selector SVE
  161  */
  162 struct t_atm_sap_addr {
  163         int8_t          SVE_tag_addr;   /* SVE tag (address) */
  164         int8_t          SVE_tag_selector; /* SVE tag (selector) */
  165                                         /* Address/selector value */
  166         int8_t          address_format; /* Address format */
  167         u_int8_t        address_length; /* Length of address field */
  168         u_int8_t        address[ATM_ADDR_LEN];  /* Address field */
  169 };
  170 
  171 /*
  172  * B-LLI Layer 2 SVE
  173  */
  174 struct t_atm_sap_layer2 {
  175         int8_t          SVE_tag;        /* SVE tag */
  176         u_int8_t        ID_type;        /* Layer 2 protocol discriminator */
  177         union {                         /* Layer 2 protocol */
  178                 u_int8_t        simple_ID;      /* ITU */
  179                 u_int8_t        user_defined_ID;/* User-defined */
  180         } ID;
  181 };
  182 
  183 /*
  184  * B-LLI Layer 3 SVE
  185  */
  186 struct t_atm_sap_layer3 {
  187         int8_t          SVE_tag;        /* SVE tag */
  188         u_int8_t        ID_type;        /* Layer 3 protocol discriminator */
  189         union {                         /* Layer 3 protocol */
  190                 u_int8_t        simple_ID;      /* ITU */
  191                 u_int8_t        IPI_ID;         /* ISO IPI */
  192                 struct {                        /* IEEE 802.1 SNAP ID */
  193                         u_int8_t        OUI[3];
  194                         u_int8_t        PID[2];
  195                 } SNAP_ID;
  196                 u_int8_t        user_defined_ID;/* User-defined */
  197         } ID;
  198 };
  199 
  200 /*
  201  * B_HLI SVE
  202  */
  203 struct t_atm_sap_appl {
  204         int8_t          SVE_tag;        /* SVE tag */
  205         u_int8_t        ID_type;        /* High Layer type discriminator */
  206         union {                         /* High Layer type */
  207                 u_int8_t        ISO_ID[8];      /* ISO */
  208                 struct {                        /* Vendor-specific */
  209                         u_int8_t        OUI[3];
  210                         u_int8_t        app_ID[4];
  211                 } vendor_ID;
  212                 u_int8_t        user_defined_ID[8];/* User-defined */
  213         } ID;
  214 };
  215 
  216 /*
  217  * ATM SAP (protocol) address structure
  218  */
  219 struct t_atm_sap {
  220         struct t_atm_sap_addr           t_atm_sap_addr;
  221         struct t_atm_sap_layer2         t_atm_sap_layer2;
  222         struct t_atm_sap_layer3         t_atm_sap_layer3;
  223         struct t_atm_sap_appl           t_atm_sap_appl;
  224 };
  225 
  226 /*
  227  * SVE Tag values
  228  */
  229 #define T_ATM_ABSENT            (-1)    /* Value field invalid; match none */
  230 #define T_ATM_PRESENT           (-2)    /* Value field valid; match value */
  231 #define T_ATM_ANY               (-3)    /* Value field invalid; match any */
  232 
  233 
  234 /*
  235  * ATM socket address
  236  */
  237 struct sockaddr_atm {                   /* XNS_EXT */
  238         u_char          satm_len;       /* Length of socket structure */
  239         u_char          satm_family;    /* Address family */
  240         struct t_atm_sap        satm_addr;      /* Protocol address */
  241 };
  242 
  243 
  244 /*
  245  * ATM socket options for use with [gs]etsockopt()
  246  */
  247 #define T_ATM_SIGNALING         0x5301  /* Option level */
  248 
  249 #define T_ATM_AAL5              1       /* ATM adaptation layer 5      */
  250 #define T_ATM_TRAFFIC           2       /* ATM traffic descriptor      */
  251 #define T_ATM_BEARER_CAP        3       /* ATM service capabilities    */
  252 #define T_ATM_BHLI              4       /* Higher-layer protocol       */
  253 #define T_ATM_BLLI              5       /* Lower-layer protocol        */
  254 #define T_ATM_DEST_ADDR         6       /* Call responder's address    */
  255 #define T_ATM_DEST_SUB          7       /* Call responder's subaddress */
  256 #define T_ATM_ORIG_ADDR         8       /* Call initiator's address    */
  257 #define T_ATM_ORIG_SUB          9       /* Call initiator's subaddress */
  258 #define T_ATM_CALLER_ID         10      /* Caller's ID attributes      */
  259 #define T_ATM_CAUSE             11      /* Cause of disconection       */
  260 #define T_ATM_QOS               12      /* Quality of service          */
  261 #define T_ATM_TRANSIT           13      /* Choice of public carrier    */
  262 #define T_ATM_ADD_LEAF          14      /* Add leaf to connection      */
  263 #define T_ATM_DROP_LEAF         15      /* Remove leaf from connection */
  264 #define T_ATM_LEAF_IND          16      /* Indication of leaf status   */
  265 #define T_ATM_NET_INTF          17      /* Network interface XNS_EXT   */
  266 #define T_ATM_LLC               18      /* LLC multiplexing XNS_EXT    */
  267 #define T_ATM_APP_NAME          19      /* Application name XNS_EXT    */
  268 
  269 
  270 /*
  271  * Common socket option values
  272  *
  273  * See API specification for individual option applicability/meaning
  274  */
  275 #define T_ATM_ABSENT            (-1)    /* No option value present */
  276 #define T_ATM_NULL              0       /* Option value is null */
  277 #define T_NO                    0       /* Option is not requested */
  278 #define T_YES                   1       /* Option is requested */
  279 
  280 
  281 /*
  282  * T_ATM_AAL5 option value structure
  283  */
  284 struct t_atm_aal5 {
  285         int32_t         forward_max_SDU_size;
  286         int32_t         backward_max_SDU_size;
  287         int32_t         SSCS_type;
  288 };
  289 
  290 /*
  291  * T_ATM_AAL5 option values
  292  */
  293                 /* SSCS_type */
  294 #define T_ATM_SSCS_SSCOP_REL    1       /* SSCOP assured operation */
  295 #define T_ATM_SSCS_SSCOP_UNREL  2       /* SSCOP non-assured operation */
  296 #define T_ATM_SSCS_FR           4       /* Frame relay */
  297 
  298 
  299 /*
  300  * T_ATM_TRAFFIC option value structure
  301  */
  302 struct t_atm_traffic_substruct {
  303         int32_t         PCR_high_priority;
  304         int32_t         PCR_all_traffic;
  305         int32_t         SCR_high_priority;
  306         int32_t         SCR_all_traffic;
  307         int32_t         MBS_high_priority;
  308         int32_t         MBS_all_traffic;
  309         int32_t         tagging;
  310 };
  311 
  312 struct t_atm_traffic {
  313         struct t_atm_traffic_substruct  forward;
  314         struct t_atm_traffic_substruct  backward;
  315         u_int8_t        best_effort;
  316 };
  317 
  318 
  319 /*
  320  * T_ATM_BEARER_CAP option value structure
  321  */
  322 struct t_atm_bearer {
  323         u_int8_t        bearer_class;
  324         u_int8_t        traffic_type;
  325         u_int8_t        timing_requirements;
  326         u_int8_t        clipping_susceptibility;
  327         u_int8_t        connection_configuration;
  328 };
  329 
  330 /*
  331  * T_ATM_BEARER_CAP option values
  332  */
  333                 /* bearer_class */
  334 #define T_ATM_CLASS_A           0x01    /* Bearer class A                 */
  335 #define T_ATM_CLASS_C           0x03    /* Bearer class C                 */
  336 #define T_ATM_CLASS_X           0x10    /* Bearer class X                 */
  337 
  338                 /* traffic_type */
  339 #define T_ATM_CBR               0x01    /* Constant bit rate              */
  340 #define T_ATM_VBR               0x02    /* Variable bit rate              */
  341 #define T_ATM_ABR               0x03    /* Available Bit Rate             */
  342 #define T_ATM_UBR               0x04    /* Unspecified bit rate           */
  343 
  344                 /* timing_requirements */
  345 #define T_ATM_END_TO_END        0x01    /* End-to-end timing required     */
  346 #define T_ATM_NO_END_TO_END     0x02    /* End-to-end timing not required */
  347 
  348                 /* connection_configuration */
  349 #define T_ATM_1_TO_1            0x00    /* Point-to-point connection      */
  350 #define T_ATM_1_TO_MANY         0x01    /* Point-to-multipoint connection */
  351 
  352 
  353 /*
  354  * T_ATM_BHLI option value structure
  355  */
  356 struct t_atm_bhli {
  357         int32_t         ID_type;
  358         union {
  359                 u_int8_t        ISO_ID[8];
  360                 struct {
  361                         u_int8_t        OUI[3];
  362                         u_int8_t        app_ID[4];
  363                 } vendor_ID;
  364                 u_int8_t        user_defined_ID[8];
  365         } ID;
  366 };
  367 
  368 /*
  369  * T_ATM_BHLI option values
  370  */
  371                 /* ID_type */
  372 #define T_ATM_ISO_APP_ID        0       /* ISO codepoint             */
  373 #define T_ATM_USER_APP_ID       1       /* User-specific codepoint   */
  374 #define T_ATM_VENDOR_APP_ID     3       /* Vendor-specific codepoint */
  375 
  376 /*
  377  * T_ATM_BLLI option value structure
  378  */
  379 struct t_atm_blli {
  380         struct {
  381                 int8_t          ID_type;
  382                 union {
  383                         u_int8_t        simple_ID;
  384                         u_int8_t        user_defined_ID;
  385                 } ID;
  386                 int8_t          mode;
  387                 int8_t          window_size;
  388         } layer_2_protocol;
  389         struct {
  390                 int8_t          ID_type;
  391                 union {
  392                         u_int8_t        simple_ID;
  393                         int32_t         IPI_ID;
  394                         struct {
  395                                 u_int8_t        OUI[3];
  396                                 u_int8_t        PID[2];
  397                         } SNAP_ID;
  398                         u_int8_t        user_defined_ID;
  399                 } ID;
  400                 int8_t          mode;
  401                 int8_t          packet_size;
  402                 int8_t          window_size;
  403         } layer_3_protocol;
  404 };
  405 
  406 
  407 /*
  408  * T_ATM_BLLI option values
  409  */
  410                 /* layer_[23]_protocol.ID_type */
  411 #define T_ATM_SIMPLE_ID         1       /* ID via ITU encoding    */
  412 #define T_ATM_IPI_ID            2       /* ID via ISO/IEC TR 9577 */
  413 #define T_ATM_SNAP_ID           3       /* ID via SNAP            */
  414 #define T_ATM_USER_ID           4       /* ID via user codepoints */
  415 
  416                 /* layer_[23]_protocol.mode */
  417 #define T_ATM_BLLI_NORMAL_MODE  1
  418 #define T_ATM_BLLI_EXTENDED_MODE        2
  419 
  420                 /* layer_2_protocol.simple_ID */
  421 #define T_ATM_BLLI2_I1745       1       /* I.1745           */
  422 #define T_ATM_BLLI2_Q921        2       /* Q.921            */
  423 #define T_ATM_BLLI2_X25_LINK    6       /* X.25, link layer */
  424 #define T_ATM_BLLI2_X25_MLINK   7       /* X.25, multilink  */
  425 #define T_ATM_BLLI2_LAPB        8       /* Extended LAPB    */
  426 #define T_ATM_BLLI2_HDLC_ARM    9       /* I.4335, ARM      */
  427 #define T_ATM_BLLI2_HDLC_NRM    10      /* I.4335, NRM      */
  428 #define T_ATM_BLLI2_HDLC_ABM    11      /* I.4335, ABM      */
  429 #define T_ATM_BLLI2_I8802       12      /* I.8802           */
  430 #define T_ATM_BLLI2_X75         13      /* X.75             */
  431 #define T_ATM_BLLI2_Q922        14      /* Q.922            */
  432 #define T_ATM_BLLI2_I7776       17      /* I.7776           */
  433 
  434                 /* layer_3_protocol.simple_ID */
  435 #define T_ATM_BLLI3_X25         6       /* X.25             */
  436 #define T_ATM_BLLI3_I8208       7       /* I.8208           */
  437 #define T_ATM_BLLI3_X223        8       /* X.223            */
  438 #define T_ATM_BLLI3_I8473       9       /* I.8473           */
  439 #define T_ATM_BLLI3_T70         10      /* T.70             */
  440 #define T_ATM_BLLI3_I9577       11      /* I.9577           */
  441 
  442                 /* layer_3_protocol.packet_size */
  443 #define T_ATM_PACKET_SIZE_16    4
  444 #define T_ATM_PACKET_SIZE_32    5
  445 #define T_ATM_PACKET_SIZE_64    6
  446 #define T_ATM_PACKET_SIZE_128   7
  447 #define T_ATM_PACKET_SIZE_256   8
  448 #define T_ATM_PACKET_SIZE_512   9
  449 #define T_ATM_PACKET_SIZE_1024  10
  450 #define T_ATM_PACKET_SIZE_2048  11
  451 #define T_ATM_PACKET_SIZE_4096  12
  452 
  453 
  454 /*
  455  * T_ATM_CALLER_ID option value structure
  456  */
  457 struct t_atm_caller_id {
  458         int8_t          presentation;
  459         u_int8_t        screening;
  460 };
  461 
  462 /*
  463  * T_ATM_CALLER_ID option values
  464  */
  465                 /* presentation */
  466 #define T_ATM_PRES_ALLOWED              0
  467 #define T_ATM_PRES_RESTRICTED           1
  468 #define T_ATM_PRES_UNAVAILABLE          2
  469                 /* screening */
  470 #define T_ATM_USER_ID_NOT_SCREENED      0
  471 #define T_ATM_USER_ID_PASSED_SCREEN     1
  472 #define T_ATM_USER_ID_FAILED_SCREEN     2
  473 #define T_ATM_NETWORK_PROVIDED_ID       3
  474 
  475 
  476 /*
  477  * T_ATM_CAUSE option value structure
  478  */
  479 struct t_atm_cause {
  480         int8_t          coding_standard;
  481         u_int8_t        location;
  482         u_int8_t        cause_value;
  483         u_int8_t        diagnostics[4];
  484 };
  485 
  486 /*
  487  * T_ATM_CAUSE option values
  488  */
  489                 /* coding_standard */
  490 #define T_ATM_ITU_CODING                0
  491 #define T_ATM_NETWORK_CODING            3
  492 
  493                 /* location */
  494 #define T_ATM_LOC_USER                  0
  495 #define T_ATM_LOC_LOCAL_PRIVATE_NET     1
  496 #define T_ATM_LOC_LOCAL_PUBLIC_NET      2
  497 #define T_ATM_LOC_TRANSIT_NET           3
  498 #define T_ATM_LOC_REMOTE_PUBLIC_NET     4
  499 #define T_ATM_LOC_REMOTE_PRIVATE_NET    5
  500 #define T_ATM_LOC_INTERNATIONAL_NET     7
  501 #define T_ATM_LOC_BEYOND_INTERWORKING   10
  502 
  503                 /* cause_value */
  504 #define T_ATM_CAUSE_UNALLOCATED_NUMBER                          1
  505 #define T_ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK                 2
  506 #define T_ATM_CAUSE_NO_ROUTE_TO_DESTINATION                     3
  507 #define T_ATM_CAUSE_NORMAL_CALL_CLEARING                        16
  508 #define T_ATM_CAUSE_USER_BUSY                                   17
  509 #define T_ATM_CAUSE_NO_USER_RESPONDING                          18
  510 #define T_ATM_CAUSE_CALL_REJECTED                               21
  511 #define T_ATM_CAUSE_NUMBER_CHANGED                              22
  512 #define T_ATM_CAUSE_ALL_CALLS_WITHOUT_CALLER_ID_REJECTED        23
  513 #define T_ATM_CAUSE_DESTINATION_OUT_OF_ORDER                    27
  514 #define T_ATM_CAUSE_INVALID_NUMBER_FORMAT                       28
  515 #define T_ATM_CAUSE_RESPONSE_TO_STATUS_ENQUIRY                  30
  516 #define T_ATM_CAUSE_UNSPECIFIED_NORMAL                          31
  517 #define T_ATM_CAUSE_REQUESTED_VPCI_VCI_NOT_AVAILABLE            35
  518 #define T_ATM_CAUSE_VPCI_VCI_ASSIGNMENT_FAILURE                 36
  519 #define T_ATM_CAUSE_USER_CELL_RATE_NOT_AVAILABLE                37
  520 #define T_ATM_CAUSE_NETWORK_OUT_OF_ORDER                        38
  521 #define T_ATM_CAUSE_TEMPORARY_FAILURE                           41
  522 #define T_ATM_CAUSE_ACCESS_INFO_DISCARDED                       43
  523 #define T_ATM_CAUSE_NO_VPCI_VCI_AVAILABLE                       45
  524 #define T_ATM_CAUSE_UNSPECIFIED_RESOURCE_UNAVAILABLE            47
  525 #define T_ATM_CAUSE_QUALITY_OF_SERVICE_UNAVAILABLE              49
  526 #define T_ATM_CAUSE_BEARER_CAPABILITY_NOT_AUTHORIZED            57
  527 #define T_ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE               58
  528 #define T_ATM_CAUSE_SERVICE_OR_OPTION_UNAVAILABLE               63
  529 #define T_ATM_CAUSE_BEARER_CAPABILITY_NOT_IMPLEMENTED           65
  530 #define T_ATM_CAUSE_INVALID_TRAFFIC_PARAMETERS                  73
  531 #define T_ATM_CAUSE_AAL_PARAMETERS_NOT_SUPPORTED                78
  532 #define T_ATM_CAUSE_INVALID_CALL_REFERENCE_VALUE                81
  533 #define T_ATM_CAUSE_IDENTIFIED_CHANNEL_DOES_NOT_EXIST           82
  534 #define T_ATM_CAUSE_INCOMPATIBLE_DESTINATION                    88
  535 #define T_ATM_CAUSE_INVALID_ENDPOINT_REFERENCE                  89
  536 #define T_ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION           91
  537 #define T_ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY_REQUESTS         92
  538 #define T_ATM_CAUSE_MANDITORY_INFO_ELEMENT_MISSING              96
  539 #define T_ATM_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED                97
  540 #define T_ATM_CAUSE_INFO_ELEMENT_NOT_IMPLEMENTED                99
  541 #define T_ATM_CAUSE_INVALID_INFO_ELEMENT_CONTENTS               100
  542 #define T_ATM_CAUSE_MESSAGE_INCOMPATIBLE_WITH_CALL_STATE        101
  543 #define T_ATM_CAUSE_RECOVERY_ON_TIMER_EXPIRY                    102
  544 #define T_ATM_CAUSE_INCORRECT_MESSAGE_LENGTH                    104
  545 #define T_ATM_CAUSE_UNSPECIFIED_PROTOCOL_ERROR                  111
  546 
  547 
  548 /*
  549  * T_ATM_QOS option value structure
  550  */
  551 struct t_atm_qos_substruct {
  552         int32_t         qos_class;
  553 };
  554 
  555 struct t_atm_qos {
  556         int8_t          coding_standard;
  557         struct t_atm_qos_substruct      forward;
  558         struct t_atm_qos_substruct      backward;
  559 };
  560 
  561 /*
  562  * T_ATM_QOS option values
  563  */
  564                 /* qos_class */
  565 #define T_ATM_QOS_CLASS_0       0
  566 #define T_ATM_QOS_CLASS_1       1
  567 #define T_ATM_QOS_CLASS_2       2
  568 #define T_ATM_QOS_CLASS_3       3
  569 #define T_ATM_QOS_CLASS_4       4
  570 
  571 
  572 /*
  573  * T_ATM_TRANSIT structure
  574  */
  575 #define T_ATM_MAX_NET_ID        4               /* XNS_EXT */
  576 struct t_atm_transit {
  577         u_int8_t        length;
  578         u_int8_t        network_id[T_ATM_MAX_NET_ID];
  579 };
  580 
  581 
  582 /*
  583  * T_ATM_ADD_LEAF option value structure
  584  */
  585 struct t_atm_add_leaf {
  586         int32_t         leaf_ID;
  587         struct t_atm_addr       leaf_address;
  588 };
  589 
  590 
  591 /*
  592  * T_ATM_DROP_LEAF option value structure
  593  */
  594 struct t_atm_drop_leaf {
  595         int32_t         leaf_ID;
  596         int32_t         reason;
  597 };
  598 
  599 /*
  600  * T_ATM_LEAF_IND option value structure
  601  */
  602 struct t_atm_leaf_ind {
  603         int32_t         status;
  604         int32_t         leaf_ID;
  605         int32_t         reason;
  606 };
  607 
  608 /*
  609  * T_ATM_LEAF_IND option values
  610  */
  611                 /* status */
  612 #define T_LEAF_NOCHANGE         0
  613 #define T_LEAF_CONNECTED        1
  614 #define T_LEAF_DISCONNECTED     2
  615 
  616 /*
  617  * T_ATM_NET_INTF option value structure        (XNS_EXT)
  618  */
  619 struct t_atm_net_intf {                         /* XNS_EXT */
  620         char            net_intf[IFNAMSIZ];
  621 };
  622 
  623 /*
  624  * T_ATM_LLC option value structure             (XNS_EXT)
  625  */
  626 #define T_ATM_LLC_MIN_LEN       3
  627 #define T_ATM_LLC_MAX_LEN       8
  628 
  629 struct t_atm_llc {                              /* XNS_EXT */
  630         u_int8_t        flags;                  /* LLC flags (see below) */
  631         u_int8_t        llc_len;                /* Length of LLC information */
  632         u_int8_t        llc_info[T_ATM_LLC_MAX_LEN];    /* LLC information */
  633 };
  634 
  635 /*
  636  * T_ATM_LLC option values
  637  */
  638                 /* flags */
  639 #define T_ATM_LLC_SHARING       0x01            /* LLC sharing allowed */
  640 
  641 /*
  642  * T_ATM_APP_NAME option value structure        (XNS_EXT)
  643  */
  644 #define T_ATM_APP_NAME_LEN      8
  645 struct t_atm_app_name {                         /* XNS_EXT */
  646         char            app_name[T_ATM_APP_NAME_LEN];
  647 };
  648 
  649 #endif  /* _NETATM_ATM_H */

Cache object: 2094529d4d13911349662d3cd588c346


[ 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.