/****************************************************************************
 ****************************************************************************
 ***
 ***   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 _ASM_GENERIC_ERRNO_H
#define _ASM_GENERIC_ERRNO_H
#include <asm-generic/errno-base.h>
#define EDEADLK 35  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ENAMETOOLONG 36  
#define ENOLCK 37  
#define ENOSYS 38  
#define ENOTEMPTY 39  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ELOOP 40  
#define EWOULDBLOCK EAGAIN  
#define ENOMSG 42  
#define EIDRM 43  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ECHRNG 44  
#define EL2NSYNC 45  
#define EL3HLT 46  
#define EL3RST 47  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ELNRNG 48  
#define EUNATCH 49  
#define ENOCSI 50  
#define EL2HLT 51  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EBADE 52  
#define EBADR 53  
#define EXFULL 54  
#define ENOANO 55  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EBADRQC 56  
#define EBADSLT 57  
#define EDEADLOCK EDEADLK
#define EBFONT 59  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ENOSTR 60  
#define ENODATA 61  
#define ETIME 62  
#define ENOSR 63  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ENONET 64  
#define ENOPKG 65  
#define EREMOTE 66  
#define ENOLINK 67  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EADV 68  
#define ESRMNT 69  
#define ECOMM 70  
#define EPROTO 71  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EMULTIHOP 72  
#define EDOTDOT 73  
#define EBADMSG 74  
#define EOVERFLOW 75  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ENOTUNIQ 76  
#define EBADFD 77  
#define EREMCHG 78  
#define ELIBACC 79  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ELIBBAD 80  
#define ELIBSCN 81  
#define ELIBMAX 82  
#define ELIBEXEC 83  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EILSEQ 84  
#define ERESTART 85  
#define ESTRPIPE 86  
#define EUSERS 87  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ENOTSOCK 88  
#define EDESTADDRREQ 89  
#define EMSGSIZE 90  
#define EPROTOTYPE 91  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ENOPROTOOPT 92  
#define EPROTONOSUPPORT 93  
#define ESOCKTNOSUPPORT 94  
#define EOPNOTSUPP 95  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EPFNOSUPPORT 96  
#define EAFNOSUPPORT 97  
#define EADDRINUSE 98  
#define EADDRNOTAVAIL 99  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ENETDOWN 100  
#define ENETUNREACH 101  
#define ENETRESET 102  
#define ECONNABORTED 103  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ECONNRESET 104  
#define ENOBUFS 105  
#define EISCONN 106  
#define ENOTCONN 107  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ESHUTDOWN 108  
#define ETOOMANYREFS 109  
#define ETIMEDOUT 110  
#define ECONNREFUSED 111  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EHOSTDOWN 112  
#define EHOSTUNREACH 113  
#define EALREADY 114  
#define EINPROGRESS 115  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define ESTALE 116  
#define EUCLEAN 117  
#define ENOTNAM 118  
#define ENAVAIL 119  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EISNAM 120  
#define EREMOTEIO 121  
#define EDQUOT 122  
#define ENOMEDIUM 123  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EMEDIUMTYPE 124  
#define ECANCELED 125  
#define ENOKEY 126  
#define EKEYEXPIRED 127  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define EKEYREVOKED 128  
#define EKEYREJECTED 129  
#define EOWNERDEAD 130  
#define ENOTRECOVERABLE 131  
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#endif
