111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_ATMSAP_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_ATMSAP_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/atmapi.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_NONE 0
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_ISO1745 0x01
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_Q291 0x02
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_X25_LL 0x06
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_X25_ML 0x07
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_LAPB 0x08
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_HDLC_ARM 0x09
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_HDLC_NRM 0x0a
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_HDLC_ABM 0x0b
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_ISO8802 0x0c
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_X75 0x0d
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_Q922 0x0e
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_USER 0x10
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L2_ISO7776 0x11
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_NONE 0
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_X25 0x06
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_ISO8208 0x07
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_X223 0x08
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_ISO8473 0x09
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_T70 0x0a
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_TR9577 0x0b
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_H310 0x0c
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_H321 0x0d
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_L3_USER 0x10
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_HL_NONE 0
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_HL_ISO 0x01
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_HL_USER 0x02
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_HL_HLP 0x03
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_HL_VENDOR 0x04
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_IMD_NONE 0
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_IMD_NORMAL 1
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_IMD_EXTENDED 2
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_TT_NONE 0
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_TT_RX 1
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_TT_TX 2
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_TT_RXTX 3
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MC_NONE 0
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MC_TS 1
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MC_TS_FEC 2
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MC_PS 3
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MC_PS_FEC 4
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MC_H221 5
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MAX_HLI 8
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct atm_blli {
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char l2_proto;
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union {
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char mode;
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char window;
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } itu;
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char user;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } l2;
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char l3_proto;
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union {
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char mode;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char def_size;
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char window;
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } itu;
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char user;
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char term_type;
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char fw_mpx_cap;
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char bw_mpx_cap;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } h310;
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipi;
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char snap[5];
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } tr9577;
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } l3;
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __ATM_API_ALIGN;
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct atm_bhli {
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char hl_type;
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char hl_length;
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char hl_info[ATM_MAX_HLI];
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATM_MAX_BLLI 3
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct atm_sap {
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct atm_bhli bhli;
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct atm_blli blli[ATM_MAX_BLLI] __ATM_API_ALIGN;
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
118