/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef _LINUX_ATMSAP_H
#define _LINUX_ATMSAP_H

#include <linux/atmapi.h>

#define ATM_L2_NONE 0
#define ATM_L2_ISO1745 0x01
#define ATM_L2_Q291 0x02
#define ATM_L2_X25_LL 0x06
#define ATM_L2_X25_ML 0x07
#define ATM_L2_LAPB 0x08
#define ATM_L2_HDLC_ARM 0x09
#define ATM_L2_HDLC_NRM 0x0a
#define ATM_L2_HDLC_ABM 0x0b
#define ATM_L2_ISO8802 0x0c
#define ATM_L2_X75 0x0d
#define ATM_L2_Q922 0x0e
#define ATM_L2_USER 0x10
#define ATM_L2_ISO7776 0x11

#define ATM_L3_NONE 0
#define ATM_L3_X25 0x06
#define ATM_L3_ISO8208 0x07
#define ATM_L3_X223 0x08
#define ATM_L3_ISO8473 0x09
#define ATM_L3_T70 0x0a
#define ATM_L3_TR9577 0x0b
#define ATM_L3_H310 0x0c
#define ATM_L3_H321 0x0d
#define ATM_L3_USER 0x10

#define ATM_HL_NONE 0
#define ATM_HL_ISO 0x01
#define ATM_HL_USER 0x02
#define ATM_HL_HLP 0x03
#define ATM_HL_VENDOR 0x04

#define ATM_IMD_NONE 0
#define ATM_IMD_NORMAL 1
#define ATM_IMD_EXTENDED 2

#define ATM_TT_NONE 0
#define ATM_TT_RX 1
#define ATM_TT_TX 2
#define ATM_TT_RXTX 3

#define ATM_MC_NONE 0
#define ATM_MC_TS 1
#define ATM_MC_TS_FEC 2
#define ATM_MC_PS 3
#define ATM_MC_PS_FEC 4
#define ATM_MC_H221 5

#define ATM_MAX_HLI 8

struct atm_blli {
 unsigned char l2_proto;
 union {
 struct {
 unsigned char mode;

 unsigned char window;
 } itu;
 unsigned char user;
 } l2;
 unsigned char l3_proto;
 union {
 struct {
 unsigned char mode;

 unsigned char def_size;

 unsigned char window;
 } itu;
 unsigned char user;
 struct {
 unsigned char term_type;
 unsigned char fw_mpx_cap;

 unsigned char bw_mpx_cap;

 } h310;
 struct {
 unsigned char ipi;
 unsigned char snap[5];

 } tr9577;
 } l3;
} __ATM_API_ALIGN;

struct atm_bhli {
 unsigned char hl_type;
 unsigned char hl_length;

 unsigned char hl_info[ATM_MAX_HLI];
};

#define ATM_MAX_BLLI 3

struct atm_sap {
 struct atm_bhli bhli;
 struct atm_blli blli[ATM_MAX_BLLI] __ATM_API_ALIGN;

};

#endif
