/****************************************************************************
 ****************************************************************************
 ***
 ***   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 _UAPISDLA_H
#define _UAPISDLA_H
#define SDLA_TYPES
#define SDLA_S502A 5020
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_S502E 5021
#define SDLA_S503 5030
#define SDLA_S507 5070
#define SDLA_S508 5080
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_S509 5090
#define SDLA_UNKNOWN -1
#define SDLA_S508_PORT_V35 0x00
#define SDLA_S508_PORT_RS232 0x02
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_CPU_3M 0x00
#define SDLA_CPU_5M 0x01
#define SDLA_CPU_7M 0x02
#define SDLA_CPU_8M 0x03
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_CPU_10M 0x04
#define SDLA_CPU_16M 0x05
#define SDLA_CPU_12M 0x06
#define SDLA_IDENTIFY (FRAD_LAST_IOCTL + 1)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_CPUSPEED (FRAD_LAST_IOCTL + 2)
#define SDLA_PROTOCOL (FRAD_LAST_IOCTL + 3)
#define SDLA_CLEARMEM (FRAD_LAST_IOCTL + 4)
#define SDLA_WRITEMEM (FRAD_LAST_IOCTL + 5)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_READMEM (FRAD_LAST_IOCTL + 6)
struct sdla_mem {
 int addr;
 int len;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 void __user *data;
};
#define SDLA_START (FRAD_LAST_IOCTL + 7)
#define SDLA_STOP (FRAD_LAST_IOCTL + 8)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_NMIADDR 0x0000
#define SDLA_CONF_ADDR 0x0010
#define SDLA_S502A_NMIADDR 0x0066
#define SDLA_CODE_BASEADDR 0x0100
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_WINDOW_SIZE 0x2000
#define SDLA_ADDR_MASK 0x1FFF
#define SDLA_MAX_DATA 4080
#define SDLA_MAX_MTU 4072
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SDLA_MAX_DLCI 24
struct sdla_conf {
 short station;
 short config;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 short kbaud;
 short clocking;
 short max_frm;
 short T391;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 short T392;
 short N391;
 short N392;
 short N393;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 short CIR_fwd;
 short Bc_fwd;
 short Be_fwd;
 short CIR_bwd;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 short Bc_bwd;
 short Be_bwd;
};
struct sdla_dlci_conf {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 short config;
 short CIR_fwd;
 short Bc_fwd;
 short Be_fwd;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 short CIR_bwd;
 short Bc_bwd;
 short Be_bwd;
 short Tc_fwd;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 short Tc_bwd;
 short Tf_max;
 short Tb_max;
};
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#endif
