/****************************************************************************
 ****************************************************************************
 ***
 ***   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.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef _UAPI__ISDNIF_H__
#define _UAPI__ISDNIF_H__
#define ISDN_PTYPE_UNKNOWN 0
#define ISDN_PTYPE_1TR6 1
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ISDN_PTYPE_EURO 2
#define ISDN_PTYPE_LEASED 3
#define ISDN_PTYPE_NI1 4
#define ISDN_PTYPE_MAX 7
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ISDN_PROTO_L2_X75I 0
#define ISDN_PROTO_L2_X75UI 1
#define ISDN_PROTO_L2_X75BUI 2
#define ISDN_PROTO_L2_HDLC 3
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ISDN_PROTO_L2_TRANS 4
#define ISDN_PROTO_L2_X25DTE 5
#define ISDN_PROTO_L2_X25DCE 6
#define ISDN_PROTO_L2_V11096 7
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ISDN_PROTO_L2_V11019 8
#define ISDN_PROTO_L2_V11038 9
#define ISDN_PROTO_L2_MODEM 10
#define ISDN_PROTO_L2_FAX 11
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ISDN_PROTO_L2_HDLC_56K 12
#define ISDN_PROTO_L2_MAX 15
#define ISDN_PROTO_L3_TRANS 0
#define ISDN_PROTO_L3_TRANSDSP 1
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ISDN_PROTO_L3_FCLASS2 2
#define ISDN_PROTO_L3_FCLASS1 3
#define ISDN_PROTO_L3_MAX 7
#endif
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
