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 #if (defined(BSD) && (BSD >= 199103))
  239         u_char          satm_len;       /* Length of socket structure */
  240         u_char          satm_family;    /* Address family */
  241 #else
  242         u_short         satm_family;    /* Address family */
  243 #endif
  244         struct t_atm_sap        satm_addr;      /* Protocol address */
  245 };
  246 
  247 
  248 /*
  249  * ATM socket options for use with [gs]etsockopt()
  250  */
  251 #define T_ATM_SIGNALING         0x5301  /* Option level */
  252 
  253 #define T_ATM_AAL5              1       /* ATM adaptation layer 5      */
  254 #define T_ATM_TRAFFIC           2       /* ATM traffic descriptor      */
  255 #define T_ATM_BEARER_CAP        3       /* ATM service capabilities    */
  256 #define T_ATM_BHLI              4       /* Higher-layer protocol       */
  257 #define T_ATM_BLLI              5       /* Lower-layer protocol        */
  258 #define T_ATM_DEST_ADDR         6       /* Call responder's address    */
  259 #define T_ATM_DEST_SUB          7       /* Call responder's subaddress */
  260 #define T_ATM_ORIG_ADDR         8       /* Call initiator's address    */
  261 #define T_ATM_ORIG_SUB          9       /* Call initiator's subaddress */
  262 #define T_ATM_CALLER_ID         10      /* Caller's ID attributes      */
  263 #define T_ATM_CAUSE             11      /* Cause of disconection       */
  264 #define T_ATM_QOS               12      /* Quality of service          */
  265 #define T_ATM_TRANSIT           13      /* Choice of public carrier    */
  266 #define T_ATM_ADD_LEAF          14      /* Add leaf to connection      */
  267 #define T_ATM_DROP_LEAF         15      /* Remove leaf from connection */
  268 #define T_ATM_LEAF_IND          16      /* Indication of leaf status   */
  269 #define T_ATM_NET_INTF          17      /* Network interface XNS_EXT   */
  270 #define T_ATM_LLC               18      /* LLC multiplexing XNS_EXT    */
  271 #define T_ATM_APP_NAME          19      /* Application name XNS_EXT    */
  272 
  273 
  274 /*
  275  * Common socket option values
  276  *
  277  * See API specification for individual option applicability/meaning
  278  */
  279 #define T_ATM_ABSENT            (-1)    /* No option value present */
  280 #define T_ATM_NULL              0       /* Option value is null */
  281 #define T_NO                    0       /* Option is not requested */
  282 #define T_YES                   1       /* Option is requested */
  283 
  284 
  285 /*
  286  * T_ATM_AAL5 option value structure
  287  */
  288 struct t_atm_aal5 {
  289         int32_t         forward_max_SDU_size;
  290         int32_t         backward_max_SDU_size;
  291         int32_t         SSCS_type;
  292 };
  293 
  294 /*
  295  * T_ATM_AAL5 option values
  296  */
  297                 /* SSCS_type */
  298 #define T_ATM_SSCS_SSCOP_REL    1       /* SSCOP assured operation */
  299 #define T_ATM_SSCS_SSCOP_UNREL  2       /* SSCOP non-assured operation */
  300 #define T_ATM_SSCS_FR           4       /* Frame relay */
  301 
  302 
  303 /*
  304  * T_ATM_TRAFFIC option value structure
  305  */
  306 struct t_atm_traffic_substruct {
  307         int32_t         PCR_high_priority;
  308         int32_t         PCR_all_traffic;
  309         int32_t         SCR_high_priority;
  310         int32_t         SCR_all_traffic;
  311         int32_t         MBS_high_priority;
  312         int32_t         MBS_all_traffic;
  313         int32_t         tagging;
  314 };
  315 
  316 struct t_atm_traffic {
  317         struct t_atm_traffic_substruct  forward;
  318         struct t_atm_traffic_substruct  backward;
  319         u_int8_t        best_effort;
  320 };
  321 
  322 
  323 /*
  324  * T_ATM_BEARER_CAP option value structure
  325  */
  326 struct t_atm_bearer {
  327         u_int8_t        bearer_class;
  328         u_int8_t        traffic_type;
  329         u_int8_t        timing_requirements;
  330         u_int8_t        clipping_susceptibility;
  331         u_int8_t        connection_configuration;
  332 };
  333 
  334 /*
  335  * T_ATM_BEARER_CAP option values
  336  */
  337                 /* bearer_class */
  338 #define T_ATM_CLASS_A           0x01    /* Bearer class A                 */
  339 #define T_ATM_CLASS_C           0x03    /* Bearer class C                 */
  340 #define T_ATM_CLASS_X           0x10    /* Bearer class X                 */
  341 
  342                 /* traffic_type */
  343 #define T_ATM_CBR               0x01    /* Constant bit rate              */
  344 #define T_ATM_VBR               0x02    /* Variable bit rate              */
  345 #define T_ATM_ABR               0x03    /* Available bit rate             */
  346 #define T_ATM_UBR               0x04    /* Unspecified bit rate           */
  347 
  348                 /* timing_requirements */
  349 #define T_ATM_END_TO_END        0x01    /* End-to-end timing required     */
  350 #define T_ATM_NO_END_TO_END     0x02    /* End-to-end timing not required */
  351 
  352                 /* connection_configuration */
  353 #define T_ATM_1_TO_1            0x00    /* Point-to-point connection      */
  354 #define T_ATM_1_TO_MANY         0x01    /* Point-to-multipoint connection */
  355 
  356 
  357 /*
  358  * T_ATM_BHLI option value structure
  359  */
  360 struct t_atm_bhli {
  361         int32_t         ID_type;
  362         union {
  363                 u_int8_t        ISO_ID[8];
  364                 struct {
  365                         u_int8_t        OUI[3];
  366                         u_int8_t        app_ID[4];
  367                 } vendor_ID;
  368                 u_int8_t        user_defined_ID[8];
  369         } ID;
  370 };
  371 
  372 /*
  373  * T_ATM_BHLI option values
  374  */
  375                 /* ID_type */
  376 #define T_ATM_ISO_APP_ID        0       /* ISO codepoint             */
  377 #define T_ATM_USER_APP_ID       1       /* User-specific codepoint   */
  378 #define T_ATM_VENDOR_APP_ID     3       /* Vendor-specific codepoint */
  379 
  380 /*
  381  * T_ATM_BLLI option value structure
  382  */
  383 struct t_atm_blli {
  384         struct {
  385                 int8_t          ID_type;
  386                 union {
  387                         u_int8_t        simple_ID;
  388                         u_int8_t        user_defined_ID;
  389                 } ID;
  390                 int8_t          mode;
  391                 int8_t          window_size;
  392         } layer_2_protocol;
  393         struct {
  394                 int8_t          ID_type;
  395                 union {
  396                         u_int8_t        simple_ID;
  397                         int32_t         IPI_ID;
  398                         struct {
  399                                 u_int8_t        OUI[3];
  400                                 u_int8_t        PID[2];
  401                         } SNAP_ID;
  402                         u_int8_t        user_defined_ID;
  403                 } ID;
  404                 int8_t          mode;
  405                 int8_t          packet_size;
  406                 int8_t          window_size;
  407         } layer_3_protocol;
  408 };
  409 
  410 
  411 /*
  412  * T_ATM_BLLI option values
  413  */
  414                 /* layer_[23]_protocol.ID_type */
  415 #define T_ATM_SIMPLE_ID         1       /* ID via ITU encoding    */
  416 #define T_ATM_IPI_ID            2       /* ID via ISO/IEC TR 9577 */
  417 #define T_ATM_SNAP_ID           3       /* ID via SNAP            */
  418 #define T_ATM_USER_ID           4       /* ID via user codepoints */
  419 
  420                 /* layer_[23]_protocol.mode */
  421 #define T_ATM_BLLI_NORMAL_MODE  1
  422 #define T_ATM_BLLI_EXTENDED_MODE        2
  423 
  424                 /* layer_2_protocol.simple_ID */
  425 #define T_ATM_BLLI2_I1745       1       /* I.1745           */
  426 #define T_ATM_BLLI2_Q921        2       /* Q.921            */
  427 #define T_ATM_BLLI2_X25_LINK    6       /* X.25, link layer */
  428 #define T_ATM_BLLI2_X25_MLINK   7       /* X.25, multilink  */
  429 #define T_ATM_BLLI2_LAPB        8       /* Extended LAPB    */
  430 #define T_ATM_BLLI2_HDLC_ARM    9       /* I.4335, ARM      */
  431 #define T_ATM_BLLI2_HDLC_NRM    10      /* I.4335, NRM      */
  432 #define T_ATM_BLLI2_HDLC_ABM    11      /* I.4335, ABM      */
  433 #define T_ATM_BLLI2_I8802       12      /* I.8802           */
  434 #define T_ATM_BLLI2_X75         13      /* X.75             */
  435 #define T_ATM_BLLI2_Q922        14      /* Q.922            */
  436 #define T_ATM_BLLI2_I7776       17      /* I.7776           */
  437 
  438                 /* layer_3_protocol.simple_ID */
  439 #define T_ATM_BLLI3_X25         6       /* X.25             */
  440 #define T_ATM_BLLI3_I8208       7       /* I.8208           */
  441 #define T_ATM_BLLI3_X223        8       /* X.223            */
  442 #define T_ATM_BLLI3_I8473       9       /* I.8473           */
  443 #define T_ATM_BLLI3_T70         10      /* T.70             */
  444 #define T_ATM_BLLI3_I9577       11      /* I.9577           */
  445 
  446                 /* layer_3_protocol.packet_size */
  447 #define T_ATM_PACKET_SIZE_16    4
  448 #define T_ATM_PACKET_SIZE_32    5
  449 #define T_ATM_PACKET_SIZE_64    6
  450 #define T_ATM_PACKET_SIZE_128   7
  451 #define T_ATM_PACKET_SIZE_256   8
  452 #define T_ATM_PACKET_SIZE_512   9
  453 #define T_ATM_PACKET_SIZE_1024  10
  454 #define T_ATM_PACKET_SIZE_2048  11
  455 #define T_ATM_PACKET_SIZE_4096  12
  456 
  457 
  458 /*
  459  * T_ATM_CALLER_ID option value structure
  460  */
  461 struct t_atm_caller_id {
  462         int8_t          presentation;
  463         u_int8_t        screening;
  464 };
  465 
  466 /*
  467  * T_ATM_CALLER_ID option values
  468  */
  469                 /* presentation */
  470 #define T_ATM_PRES_ALLOWED              0
  471 #define T_ATM_PRES_RESTRICTED           1
  472 #define T_ATM_PRES_UNAVAILABLE          2
  473                 /* screening */
  474 #define T_ATM_USER_ID_NOT_SCREENED      0
  475 #define T_ATM_USER_ID_PASSED_SCREEN     1
  476 #define T_ATM_USER_ID_FAILED_SCREEN     2
  477 #define T_ATM_NETWORK_PROVIDED_ID       3
  478 
  479 
  480 /*
  481  * T_ATM_CAUSE option value structure
  482  */
  483 struct t_atm_cause {
  484         int8_t          coding_standard;
  485         u_int8_t        location;
  486         u_int8_t        cause_value;
  487         u_int8_t        diagnostics[4];
  488 };
  489 
  490 /*
  491  * T_ATM_CAUSE option values
  492  */
  493                 /* coding_standard */
  494 #define T_ATM_ITU_CODING                0
  495 #define T_ATM_NETWORK_CODING            3
  496 
  497                 /* location */
  498 #define T_ATM_LOC_USER                  0
  499 #define T_ATM_LOC_LOCAL_PRIVATE_NET     1
  500 #define T_ATM_LOC_LOCAL_PUBLIC_NET      2
  501 #define T_ATM_LOC_TRANSIT_NET           3
  502 #define T_ATM_LOC_REMOTE_PUBLIC_NET     4
  503 #define T_ATM_LOC_REMOTE_PRIVATE_NET    5
  504 #define T_ATM_LOC_INTERNATIONAL_NET     7
  505 #define T_ATM_LOC_BEYOND_INTERWORKING   10
  506 
  507                 /* cause_value */
  508 #define T_ATM_CAUSE_UNALLOCATED_NUMBER                          1
  509 #define T_ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK                 2
  510 #define T_ATM_CAUSE_NO_ROUTE_TO_DESTINATION                     3
  511 #define T_ATM_CAUSE_NORMAL_CALL_CLEARING                        16
  512 #define T_ATM_CAUSE_USER_BUSY                                   17
  513 #define T_ATM_CAUSE_NO_USER_RESPONDING                          18
  514 #define T_ATM_CAUSE_CALL_REJECTED                               21
  515 #define T_ATM_CAUSE_NUMBER_CHANGED                              22
  516 #define T_ATM_CAUSE_ALL_CALLS_WITHOUT_CALLER_ID_REJECTED        23
  517 #define T_ATM_CAUSE_DESTINATION_OUT_OF_ORDER                    27
  518 #define T_ATM_CAUSE_INVALID_NUMBER_FORMAT                       28
  519 #define T_ATM_CAUSE_RESPONSE_TO_STATUS_ENQUIRY                  30
  520 #define T_ATM_CAUSE_UNSPECIFIED_NORMAL                          31
  521 #define T_ATM_CAUSE_REQUESTED_VPCI_VCI_NOT_AVAILABLE            35
  522 #define T_ATM_CAUSE_VPCI_VCI_ASSIGNMENT_FAILURE                 36
  523 #define T_ATM_CAUSE_USER_CELL_RATE_NOT_AVAILABLE                37
  524 #define T_ATM_CAUSE_NETWORK_OUT_OF_ORDER                        38
  525 #define T_ATM_CAUSE_TEMPORARY_FAILURE                           41
  526 #define T_ATM_CAUSE_ACCESS_INFO_DISCARDED                       43
  527 #define T_ATM_CAUSE_NO_VPCI_VCI_AVAILABLE                       45
  528 #define T_ATM_CAUSE_UNSPECIFIED_RESOURCE_UNAVAILABLE            47
  529 #define T_ATM_CAUSE_QUALITY_OF_SERVICE_UNAVAILABLE              49
  530 #define T_ATM_CAUSE_BEARER_CAPABILITY_NOT_AUTHORIZED            57
  531 #define T_ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE               58
  532 #define T_ATM_CAUSE_SERVICE_OR_OPTION_UNAVAILABLE               63
  533 #define T_ATM_CAUSE_BEARER_CAPABILITY_NOT_IMPLEMENTED           65
  534 #define T_ATM_CAUSE_INVALID_TRAFFIC_PARAMETERS                  73
  535 #define T_ATM_CAUSE_AAL_PARAMETERS_NOT_SUPPORTED                78
  536 #define T_ATM_CAUSE_INVALID_CALL_REFERENCE_VALUE                81
  537 #define T_ATM_CAUSE_IDENTIFIED_CHANNEL_DOES_NOT_EXIST           82
  538 #define T_ATM_CAUSE_INCOMPATIBLE_DESTINATION                    88
  539 #define T_ATM_CAUSE_INVALID_ENDPOINT_REFERENCE                  89
  540 #define T_ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION           91
  541 #define T_ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY_REQUESTS         92
  542 #define T_ATM_CAUSE_MANDITORY_INFO_ELEMENT_MISSING              96
  543 #define T_ATM_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED                97
  544 #define T_ATM_CAUSE_INFO_ELEMENT_NOT_IMPLEMENTED                99
  545 #define T_ATM_CAUSE_INVALID_INFO_ELEMENT_CONTENTS               100
  546 #define T_ATM_CAUSE_MESSAGE_INCOMPATIBLE_WITH_CALL_STATE        101
  547 #define T_ATM_CAUSE_RECOVERY_ON_TIMER_EXPIRY                    102
  548 #define T_ATM_CAUSE_INCORRECT_MESSAGE_LENGTH                    104
  549 #define T_ATM_CAUSE_UNSPECIFIED_PROTOCOL_ERROR                  111
  550 
  551 
  552 /*
  553  * T_ATM_QOS option value structure
  554  */
  555 struct t_atm_qos_substruct {
  556         int32_t         qos_class;
  557 };
  558 
  559 struct t_atm_qos {
  560         int8_t          coding_standard;
  561         struct t_atm_qos_substruct      forward;
  562         struct t_atm_qos_substruct      backward;
  563 };
  564 
  565 /*
  566  * T_ATM_QOS option values
  567  */
  568                 /* qos_class */
  569 #define T_ATM_QOS_CLASS_0       0
  570 #define T_ATM_QOS_CLASS_1       1
  571 #define T_ATM_QOS_CLASS_2       2
  572 #define T_ATM_QOS_CLASS_3       3
  573 #define T_ATM_QOS_CLASS_4       4
  574 
  575 
  576 /*
  577  * T_ATM_TRANSIT structure
  578  */
  579 #define T_ATM_MAX_NET_ID        4               /* XNS_EXT */
  580 struct t_atm_transit {
  581         u_int8_t        length;
  582         u_int8_t        network_id[T_ATM_MAX_NET_ID];
  583 };
  584 
  585 
  586 /*
  587  * T_ATM_ADD_LEAF option value structure
  588  */
  589 struct t_atm_add_leaf {
  590         int32_t         leaf_ID;
  591         struct t_atm_addr       leaf_address;
  592 };
  593 
  594 
  595 /*
  596  * T_ATM_DROP_LEAF option value structure
  597  */
  598 struct t_atm_drop_leaf {
  599         int32_t         leaf_ID;
  600         int32_t         reason;
  601 };
  602 
  603 /*
  604  * T_ATM_LEAF_IND option value structure
  605  */
  606 struct t_atm_leaf_ind {
  607         int32_t         status;
  608         int32_t         leaf_ID;
  609         int32_t         reason;
  610 };
  611 
  612 /*
  613  * T_ATM_LEAF_IND option values
  614  */
  615                 /* status */
  616 #define T_LEAF_NOCHANGE         0
  617 #define T_LEAF_CONNECTED        1
  618 #define T_LEAF_DISCONNECTED     2
  619 
  620 /*
  621  * T_ATM_NET_INTF option value structure        (XNS_EXT)
  622  */
  623 struct t_atm_net_intf {                         /* XNS_EXT */
  624         char            net_intf[IFNAMSIZ];
  625 };
  626 
  627 /*
  628  * T_ATM_LLC option value structure             (XNS_EXT)
  629  */
  630 #define T_ATM_LLC_MIN_LEN       3
  631 #define T_ATM_LLC_MAX_LEN       8
  632 
  633 struct t_atm_llc {                              /* XNS_EXT */
  634         u_int8_t        flags;                  /* LLC flags (see below) */
  635         u_int8_t        llc_len;                /* Length of LLC information */
  636         u_int8_t        llc_info[T_ATM_LLC_MAX_LEN];    /* LLC information */
  637 };
  638 
  639 /*
  640  * T_ATM_LLC option values
  641  */
  642                 /* flags */
  643 #define T_ATM_LLC_SHARING       0x01            /* LLC sharing allowed */
  644 
  645 /*
  646  * T_ATM_APP_NAME option value structure        (XNS_EXT)
  647  */
  648 #define T_ATM_APP_NAME_LEN      8
  649 struct t_atm_app_name {                         /* XNS_EXT */
  650         char            app_name[T_ATM_APP_NAME_LEN];
  651 };
  652 
  653 #endif  /* _NETATM_ATM_H */

Cache object: d2fe26d361e637c0f446fe9a12a8acc5


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